Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
S
shop-new
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
王天霸
shop-new
Commits
0def9bf7
提交
0def9bf7
authored
8月 06, 2021
作者:
huaxinzhu
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev_hxz' into test
上级
51d245e6
7d280236
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
132 行增加
和
51 行删除
+132
-51
main.js
src/main.js
+19
-1
goodsimg.vue
src/views/system/goods/add/components/goodsimg.vue
+29
-19
goodsparameter.vue
src/views/system/goods/add/components/goodsparameter.vue
+9
-2
goodsspecifications.vue
...views/system/goods/add/components/goodsspecifications.vue
+5
-0
index.vue
src/views/system/goods/add/index.vue
+70
-29
没有找到文件。
src/main.js
浏览文件 @
0def9bf7
...
...
@@ -69,7 +69,25 @@ Vue.component('Pagination', Pagination)
Vue
.
use
(
permission
)
//
const
preventReClick
=
Vue
.
directive
(
'preventReClick'
,
{
inserted
:
function
(
el
,
binding
)
{
el
.
addEventListener
(
'click'
,
()
=>
{
if
(
!
el
.
disabled
)
{
el
.
disabled
=
true
setTimeout
(()
=>
{
el
.
disabled
=
false
},
binding
.
value
||
3000
)
}
console
.
log
(
el
.
disabled
)
})
}
});
export
{
preventReClick
}
/**
* If you don't want to use mock-server
...
...
src/views/system/goods/add/components/goodsimg.vue
浏览文件 @
0def9bf7
...
...
@@ -68,10 +68,10 @@
}
}
},
// 禁止粘贴图片
//
clipboard: {
// //
matchers: [[Node.ELEMENT_NODE, this.handleCustomMatcher]]
//
}
//
//
禁止粘贴图片
clipboard
:
{
matchers
:
[[
Node
.
ELEMENT_NODE
,
this
.
handleCustomMatcher
]]
}
}
},
index
:
0
,
...
...
@@ -88,22 +88,32 @@
this
.
goodsDeForm
=
this
.
imgdata
;
}
},
watch
:
{},
watch
:
{
'goodsDeForm.description'
:
{
handler
:
function
()
{
// console.log(99,this.goodsDetailsImgFileList);
// console.log(100,this.goodsDeForm.description);
},
deep
:
true
}
},
methods
:
{
// handleCustomMatcher(node, Delta) {
// let ops = []
// console.log(123);
// debugger
// Delta.ops.forEach(op => {
// if (op.insert && typeof op.insert === 'string') {// 如果粘贴了图片,这里会是一个对象,所以可以这样处理
// ops.push({
// insert: op.insert,
// })
// }
// })
// Delta.ops = ops
// return Delta
// },
handleCustomMatcher
(
node
,
Delta
)
{
let
ops
=
[]
Delta
.
ops
.
forEach
(
op
=>
{
// 如果粘贴了图片,这里会是一个对象,所以可以这样处理
if
(
op
.
insert
&&
typeof
op
.
insert
===
'object'
&&
op
.
insert
.
image
.
indexOf
(
'base64'
)
>
-
1
)
{
ops
.
push
({
insert
:
''
})
Delta
.
ops
=
ops
;
// console.log('我是粘贴的');
}
})
//
//console.log(113,Delta);
return
Delta
},
/** 初始化 商品详情 */
initInfo
()
{
...
...
src/views/system/goods/add/components/goodsparameter.vue
浏览文件 @
0def9bf7
...
...
@@ -214,14 +214,21 @@ export default {
'parameterdata'
:
function
(
val
)
{
//debugger
this
.
orgGoodsPam
=
val
;
//
console.log("监听",this.orgGoodsPam);
console
.
log
(
"监听"
,
this
.
orgGoodsPam
);
},
// "orgGoodsPam": {
// handler: function(val) {
// console.log(222,val);
//
// },
// deep: true
// }
},
created
()
{
//this.orgGoodsPam = this.parameterdata;
},
mounted
()
{
console
.
log
(
"加载后,"
,
this
.
parameterdata
);
//
console.log("加载后,",this.parameterdata);
if
(
this
.
parameterdata
.
pamTableList
&&
this
.
parameterdata
.
pamTableList
.
length
>
0
)
{
this
.
orgGoodsPam
=
this
.
parameterdata
;
}
else
{
...
...
src/views/system/goods/add/components/goodsspecifications.vue
浏览文件 @
0def9bf7
...
...
@@ -303,6 +303,10 @@ export default {
specCalcResult
()
{
// 商品规格原始数据
let
orgSpeData
=
this
.
deepClone
(
this
.
speData
);
// let hhxz = this.$
//
// console.log(333333,this.speData);
// 进行数据处理后的数据,
let
proSpeData
=
this
.
processData
(
orgSpeData
);
// 需要将 所有规格名称,提出一个数组集合,
...
...
@@ -342,6 +346,7 @@ export default {
};
goodsPam
.
pamNameList
=
this
.
speNameList
;
goodsPam
.
pamDataList
=
goodsParametersList
;
goodsParametersList
.
forEach
((
item
)
=>
{
let
prePamTable
=
[
{
js_price
:
''
,
sl_price
:
''
,
price
:
''
,
sc_price
:
''
,
stock
:
''
,
weight
:
''
,
thumb
:
''
,
spec_values
:
[]
}
...
...
src/views/system/goods/add/index.vue
浏览文件 @
0def9bf7
...
...
@@ -42,7 +42,9 @@
<div
class=
"floor-item"
>
<div
class=
"floor-item-box"
>
<p
class=
"card-header-title floor-item-box-title"
><span
class=
"blue-block-goods blue-block-goods-title"
></span>
商品售价
</p>
<!--
<keep-alive>
-->
<GoodsParameter
ref=
"goodsparameter"
:parameterdata=
"parameterdata"
/>
<!--
</keep-alive>
-->
</div>
</div>
<!-- 商品详情 -->
...
...
@@ -68,7 +70,7 @@
</div>
<div
class=
"submit-cont"
>
<el-button
type=
"primary"
style=
"padding: 10px 30px;"
@
click=
"save"
>
提 交
</el-button>
<el-button
type=
"primary"
style=
"padding: 10px 30px;"
@
click=
"save"
v-preventReClick
>
提 交
</el-button>
</div>
</el-card>
<!-- 添加商品 end -->
...
...
@@ -270,6 +272,10 @@
methods
:
{
// 规格子组件,传给父组件的数据
calcSpeTable
(
data
)
{
// 第一步,获取原来的值
let
spsjData2
=
this
.
$refs
.
goodsparameter
.
orgGoodsPam
;
// 第二步,重新渲染dom
if
(
data
.
pamTableList
.
length
>
0
)
{
data
.
pamTableList
.
forEach
((
item
,
index
)
=>
{
if
(
Array
.
isArray
(
data
.
pamDataList
[
index
])
)
{
...
...
@@ -279,8 +285,22 @@
}
})
}
// console.log(153,data);
// console.log(222,spsjData2);
// 第三步,重新赋值
if
(
data
.
pamTableList
.
length
>
0
&&
spsjData2
.
pamTableList
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
data
.
pamTableList
.
length
;
i
++
)
{
for
(
let
j
=
0
;
j
<
spsjData2
.
pamTableList
.
length
;
j
++
)
{
if
(
data
.
pamTableList
[
i
][
0
].
spec_values
[
0
]
===
spsjData2
.
pamTableList
[
j
][
0
].
spec_values
[
0
]
)
{
data
.
pamTableList
[
i
]
=
spsjData2
.
pamTableList
[
j
];
}
}
}
}
this
.
parameterdata
=
data
;
//console.log(153,this.parameterdata);
},
// 只有点击完最后一级,才会有值
SSQChange
()
{
...
...
@@ -404,13 +424,13 @@
isGoodsPrice
=
false
;
break
}
else
{
// 所有校验通过,对价格进行处理,*100
if
(
itemKey
===
'js_price'
||
itemKey
===
'sl_price'
||
itemKey
===
'price'
||
itemKey
===
'sc_price'
)
{
itemObj
[
itemKey
]
=
itemObj
[
itemKey
]
*
100
;
}
if
(
itemKey
===
'stock'
)
{
itemObj
[
itemKey
]
=
Number
(
itemObj
[
itemKey
]);
}
//
//
所有校验通过,对价格进行处理,*100
//
if ( itemKey === 'js_price' || itemKey === 'sl_price' || itemKey === 'price' || itemKey === 'sc_price') {
//
itemObj[itemKey] = itemObj[itemKey] * 100;
//
}
//
if( itemKey === 'stock') {
//
itemObj[itemKey] = Number(itemObj[itemKey]);
//
}
isGoodsPrice
=
true
;
}
// ---------------
...
...
@@ -428,12 +448,12 @@
break
}
else
{
// 所有校验通过,对价格进行处理,*100
if
(
key
===
'js_price'
||
key
===
'sl_price'
||
key
===
'price'
||
key
===
'sc_price'
)
{
slingleSpeObj
[
key
]
=
slingleSpeObj
[
key
]
*
100
;
}
if
(
key
===
'stock'
)
{
slingleSpeObj
[
key
]
=
Number
(
slingleSpeObj
[
key
]);
}
//
if ( key === 'js_price' || key === 'sl_price' || key === 'price' || key === 'sc_price') {
//
slingleSpeObj[key] = slingleSpeObj[key] * 100;
//
}
//
if ( key === 'stock') {
//
slingleSpeObj[key] = Number(slingleSpeObj[key]);
//
}
isGoodsPrice
=
true
;
}
}
...
...
@@ -508,17 +528,37 @@
this
.
goodsAllData
.
stags
=
this
.
goodsAllData
.
stags
.
toString
();
}
// let msg = res.data.Apply.content;
// this.$router.push({
// name: 'reviewFail',
// params: { msg: msg }
// });
// if(this.$route.params.msg) {
// this.msg = this.$route.params.msg;
// }
// freight
debugger
// 价格数字需要 乘以100
if
(
this
.
goodsAllData
.
specs_group
&&
this
.
goodsAllData
.
specs_group
.
length
>
0
)
{
this
.
goodsAllData
.
specs_group
.
forEach
((
item
)
=>
{
item
.
js_price
=
Number
(
item
.
js_price
)
*
100
;
item
.
price
=
Number
(
item
.
price
)
*
100
;
item
.
sc_price
=
Number
(
item
.
sc_price
)
*
100
;
item
.
sl_price
=
Number
(
item
.
sl_price
)
*
100
;
item
.
stock
=
Number
(
item
.
stock
);
})
delete
this
.
goodsAllData
.
js_price
;
delete
this
.
goodsAllData
.
price
;
delete
this
.
goodsAllData
.
sc_price
;
delete
this
.
goodsAllData
.
sl_price
;
delete
this
.
goodsAllData
.
stock
;
delete
this
.
goodsAllData
.
weight
;
}
else
{
this
.
goodsAllData
.
js_price
=
Number
(
this
.
goodsAllData
.
js_price
)
*
100
this
.
goodsAllData
.
price
=
Number
(
this
.
goodsAllData
.
price
)
*
100
this
.
goodsAllData
.
sc_price
=
Number
(
this
.
goodsAllData
.
sc_price
)
*
100
this
.
goodsAllData
.
sl_price
=
Number
(
this
.
goodsAllData
.
sl_price
)
*
100
this
.
goodsAllData
.
stock
=
Number
(
this
.
goodsAllData
.
stock
);
delete
this
.
goodsAllData
.
specs
;
delete
this
.
goodsAllData
.
specs_group
;
}
// stock 库存需要转为 int
// console.log(531,this.goodsAllData)
// return
// 商品id 不为 0 是修改
if
(
this
.
goodsAllData
.
goods_id
)
{
// 商品id 为 0 是新增
...
...
@@ -701,9 +741,9 @@
.blue-block-goods
{
width
:
5px
;
height
:
24px
;
background
:
#3A84FF
;
margin
:
0
7px
0
0
;
border-radius
:
2px
;
/*background: #3A84FF;*/
/*margin: 0 7px 0 0;*/
/*border-radius: 2px;*/
}
/* el-card title hxz 样式统一 end */
.goods-type-tip
{
...
...
@@ -807,6 +847,7 @@
.submit-type-con
{
width
:
236px
;
margin
:
0
auto
20px
;
padding
:
0
0
20px
;
}
.submit-cont
{
width
:
calc
(
100%
+
40px
);
...
...
@@ -817,6 +858,6 @@
justify-content
:
center
;
align-items
:
center
;
/*align-content: center;*/
box-shadow
:
0
px
-8px
9px
1px
rgba
(
51
,
51
,
51
,
0
.06
);
box-shadow
:
0
-8px
9px
1px
rgba
(
51
,
51
,
51
,
0
.06
);
}
</
style
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论