ad7f314e3e25e02ef1ccff63fa28ad08.json 24 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js!D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\product\\productAttr\\addAttr.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\product\\productAttr\\addAttr.vue","mtime":1761614939049},{"path":"D:\\front\\item\\zyAdmin\\babel.config.js","mtime":1761614925168},{"path":"D:\\front\\item\\zyAdmin\\.babelrc","mtime":1761614925165},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnJlZHVjZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNwbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IucmVkdWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSAndnVleCc7CmltcG9ydCB7IHJ1bGVBZGRBcGksIHJ1bGVJbmZvQXBpIH0gZnJvbSAnQC9hcGkvcHJvZHVjdCc7CmltcG9ydCB2dWVkcmFnZ2FibGUgZnJvbSAndnVlZHJhZ2dhYmxlJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdhZGRBdHRyJywKICBjb21wb25lbnRzOiB7CiAgICBkcmFnZ2FibGU6IHZ1ZWRyYWdnYWJsZQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHNwaW5TaG93OiBmYWxzZSwKICAgICAgbW9kYWxfbG9hZGluZzogZmFsc2UsCiAgICAgIGdyaWQ6IHsKICAgICAgICB4bDogMywKICAgICAgICBsZzogMywKICAgICAgICBtZDogMTIsCiAgICAgICAgc206IDI0LAogICAgICAgIHhzOiAyNAogICAgICB9LAogICAgICBtb2RhbDogZmFsc2UsCiAgICAgIGluZGV4OiAxLAogICAgICBydWxlczogewogICAgICAgIHJ1bGVfbmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeinhOagvOWQjeensCcsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XQogICAgICB9LAogICAgICBmb3JtRHluYW1pYzogewogICAgICAgIHJ1bGVfbmFtZTogJycsCiAgICAgICAgc3BlYzogW10KICAgICAgfSwKICAgICAgYXR0cnNOYW1lOiAnJywKICAgICAgYXR0cnNWYWw6ICcnLAogICAgICBmb3JtRHluYW1pY05hbWVEYXRhOiBbXSwKICAgICAgaXNCdG46IGZhbHNlLAogICAgICBmb3JtRHluYW1pY05hbWU6IFtdLAogICAgICByZXN1bHRzOiBbXSwKICAgICAgcmVzdWx0OiBbXSwKICAgICAgaWRzOiAwCiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHt9LAogIG1ldGhvZHM6IHsKICAgIGhhbmRsZVNob3dQb3A6IGZ1bmN0aW9uIGhhbmRsZVNob3dQb3AoaW5kZXgpIHsKICAgICAgdGhpcy4kcmVmc1snaW5wdXRSZWZfJyArIGluZGV4XVswXS5mb2N1cygpOwogICAgfSwKICAgIC8vIOWIoOmZpOinhOagvAogICAgaGFuZGxlUmVtb3ZlUm9sZTogZnVuY3Rpb24gaGFuZGxlUmVtb3ZlUm9sZShpbmRleCkgewogICAgICB0aGlzLmZvcm1EeW5hbWljLnNwZWMuc3BsaWNlKGluZGV4LCAxKTsKICAgICAgaWYgKCF0aGlzLmZvcm1EeW5hbWljLnNwZWMubGVuZ3RoKSB7CiAgICAgICAgdGhpcy5mb3JtRHluYW1pYy5zcGVjID0gW107CiAgICAgIH0KICAgIH0sCiAgICBoYW5kbGVBZGRSb2xlOiBmdW5jdGlvbiBoYW5kbGVBZGRSb2xlKCkgewogICAgICB2YXIgZGF0YSA9IHsKICAgICAgICB2YWx1ZTogdGhpcy5mb3JtRHluYW1pYy5hdHRyc05hbWUsCiAgICAgICAgZGV0YWlsOiBbXQogICAgICB9OwogICAgICB0aGlzLmZvcm1EeW5hbWljLnNwZWMucHVzaChkYXRhKTsKICAgIH0sCiAgICBvbkNhbmNlbDogZnVuY3Rpb24gb25DYW5jZWwoKSB7CiAgICAgIHRoaXMuaWRzID0gMDsKICAgICAgdGhpcy5jbGVhcigpOwogICAgfSwKICAgIG9uQ2xvc2U6IGZ1bmN0aW9uIG9uQ2xvc2UoKSB7CiAgICAgIHRoaXMuaWRzID0gMDsKICAgICAgdGhpcy5jbGVhcigpOwogICAgICB0aGlzLm1vZGFsID0gZmFsc2U7CiAgICB9LAogICAgLy8g5re75Yqg5oyJ6ZKuCiAgICBhZGRCdG46IGZ1bmN0aW9uIGFkZEJ0bigpIHsKICAgICAgdGhpcy5pc0J0biA9IHRydWU7CiAgICB9LAogICAgLy8g6K+m5oOFCiAgICBnZXRJb2ZvOiBmdW5jdGlvbiBnZXRJb2ZvKHJvdykgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICB0aGlzLnNwaW5TaG93ID0gdHJ1ZTsKICAgICAgdGhpcy5pZHMgPSByb3cuaWQ7CiAgICAgIHJ1bGVJbmZvQXBpKHJvdy5pZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMuZm9ybUR5bmFtaWMgPSByZXMuZGF0YS5pbmZvOwogICAgICAgIF90aGlzLnNwaW5TaG93ID0gZmFsc2U7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpcy5zcGluU2hvdyA9IGZhbHNlOwogICAgICAgIF90aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDmj5DkuqQKICAgIGhhbmRsZVN1Ym1pdDogZnVuY3Rpb24gaGFuZGxlU3VibWl0KG5hbWUpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnNbbmFtZV0udmFsaWRhdGUoZnVuY3Rpb24gKHZhbGlkKSB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICBpZiAoX3RoaXMyLmZvcm1EeW5hbWljLnNwZWMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgIHJldHVybiBfdGhpczIuJG1lc3NhZ2Uud2FybmluZygn6K+36Iez5bCR5re75Yqg5LiA5p2h5ZWG5ZOB6KeE5qC877yBJyk7CiAgICAgICAgICB9CiAgICAgICAgICBfdGhpczIubW9kYWxfbG9hZGluZyA9IHRydWU7CiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcnVsZUFkZEFwaShfdGhpczIuZm9ybUR5bmFtaWMsIF90aGlzMi5pZHMpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgIF90aGlzMi4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOwogICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgX3RoaXMyLm1vZGFsID0gZmFsc2U7CiAgICAgICAgICAgICAgICBfdGhpczIubW9kYWxfbG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICAgIH0sIDUwMCk7CiAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBfdGhpczIuJGVtaXQoJ2dldExpc3QnKTsKICAgICAgICAgICAgICAgIF90aGlzMi5jbGVhcigpOwogICAgICAgICAgICAgIH0sIDYwMCk7CiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgICBfdGhpczIubW9kYWxfbG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICAgIF90aGlzMi4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9LCAxMjAwKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgY2xlYXI6IGZ1bmN0aW9uIGNsZWFyKCkgewogICAgICB0aGlzLiRyZWZzWydmb3JtRHluYW1pYyddLnJlc2V0RmllbGRzKCk7CiAgICAgIHRoaXMuZm9ybUR5bmFtaWMuc3BlYyA9IFtdOwogICAgICB0aGlzLmlzQnRuID0gZmFsc2U7CiAgICAgIHRoaXMuYXR0cnNOYW1lID0gJyc7CiAgICAgIHRoaXMuYXR0cnNWYWwgPSAnJzsKICAgICAgdGhpcy5pZHMgPSAwOwogICAgfSwKICAgIC8vIOWPlua2iAogICAgb2ZmQXR0ck5hbWU6IGZ1bmN0aW9uIG9mZkF0dHJOYW1lKCkgewogICAgICB0aGlzLmlzQnRuID0gZmFsc2U7CiAgICB9LAogICAgLy8g5Yig6ZmkCiAgICBoYW5kbGVSZW1vdmU6IGZ1bmN0aW9uIGhhbmRsZVJlbW92ZShpbmRleCkgewogICAgICB0aGlzLmZvcm1EeW5hbWljLnNwZWMuc3BsaWNlKGluZGV4LCAxKTsKICAgIH0sCiAgICAvLyDliKDpmaTlsZ7mgKcKICAgIGhhbmRsZVJlbW92ZTI6IGZ1bmN0aW9uIGhhbmRsZVJlbW92ZTIoaXRlbSwgaW5kZXgpIHsKICAgICAgaXRlbS5zcGxpY2UoaW5kZXgsIDEpOwogICAgfSwKICAgIC8vIOa3u+WKoOinhOWImeWQjeensAogICAgY3JlYXRlQXR0ck5hbWU6IGZ1bmN0aW9uIGNyZWF0ZUF0dHJOYW1lKCkgewogICAgICBpZiAodGhpcy5hdHRyc05hbWUgJiYgdGhpcy5hdHRyc1ZhbCkgewogICAgICAgIHZhciBkYXRhID0gewogICAgICAgICAgdmFsdWU6IHRoaXMuYXR0cnNOYW1lLAogICAgICAgICAgZGV0YWlsOiBbdGhpcy5hdHRyc1ZhbF0KICAgICAgICB9OwogICAgICAgIHRoaXMuZm9ybUR5bmFtaWMuc3BlYy5wdXNoKGRhdGEpOwogICAgICAgIHZhciBoYXNoID0ge307CiAgICAgICAgdGhpcy5mb3JtRHluYW1pYy5zcGVjID0gdGhpcy5mb3JtRHluYW1pYy5zcGVjLnJlZHVjZShmdW5jdGlvbiAoaXRlbSwgbmV4dCkgewogICAgICAgICAgLyogZXNsaW50LWRpc2FibGUgKi8KICAgICAgICAgIGhhc2hbbmV4dC52YWx1ZV0gPyAnJyA6IGhhc2hbbmV4dC52YWx1ZV0gPSB0cnVlICYmIGl0ZW0ucHVzaChuZXh0KTsKICAgICAgICAgIHJldHVybiBpdGVtOwogICAgICAgIH0sIFtdKTsKICAgICAgICB0aGlzLmF0dHJzTmFtZSA9ICcnOwogICAgICAgIHRoaXMuYXR0cnNWYWwgPSAnJzsKICAgICAgICB0aGlzLmlzQnRuID0gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fmt7vliqDop4TmoLzlkI3np7DmiJbop4TmoLzlgLwnKTsKICAgICAgfQogICAgfSwKICAgIC8vIOa3u+WKoOWxnuaApwogICAgY3JlYXRlQXR0cjogZnVuY3Rpb24gY3JlYXRlQXR0cihudW0sIGlkeCkgewogICAgICBpZiAobnVtKSB7CiAgICAgICAgdGhpcy5mb3JtRHluYW1pYy5zcGVjW2lkeF0uZGV0YWlsLnB1c2gobnVtKTsKICAgICAgICB2YXIgaGFzaCA9IHt9OwogICAgICAgIHRoaXMuZm9ybUR5bmFtaWMuc3BlY1tpZHhdLmRldGFpbCA9IHRoaXMuZm9ybUR5bmFtaWMuc3BlY1tpZHhdLmRldGFpbC5yZWR1Y2UoZnVuY3Rpb24gKGl0ZW0sIG5leHQpIHsKICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovCiAgICAgICAgICBoYXNoW25leHRdID8gJycgOiBoYXNoW25leHRdID0gdHJ1ZSAmJiBpdGVtLnB1c2gobmV4dCk7CiAgICAgICAgICByZXR1cm4gaXRlbTsKICAgICAgICB9LCBbXSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fmt7vliqDlsZ7mgKcnKTsKICAgICAgfQogICAgfQogIH0KfTs="},{"version":3,"names":["mapState","ruleAddApi","ruleInfoApi","vuedraggable","name","components","draggable","data","spinShow","modal_loading","grid","xl","lg","md","sm","xs","modal","index","rules","rule_name","required","message","trigger","formDynamic","spec","attrsName","attrsVal","formDynamicNameData","isBtn","formDynamicName","results","result","ids","computed","methods","handleShowPop","$refs","focus","handleRemoveRole","splice","length","handleAddRole","value","detail","push","onCancel","clear","onClose","addBtn","getIofo","row","_this","id","then","res","info","catch","$message","error","msg","handleSubmit","_this2","validate","valid","warning","setTimeout","success","$emit","resetFields","offAttrName","handleRemove","handleRemove2","item","createAttrName","hash","reduce","next","createAttr","num","idx"],"sources":["src/pages/product/productAttr/addAttr.vue"],"sourcesContent":["<template>\r\n <el-dialog :visible.sync=\"modal\" @closed=\"onCancel\" title=\"商品规格\" width=\"1000px\" v-loading=\"spinShow\">\r\n <el-form\r\n ref=\"formDynamic\"\r\n :model=\"formDynamic\"\r\n :rules=\"rules\"\r\n class=\"attrFrom\"\r\n label-width=\"120px\"\r\n label-position=\"right\"\r\n @submit.native.prevent\r\n >\r\n <el-row :gutter=\"24\">\r\n <el-col :span=\"24\">\r\n <el-col :span=\"8\">\r\n <el-form-item label=\"规格模板名称:\" prop=\"rule_name\">\r\n <el-input placeholder=\"请输入标题名称\" :maxlength=\"20\" v-model.trim=\"formDynamic.rule_name\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-col>\r\n <el-col :span=\"23\" class=\"noForm\" :key=\"index\">\r\n <el-form-item label=\"\">\r\n <div class=\"specifications\">\r\n <draggable group=\"specifications\" :list=\"formDynamic.spec\" handle=\".move-icon\" animation=\"300\">\r\n <div class=\"specifications-item active\" v-for=\"(item, index) in formDynamic.spec\" :key=\"index\">\r\n <div class=\"move-icon\">\r\n <span class=\"iconfont icondrag2\"></span>\r\n </div>\r\n <i class=\"del el-icon-error\" @click=\"handleRemoveRole(index)\"></i>\r\n <div class=\"specifications-item-box\">\r\n <div class=\"lineBox\"></div>\r\n <div class=\"specifications-item-name mb18\">\r\n <el-input\r\n v-model=\"item.value\"\r\n placeholder=\"规格名称\"\r\n class=\"specifications-item-name-input\"\r\n maxlength=\"30\"\r\n show-word-limit\r\n ></el-input>\r\n </div>\r\n <div class=\"rulesBox ml30\">\r\n <draggable class=\"item\" :list=\"item.detail\" handle=\".drag\">\r\n <div v-for=\"(j, indexn) in item.detail\" :key=\"indexn\" class=\"mr10 spec drag\">\r\n <i class=\"el-icon-error\" @click=\"handleRemove2(item.detail, indexn)\"></i>\r\n\r\n <el-input\r\n style=\"width: 120px\"\r\n v-model=\"item.detail[indexn]\"\r\n placeholder=\"规格值\"\r\n maxlength=\"30\"\r\n >\r\n <template slot=\"prefix\">\r\n <span class=\"iconfont icondrag2\"></span>\r\n </template>\r\n </el-input>\r\n </div>\r\n <el-popover\r\n :ref=\"'popoverRef_' + index\"\r\n placement=\"\"\r\n width=\"210\"\r\n trigger=\"click\"\r\n @after-enter=\"handleShowPop(index)\"\r\n >\r\n <el-input\r\n :ref=\"'inputRef_' + index\"\r\n placeholder=\"请输入规格值\"\r\n v-model=\"item.detail.attrsVal\"\r\n @keyup.enter.native=\"createAttr(item.detail.attrsVal, index)\"\r\n @blur=\"createAttr(item.detail.attrsVal, index)\"\r\n maxlength=\"30\"\r\n show-word-limit\r\n >\r\n </el-input>\r\n <div class=\"addfont\" slot=\"reference\" type=\"text\" v-db-click>添加规格值</div>\r\n </el-popover>\r\n </draggable>\r\n </div>\r\n </div>\r\n </div>\r\n </draggable>\r\n <el-button v-if=\"formDynamic.spec.length < 4\" v-db-click @click=\"handleAddRole()\">添加新规格</el-button>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <span slot=\"footer\" class=\"dialog-footer\">\r\n <el-button v-db-click @click=\"onClose\">取消</el-button>\r\n <el-button type=\"primary\" :loading=\"modal_loading\" v-db-click @click=\"handleSubmit('formDynamic')\"\r\n >确定</el-button\r\n >\r\n </span>\r\n </el-dialog>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport { ruleAddApi, ruleInfoApi } from '@/api/product';\r\nimport vuedraggable from 'vuedraggable';\r\nexport default {\r\n name: 'addAttr',\r\n components: {\r\n draggable: vuedraggable,\r\n },\r\n data() {\r\n return {\r\n spinShow: false,\r\n modal_loading: false,\r\n grid: {\r\n xl: 3,\r\n lg: 3,\r\n md: 12,\r\n sm: 24,\r\n xs: 24,\r\n },\r\n modal: false,\r\n index: 1,\r\n rules: {\r\n rule_name: [{ required: true, message: '请输入规格名称', trigger: 'blur' }],\r\n },\r\n formDynamic: {\r\n rule_name: '',\r\n spec: [],\r\n },\r\n attrsName: '',\r\n attrsVal: '',\r\n formDynamicNameData: [],\r\n isBtn: false,\r\n formDynamicName: [],\r\n results: [],\r\n result: [],\r\n ids: 0,\r\n };\r\n },\r\n computed: {},\r\n methods: {\r\n handleShowPop(index) {\r\n this.$refs['inputRef_' + index][0].focus();\r\n },\r\n // 删除规格\r\n handleRemoveRole(index) {\r\n this.formDynamic.spec.splice(index, 1);\r\n if (!this.formDynamic.spec.length) {\r\n this.formDynamic.spec = [];\r\n }\r\n },\r\n handleAddRole() {\r\n let data = {\r\n value: this.formDynamic.attrsName,\r\n detail: [],\r\n };\r\n this.formDynamic.spec.push(data);\r\n },\r\n onCancel() {\r\n this.ids = 0;\r\n this.clear();\r\n },\r\n onClose() {\r\n this.ids = 0;\r\n this.clear();\r\n this.modal = false;\r\n },\r\n // 添加按钮\r\n addBtn() {\r\n this.isBtn = true;\r\n },\r\n // 详情\r\n getIofo(row) {\r\n this.spinShow = true;\r\n this.ids = row.id;\r\n ruleInfoApi(row.id)\r\n .then((res) => {\r\n this.formDynamic = res.data.info;\r\n this.spinShow = false;\r\n })\r\n .catch((res) => {\r\n this.spinShow = false;\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 提交\r\n handleSubmit(name) {\r\n this.$refs[name].validate((valid) => {\r\n if (valid) {\r\n if (this.formDynamic.spec.length === 0) {\r\n return this.$message.warning('请至少添加一条商品规格!');\r\n }\r\n this.modal_loading = true;\r\n setTimeout(() => {\r\n ruleAddApi(this.formDynamic, this.ids)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n setTimeout(() => {\r\n this.modal = false;\r\n this.modal_loading = false;\r\n }, 500);\r\n setTimeout(() => {\r\n this.$emit('getList');\r\n this.clear();\r\n }, 600);\r\n })\r\n .catch((res) => {\r\n this.modal_loading = false;\r\n this.$message.error(res.msg);\r\n });\r\n }, 1200);\r\n } else {\r\n return false;\r\n }\r\n });\r\n },\r\n clear() {\r\n this.$refs['formDynamic'].resetFields();\r\n this.formDynamic.spec = [];\r\n this.isBtn = false;\r\n this.attrsName = '';\r\n this.attrsVal = '';\r\n this.ids = 0;\r\n },\r\n // 取消\r\n offAttrName() {\r\n this.isBtn = false;\r\n },\r\n // 删除\r\n handleRemove(index) {\r\n this.formDynamic.spec.splice(index, 1);\r\n },\r\n // 删除属性\r\n handleRemove2(item, index) {\r\n item.splice(index, 1);\r\n },\r\n // 添加规则名称\r\n createAttrName() {\r\n if (this.attrsName && this.attrsVal) {\r\n let data = {\r\n value: this.attrsName,\r\n detail: [this.attrsVal],\r\n };\r\n this.formDynamic.spec.push(data);\r\n var hash = {};\r\n this.formDynamic.spec = this.formDynamic.spec.reduce(function (item, next) {\r\n /* eslint-disable */\r\n hash[next.value] ? '' : (hash[next.value] = true && item.push(next));\r\n return item;\r\n }, []);\r\n this.attrsName = '';\r\n this.attrsVal = '';\r\n this.isBtn = false;\r\n } else {\r\n this.$message.warning('请添加规格名称或规格值');\r\n }\r\n },\r\n // 添加属性\r\n createAttr(num, idx) {\r\n if (num) {\r\n this.formDynamic.spec[idx].detail.push(num);\r\n var hash = {};\r\n this.formDynamic.spec[idx].detail = this.formDynamic.spec[idx].detail.reduce(function (item, next) {\r\n /* eslint-disable */\r\n hash[next] ? '' : (hash[next] = true && item.push(next));\r\n return item;\r\n }, []);\r\n } else {\r\n this.$message.warning('请添加属性');\r\n }\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.rulesBox {\r\n display: flex;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n}\r\n.attrFrom {\r\n ::v-deep .ivu-form-item {\r\n margin-bottom: 0px !important;\r\n }\r\n}\r\n.noForm {\r\n margin-left: 12px;\r\n}\r\n.add {\r\n margin-left: 132px;\r\n}\r\n.drag {\r\n cursor: move;\r\n}\r\n.spec {\r\n display: block;\r\n margin: 5px 0;\r\n position: relative;\r\n .el-icon-error {\r\n position: absolute;\r\n display: none;\r\n right: -3px;\r\n top: -3px;\r\n z-index: 9;\r\n }\r\n}\r\n.spec:hover {\r\n .el-icon-error {\r\n display: block;\r\n z-index: 999;\r\n cursor: pointer;\r\n }\r\n}\r\n.move-icon {\r\n width: 30px;\r\n cursor: move;\r\n margin-right: 10px;\r\n}\r\n.move-icon .icondrag2 {\r\n font-size: 26px;\r\n color: #bbb;\r\n}\r\n.specifications {\r\n .specifications-item:hover {\r\n background-color: var(--prev-bg-menu-hover-ba-color);\r\n }\r\n .specifications-item:hover .del {\r\n display: block;\r\n }\r\n .specifications-item:last-child {\r\n margin-bottom: 14px;\r\n }\r\n .specifications-item {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n padding: 20px 15px;\r\n transition: all 0.1s;\r\n background-color: #fafafa;\r\n margin-bottom: 10px;\r\n border-radius: 4px;\r\n .del {\r\n display: none;\r\n position: absolute;\r\n right: 15px;\r\n top: 15px;\r\n font-size: 22px;\r\n color: var(--prev-color-primary);\r\n cursor: pointer;\r\n }\r\n .specifications-item-box {\r\n position: relative;\r\n .lineBox {\r\n position: absolute;\r\n left: 13px;\r\n top: 24px;\r\n width: 30px;\r\n height: 45px;\r\n border-radius: 6px;\r\n border-left: 1px solid #dcdfe6;\r\n border-bottom: 1px solid #dcdfe6;\r\n }\r\n .specifications-item-name-input {\r\n width: 200px;\r\n }\r\n }\r\n }\r\n .rulesBox {\r\n display: flex;\r\n flex-wrap: wrap;\r\n align-items: center;\r\n .item {\r\n display: flex;\r\n flex-wrap: wrap;\r\n }\r\n .addfont {\r\n margin-top: 5px;\r\n }\r\n ::v-deep .el-popover {\r\n border: none;\r\n box-shadow: none;\r\n padding: 0;\r\n margin-top: 5px;\r\n line-height: 1.5;\r\n }\r\n }\r\n .addfont {\r\n display: inline-block;\r\n font-size: 12px;\r\n font-weight: 400;\r\n color: var(--prev-color-primary);\r\n margin-left: 14px;\r\n cursor: pointer;\r\n }\r\n}\r\n</style>\r\n"],"mappings":"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","ignoreList":[]}]}