| 1 |
- {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\product\\paramList\\paramAdd.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\product\\paramList\\paramAdd.vue","mtime":1761185180156},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\babel.config.js","mtime":1761185179818},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\.babelrc","mtime":1761185179813},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJDOi9Vc2Vycy9BZG1pbmlzdHJhdG9yL0Rlc2t0b3AvY3JtZWI1LjAvdGVtcGxhdGUvYWRtaW4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNvcnQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JzsKaW1wb3J0IHsgcGFyYW1TYXZlQXBpLCBwYXJhbUluZm9BcGkgfSBmcm9tICdAL2FwaS9wcm9kdWN0JzsKaW1wb3J0IHZ1ZWRyYWdnYWJsZSBmcm9tICd2dWVkcmFnZ2FibGUnOwppbXBvcnQgU29ydGFibGUgZnJvbSAnc29ydGFibGVqcyc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnYWRkQXR0cicsCiAgY29tcG9uZW50czogewogICAgZHJhZ2dhYmxlOiB2dWVkcmFnZ2FibGUKICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBzcGluU2hvdzogZmFsc2UsCiAgICAgIG1vZGFsX2xvYWRpbmc6IGZhbHNlLAogICAgICBncmlkOiB7CiAgICAgICAgeGw6IDMsCiAgICAgICAgbGc6IDMsCiAgICAgICAgbWQ6IDEyLAogICAgICAgIHNtOiAyNCwKICAgICAgICB4czogMjQKICAgICAgfSwKICAgICAgbW9kYWw6IGZhbHNlLAogICAgICBpbmRleDogMSwKICAgICAgZm9ybUR5bmFtaWM6IHsKICAgICAgICBpZDogMCwKICAgICAgICBuYW1lOiAnJywKICAgICAgICBzb3J0OiAwLAogICAgICAgIHZhbHVlOiBbXQogICAgICB9LAogICAgICBhdHRyc05hbWU6ICcnLAogICAgICBhdHRyc1ZhbDogJycsCiAgICAgIGZvcm1EeW5hbWljTmFtZURhdGE6IFtdLAogICAgICBpc0J0bjogZmFsc2UsCiAgICAgIGZvcm1EeW5hbWljTmFtZTogW10sCiAgICAgIHJlc3VsdHM6IFtdLAogICAgICByZXN1bHQ6IFtdLAogICAgICBpZHM6IDAKICAgIH07CiAgfSwKICB3YXRjaDogewogICAgbW9kYWw6IGZ1bmN0aW9uIG1vZGFsKHZhbCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICBpZiAodmFsKSB7CiAgICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgX3RoaXMuc2V0U29ydCgpOwogICAgICAgIH0pOwogICAgICB9CiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkge30sCiAgbWV0aG9kczogewogICAgc2V0U29ydDogZnVuY3Rpb24gc2V0U29ydCgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIC8vIHJlZuS4gOWumui3n3RhYmxl5LiK6Z2i55qEcmVm5LiA6Ie0CiAgICAgIHZhciBlbCA9IHRoaXMuJHJlZnMuc2VsZWN0aW9uLiRlbC5xdWVyeVNlbGVjdG9yQWxsKCcuZWwtdGFibGVfX2JvZHktd3JhcHBlciA+IHRhYmxlID4gdGJvZHknKVswXTsKICAgICAgdGhpcy5zb3J0YWJsZSA9IFNvcnRhYmxlLmNyZWF0ZShlbCwgewogICAgICAgIGdob3N0Q2xhc3M6ICdzb3J0YWJsZS1naG9zdCcsCiAgICAgICAgaGFuZGxlOiAnLmhhbmRsZScsCiAgICAgICAgc2V0RGF0YTogZnVuY3Rpb24gc2V0RGF0YShkYXRhVHJhbnNmZXIpIHsKICAgICAgICAgIGRhdGFUcmFuc2Zlci5zZXREYXRhKCdUZXh0JywgJycpOwogICAgICAgIH0sCiAgICAgICAgLy8g55uR5ZCs5ouW5ou95LqL5Lu257uT5p2f5pe26Kem5Y+RCiAgICAgICAgb25FbmQ6IGZ1bmN0aW9uIG9uRW5kKGV2dCkgewogICAgICAgICAgX3RoaXMyLmVsQ2hhbmdlRXhGb3JBcnJheShldnQub2xkSW5kZXgsIGV2dC5uZXdJbmRleCwgX3RoaXMyLmZvcm1EeW5hbWljLnZhbHVlKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGVsQ2hhbmdlRXhGb3JBcnJheTogZnVuY3Rpb24gZWxDaGFuZ2VFeEZvckFycmF5KGluZGV4MSwgaW5kZXgyLCBhcnJheSwgaW5pdCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdmFyIGFyciA9IGFycmF5OwogICAgICB2YXIgdGVtcCA9IGFycmF5W2luZGV4MV07CiAgICAgIHZhciB0ZW1wdCA9IGFycmF5W2luZGV4Ml07CiAgICAgIGlmIChpbml0KSB7CiAgICAgICAgYXJyW2luZGV4Ml0gPSB0ZW1wdDsKICAgICAgICBhcnJbaW5kZXgxXSA9IHRlbXA7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgYXJyW2luZGV4MV0gPSB0ZW1wdDsKICAgICAgICBhcnJbaW5kZXgyXSA9IHRlbXA7CiAgICAgIH0KICAgICAgdGhpcy5mb3JtRHluYW1pYy52YWx1ZSA9IFtdOwogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoZSkgewogICAgICAgIF90aGlzMy5mb3JtRHluYW1pYy52YWx1ZSA9IGFycjsKICAgICAgfSk7CiAgICB9LAogICAgaGFuZGxlU2hvd1BvcDogZnVuY3Rpb24gaGFuZGxlU2hvd1BvcChpbmRleCkgewogICAgICB0aGlzLiRyZWZzWydpbnB1dFJlZl8nICsgaW5kZXhdWzBdLmZvY3VzKCk7CiAgICB9LAogICAgaGFuZGxlQWRkUm9sZTogZnVuY3Rpb24gaGFuZGxlQWRkUm9sZSgpIHsKICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgbmFtZTogJycsCiAgICAgICAgdmFsdWU6ICcnCiAgICAgIH07CiAgICAgIHRoaXMuZm9ybUR5bmFtaWMudmFsdWUucHVzaChkYXRhKTsKICAgIH0sCiAgICBvbkNhbmNlbDogZnVuY3Rpb24gb25DYW5jZWwoKSB7CiAgICAgIHRoaXMuaWRzID0gMDsKICAgICAgdGhpcy5jbGVhcigpOwogICAgfSwKICAgIG9uQ2xvc2U6IGZ1bmN0aW9uIG9uQ2xvc2UoKSB7CiAgICAgIHRoaXMuaWRzID0gMDsKICAgICAgdGhpcy5jbGVhcigpOwogICAgICB0aGlzLm1vZGFsID0gZmFsc2U7CiAgICB9LAogICAgZGVsZXRlUm93OiBmdW5jdGlvbiBkZWxldGVSb3coaW5kZXgpIHsKICAgICAgdGhpcy5mb3JtRHluYW1pYy52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpOwogICAgfSwKICAgIC8vIOa3u+WKoOaMiemSrgogICAgYWRkQnRuOiBmdW5jdGlvbiBhZGRCdG4oKSB7CiAgICAgIHRoaXMuaXNCdG4gPSB0cnVlOwogICAgfSwKICAgIC8v5L+u5pS55o6S5bqPCiAgICBvbkRyYWdEcm9wOiBmdW5jdGlvbiBvbkRyYWdEcm9wKGEsIGIpIHsKICAgICAgdmFyIF90aGlzJGZvcm1EeW5hbWljJHZhbDsKICAgICAgY29uc29sZS5sb2coYSwgYik7CiAgICAgIChfdGhpcyRmb3JtRHluYW1pYyR2YWwgPSB0aGlzLmZvcm1EeW5hbWljLnZhbHVlKS5zcGxpY2UuYXBwbHkoX3RoaXMkZm9ybUR5bmFtaWMkdmFsLCBbYiwgMV0uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheSh0aGlzLmZvcm1EeW5hbWljLnZhbHVlLnNwbGljZShhLCAxLCB0aGlzLmZvcm1EeW5hbWljLnZhbHVlW2JdKSkpKTsKICAgIH0sCiAgICAvLyDor6bmg4UKICAgIGdldElvZm86IGZ1bmN0aW9uIGdldElvZm8ocm93KSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICB0aGlzLmlkcyA9IHJvdy5pZDsKICAgICAgcGFyYW1JbmZvQXBpKHJvdy5pZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM0LmZvcm1EeW5hbWljID0gcmVzLmRhdGE7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczQuc3BpblNob3cgPSBmYWxzZTsKICAgICAgICBfdGhpczQuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOaPkOS6pAogICAgaGFuZGxlU3VibWl0OiBmdW5jdGlvbiBoYW5kbGVTdWJtaXQobmFtZSkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgdGhpcy4kcmVmc1tuYW1lXS52YWxpZGF0ZShmdW5jdGlvbiAodmFsaWQpIHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIGlmIChfdGhpczUuZm9ybUR5bmFtaWMudmFsdWUubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgIHJldHVybiBfdGhpczUuJG1lc3NhZ2Uud2FybmluZygn6K+36Iez5bCR5re75Yqg5LiA5p2h5ZWG5ZOB5Y+C5pWw77yBJyk7CiAgICAgICAgICB9CiAgICAgICAgICBfdGhpczUubW9kYWxfbG9hZGluZyA9IHRydWU7CiAgICAgICAgICBwYXJhbVNhdmVBcGkoX3RoaXM1LmZvcm1EeW5hbWljKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgX3RoaXM1LiRtZXNzYWdlLnN1Y2Nlc3MocmVzLm1zZyk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgIF90aGlzNS5tb2RhbCA9IGZhbHNlOwogICAgICAgICAgICAgIF90aGlzNS5tb2RhbF9sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgIH0sIDUwMCk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgIF90aGlzNS4kZW1pdCgnZ2V0TGlzdCcpOwogICAgICAgICAgICAgIF90aGlzNS5jbGVhcigpOwogICAgICAgICAgICB9LCA2MDApOwogICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICBfdGhpczUubW9kYWxfbG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICBfdGhpczUuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgY2xlYXI6IGZ1bmN0aW9uIGNsZWFyKCkgewogICAgICB0aGlzLiRyZWZzWydmb3JtRHluYW1pYyddLnJlc2V0RmllbGRzKCk7CiAgICAgIHRoaXMuZm9ybUR5bmFtaWMudmFsdWUgPSBbXTsKICAgICAgdGhpcy5mb3JtRHluYW1pYy5uYW1lID0gJyc7CiAgICAgIHRoaXMuZm9ybUR5bmFtaWMuc29ydCA9ICcnOwogICAgICB0aGlzLmlzQnRuID0gZmFsc2U7CiAgICAgIHRoaXMuYXR0cnNOYW1lID0gJyc7CiAgICAgIHRoaXMuYXR0cnNWYWwgPSAnJzsKICAgICAgdGhpcy5pZHMgPSAwOwogICAgfSwKICAgIC8vIOWIoOmZpAogICAgaGFuZGxlUmVtb3ZlOiBmdW5jdGlvbiBoYW5kbGVSZW1vdmUoaW5kZXgpIHsKICAgICAgdGhpcy5mb3JtRHluYW1pYy52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpOwogICAgfQogIH0KfTs="},{"version":3,"names":["mapState","paramSaveApi","paramInfoApi","vuedraggable","Sortable","name","components","draggable","data","spinShow","modal_loading","grid","xl","lg","md","sm","xs","modal","index","formDynamic","id","sort","value","attrsName","attrsVal","formDynamicNameData","isBtn","formDynamicName","results","result","ids","watch","val","_this","$nextTick","setSort","mounted","methods","_this2","el","$refs","selection","$el","querySelectorAll","sortable","create","ghostClass","handle","setData","dataTransfer","onEnd","evt","elChangeExForArray","oldIndex","newIndex","index1","index2","array","init","_this3","arr","temp","tempt","e","handleShowPop","focus","handleAddRole","push","onCancel","clear","onClose","deleteRow","splice","addBtn","onDragDrop","a","b","_this$formDynamic$val","console","log","apply","concat","_toConsumableArray","getIofo","row","_this4","then","res","catch","$message","error","msg","handleSubmit","_this5","validate","valid","length","warning","success","setTimeout","$emit","resetFields","handleRemove"],"sources":["src/pages/product/paramList/paramAdd.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 class=\"attrFrom\"\r\n label-position=\"right\"\r\n label-width=\"auto\"\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.name\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-col>\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 type=\"number\" placeholder=\"请输入排序\" :maxlength=\"20\" v-model.trim=\"formDynamic.sort\" />\r\n </el-form-item>\r\n </el-col>\r\n </el-col>\r\n <el-col :span=\"24\" class=\"noForm\" :key=\"index\">\r\n <el-form-item label=\"\">\r\n <div class=\"specifications\">\r\n <el-table ref=\"selection\" :data=\"formDynamic.value\">\r\n <el-table-column width=\"50\">\r\n <template slot-scope=\"scope\">\r\n <div class=\"drag\" @on-drag-drop=\"onDragDrop\">\r\n <img class=\"handle\" src=\"@/assets/images/drag-icon.png\" alt=\"\" />\r\n </div>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"参数名称\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <el-input v-model=\"scope.row.name\"></el-input>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"参数值\" min-width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <el-input v-model=\"scope.row.value\"></el-input>\r\n </template>\r\n </el-table-column>\r\n\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <a class=\"submission mr15\" v-db-click @click=\"deleteRow(scope.$index)\">删除</a>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n <el-button\r\n v-if=\"formDynamic.value.length < 8\"\r\n type=\"primary\"\r\n class=\"submission mr15 mt20\"\r\n v-db-click\r\n @click=\"handleAddRole\"\r\n >添加参数</el-button\r\n >\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 { paramSaveApi, paramInfoApi } from '@/api/product';\r\nimport vuedraggable from 'vuedraggable';\r\nimport Sortable from 'sortablejs';\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 formDynamic: {\r\n id: 0,\r\n name: '',\r\n sort: 0,\r\n value: [],\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 watch: {\r\n modal(val) {\r\n if (val) {\r\n this.$nextTick(() => {\r\n this.setSort();\r\n });\r\n }\r\n },\r\n },\r\n mounted() {},\r\n methods: {\r\n setSort() {\r\n // ref一定跟table上面的ref一致\r\n const el = this.$refs.selection.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0];\r\n this.sortable = Sortable.create(el, {\r\n ghostClass: 'sortable-ghost',\r\n handle: '.handle',\r\n setData: function (dataTransfer) {\r\n dataTransfer.setData('Text', '');\r\n },\r\n // 监听拖拽事件结束时触发\r\n onEnd: (evt) => {\r\n this.elChangeExForArray(evt.oldIndex, evt.newIndex, this.formDynamic.value);\r\n },\r\n });\r\n },\r\n elChangeExForArray(index1, index2, array, init) {\r\n const arr = array;\r\n const temp = array[index1];\r\n const tempt = array[index2];\r\n if (init) {\r\n arr[index2] = tempt;\r\n arr[index1] = temp;\r\n } else {\r\n arr[index1] = tempt;\r\n arr[index2] = temp;\r\n }\r\n this.formDynamic.value = [];\r\n this.$nextTick((e) => {\r\n this.formDynamic.value = arr;\r\n });\r\n },\r\n handleShowPop(index) {\r\n this.$refs['inputRef_' + index][0].focus();\r\n },\r\n handleAddRole() {\r\n let data = {\r\n name: '',\r\n value: '',\r\n };\r\n this.formDynamic.value.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 deleteRow(index) {\r\n this.formDynamic.value.splice(index, 1);\r\n },\r\n // 添加按钮\r\n addBtn() {\r\n this.isBtn = true;\r\n },\r\n //修改排序\r\n onDragDrop(a, b) {\r\n console.log(a, b);\r\n this.formDynamic.value.splice(b, 1, ...this.formDynamic.value.splice(a, 1, this.formDynamic.value[b]));\r\n },\r\n // 详情\r\n getIofo(row) {\r\n this.ids = row.id;\r\n paramInfoApi(row.id)\r\n .then((res) => {\r\n this.formDynamic = res.data;\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.value.length === 0) {\r\n return this.$message.warning('请至少添加一条商品参数!');\r\n }\r\n this.modal_loading = true;\r\n paramSaveApi(this.formDynamic)\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 } else {\r\n return false;\r\n }\r\n });\r\n },\r\n clear() {\r\n this.$refs['formDynamic'].resetFields();\r\n this.formDynamic.value = [];\r\n this.formDynamic.name = '';\r\n this.formDynamic.sort = '';\r\n this.isBtn = false;\r\n this.attrsName = '';\r\n this.attrsVal = '';\r\n this.ids = 0;\r\n },\r\n // 删除\r\n handleRemove(index) {\r\n this.formDynamic.value.splice(index, 1);\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.value {\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.value: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":[]}]}
|