Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
S
shop-new
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
王天霸
shop-new
Commits
1bafad5a
提交
1bafad5a
authored
10月 11, 2021
作者:
huaxinzhu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
删除-合并多余老文件-guide.vue
上级
aaa1e175
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
0 行增加
和
776 行删除
+0
-776
guide.vue
src/views/system/goods/add/components/guide.vue
+0
-776
没有找到文件。
src/views/system/goods/add/components/guide.vue
deleted
100644 → 0
浏览文件 @
aaa1e175
<
template
>
<div
class=
"app-container"
>
<div>
<!--
<div
slot=
"header"
class=
"clearfix"
>
<span>
商品规格
</span>
<el-button
style=
"float: right; padding: 3px 0"
type=
"text"
>
操作按钮
</el-button>
</div>
-->
<el-checkbox
v-model=
"checked"
>
启用商品规格
</el-checkbox>
<p
style=
'font-size:14px;'
>
启用商品规格后,商品的价格及库存以商品规格为准
</p>
<p
style=
'font-size:14px;'
>
操作顺序:添加新规格 (
<span
style=
"color: red"
>
必填
</span>
) -
>
添加规格项 (
<span
style=
"color: red"
>
必填
</span>
) -
>
生成产品规格表
-
>
修改数值 -
>
保存商品规格
<span
style=
"color: red"
>
注意:商品价格金额必须小于指导价格
</span>
</p>
<ul
class=
"tab_list"
v-if=
"checked"
>
<li
class=
"ullist"
v-for=
"(item, index) in shopType"
:key=
"index"
v-dragging=
"
{ list: shopType, item: item, group: 'knowTab' }"
>
<div
class=
"tab_list_left"
>
<div
style=
"margin-top: 15px"
>
<el-input
placeholder=
"请输入内容"
v-model=
"item.specName"
>
<template
slot=
"append"
>
<el-button
type=
"primary"
class=
"addbtn"
@
click=
"addlistguied(index)"
><i
class=
"el-icon-plus"
></i>
添加规格项
</el-button
>
</
template
>
</el-input>
<el-button
type=
"danger"
icon=
"el-icon-delete"
class=
"eldelbtn"
@
click=
"deletearrinput(index)"
></el-button>
</div>
<el-row
:gutter=
"20"
class=
"tab_list childlist"
>
<el-col
:span=
"4"
v-for=
"(items, indexs) in item.specValue"
:key=
"indexs"
v-dragging=
"{
list: item.specValue,
item: items,
group: 'itemchild',
}"
style=
"margin: 5px 0; min-width: 205px"
>
<el-input
placeholder=
""
v-model=
"items.value"
@
input=
"guidInput"
style=
"
width: 100%;
min-width: 200px;
padding: 0;
text-align: center;
"
>
<
template
slot=
"append"
>
<!--
<img
:src=
"nopeimg"
alt=
""
style=
"width:29px;height:29px;display:inline-block;"
/>
-->
<!-- -->
<el-button
type=
"primary"
class=
"dfbtn"
icon=
"el-icon-delete"
>
<input
style=
"
display: none;
width: 29px;
height: 29px;
position: absolute;
left: 0;
top: 0;
"
@
change=
"inputimg()"
accept=
"image/*"
:id=
"imagesid(index, indexs)"
type=
"file"
/>
<img
v-if=
"!items.img"
:src=
"nopeimg"
alt=
""
style=
"
width: 25px;
height: 25px;
position: absolute;
left: 2px;
top: 2px;
"
@
click=
"updateimg(index, indexs)"
/>
<img
v-if=
"items.img"
:src=
"items.img"
alt=
""
style=
"
width: 33px;
height: 33px;
position: absolute;
left: 0;
top: 0;
"
/>
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-delete"
@
click=
"deleteinput(index, indexs)"
></el-button>
<el-button
type=
"primary"
icon=
"el-icon-rank"
></el-button>
</
template
>
</el-input>
</el-col>
</el-row>
</div>
</li>
</ul>
<el-button
type=
"primary"
v-if=
"checked"
icon=
"el-icon-search"
@
click=
"addguild()"
>
添加新规格
</el-button
>
<el-button
type=
"primary"
v-if=
"checked"
icon=
"el-icon-search"
@
click=
"processing()"
>
生成产品规格表
</el-button
>
<div
class=
"table_box"
v-if=
"checked"
>
<!-- <div class="mark">
操作顺序:添加新规格 (<span style="color: red">必填</span>) ->
添加规格项 (<span style="color: red">必填</span>) -> 生成产品规格表
-> 修改数值 -> 保存商品规格
<span style="color: red">注意:商品价格金额必须小于指导价格</span>
</div> -->
<!-- 我记得有个scope属性的 -->
<el-table
:data=
"tableData7"
:span-method=
"objectSpanMethod1"
border
style=
"width: 100%; margin-top: 20px"
>
<el-table-column
header-align=
"center"
align=
"center"
v-for=
"(item, index) in tablearr"
:key=
"index"
:prop=
"item"
:label=
"item"
></el-table-column>
<el-table-column
prop=
"moany"
label=
"市场价"
align=
"center"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
<p
class=
"table_p"
>
市场价
</p>
<el-input
placeholder=
""
v-model=
"scPrice"
><el-button
slot=
"append"
@
click=
"scPriceall"
icon=
"el-icon-bottom"
></el-button
></el-input>
</
template
>
<
template
slot-scope=
"scope"
align=
"center"
>
<el-input
placeholder=
""
v-model=
"scope.row.scPrice"
></el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"moany"
label=
"指导价"
align=
"center"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
<p
class=
"table_p"
>
指导价
</p>
<el-input
placeholder=
""
v-model=
"price"
><el-button
slot=
"append"
@
click=
"priceall"
icon=
"el-icon-bottom"
></el-button
></el-input>
</
template
>
<
template
slot-scope=
"scope"
align=
"center"
>
<el-input
placeholder=
""
v-model=
"scope.row.price"
></el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"moany"
label=
"结算价"
align=
"center"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
<p
class=
"table_p"
>
结算价
</p>
<el-input
placeholder=
""
v-model=
"jsPrice"
><el-button
slot=
"append"
@
click=
"jsPriceall"
icon=
"el-icon-bottom"
></el-button
></el-input>
</
template
>
<
template
slot-scope=
"scope"
align=
"center"
>
<el-input
placeholder=
""
v-model=
"scope.row.jsPrice"
></el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"kucun"
label=
"库存"
align=
"center"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
<p
class=
"table_p"
>
库存
</p>
<el-input
placeholder=
""
v-model=
"goodsNowStock"
><el-button
slot=
"append"
@
click=
"goodsNowStockall"
icon=
"el-icon-bottom"
></el-button
></el-input>
</
template
>
<
template
slot-scope=
"scope"
align=
"center"
>
<el-input
placeholder=
""
v-model=
"scope.row.goodsNowStock"
></el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"moany"
label=
"重量(克)"
align=
"center"
>
<
template
slot=
"header"
slot-scope=
"scope"
>
<p
class=
"table_p"
>
重量(克)
</p>
<el-input
placeholder=
""
v-model=
"weight"
><el-button
slot=
"append"
@
click=
"weightall"
icon=
"el-icon-bottom"
></el-button
></el-input>
</
template
>
<
template
slot-scope=
"scope"
align=
"center"
>
<el-input
placeholder=
""
v-model=
"scope.row.weight"
></el-input>
</
template
>
</el-table-column>
</el-table>
<el-button
style=
"margin-top: 20px;"
>
重 置
</el-button>
</div>
</div>
</div>
</template>
<
script
>
import
descartes
from
"@/utils/dikaerjs.js"
;
// import { onlodaimg } from "@/api/date";
import
{
UploadImg
}
from
'@/api/module/goods'
export
default
{
name
:
"goods"
,
props
:
{
guidedata
:
{
type
:
Object
,
required
:
true
}
},
data
()
{
return
{
arrtdall
:[],
nopeimg
:
require
(
"@/assets/image/nopic100.jpg"
),
checked
:
false
,
type
:
""
,
imgname
:
""
,
indeximg
:
""
,
indexsimg
:
""
,
shopType
:
[],
shopTypes
:
[],
newList
:
[],
newData
:
[],
tableData7
:
[],
// 规格列表表格
goodsNowStock
:
""
,
jsPrice
:
""
,
//协议价
price
:
""
,
//指导价
scPrice
:
""
,
//市场价
weight
:
""
,
spanArr
:
[],
pos
:
""
,
spanArr1
:
[],
pos1
:
""
,
tablearr
:
[],
spanArrS
:
{
spanArr0
:
[],
spanArr1
:
[],
},
posS
:
{
pos0
:
""
,
pos1
:
""
,
},
};
},
components
:
{
hello
:
{
render
:
function
(
createElement
)
{
return
createElement
(
"h"
+
this
.
level
,
this
.
$se
);
},
},
},
mounted
()
{
// this.driver = new Driver()
this
.
$dragging
.
$on
(
"dragged"
,
(
value
)
=>
{
//因为我这在排序的时候不需要做处理,所以空着就行
});
},
watch
:{
tableData7
:{
handler
(
val
,
oldVal
){
let
arrlist
=
JSON
.
stringify
(
val
);
let
listarr
=
JSON
.
parse
(
arrlist
);
this
.
processguidelist
(
listarr
);
this
.
$emit
(
'guideclicks'
,
this
.
arrtdall
,
this
.
shopType
)
// this.$emit('parameterclicks',val)
},
deep
:
true
},
// 父组件传给 子组件的 值
guidedata
(
curVal
,
oldVal
){
if
(
curVal
){
if
(
curVal
.
goodsSpec
){
this
.
checked
=
true
;
}
else
{
this
.
checked
=
false
;
}
if
(
curVal
.
specName
&&
curVal
.
specName
.
length
>
0
)
{
this
.
shopType
=
curVal
.
specName
;
this
.
shopType
.
forEach
((
item
,
index
)
=>
{
this
.
shopType
[
index
][
'specValue'
]
=
[]
if
(
curVal
.
specValue
)
{
curVal
.
specValue
.
forEach
((
itemName
,
nindex
)
=>
{
if
(
itemName
.
specNameId
==
item
.
id
){
this
.
shopType
[
index
][
'specValue'
].
push
(
itemName
)
}
})
}
})
this
.
clgoodspace
(
curVal
);
//笛卡尔积值
this
.
tableData7
=
curVal
.
specOption
;
}
}
},
},
methods
:
{
guidInput
(
val
){
this
.
$forceUpdate
()
},
// 处理回显数据
clgoodspace
(
goodsspace
){
this
.
shopTypes
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
shopType
));
let
specName
=
goodsspace
.
specName
;
let
specValue
=
goodsspace
.
specValue
;
let
specOption
=
goodsspace
.
specOption
;
if
(
specName
)
{
specName
.
forEach
((
item
)
=>
{
this
.
tablearr
.
push
(
item
.
specName
)
specValue
.
forEach
((
itemchild
)
=>
{
if
(
item
.
id
==
itemchild
.
specNameId
){
itemchild
[
'specName'
]
=
item
.
specName
}
})
})
}
if
(
specOption
)
{
specOption
.
forEach
(
item
=>
{
let
goodsarr
=
item
.
specValueIds
.
split
(
'_'
)
if
(
item
.
title
){
item
[
'spaceval'
]
=
item
.
title
.
split
(
'+_'
)
}
goodsarr
.
forEach
(
itemchild
=>
{
specValue
.
forEach
(
itemgoodschild
=>
{
if
(
itemchild
==
itemgoodschild
.
id
){
item
[
itemgoodschild
.
specName
]
=
itemgoodschild
.
value
}
})
})
})
}
this
.
tableData7
=
specOption
;
this
.
getSpanArr
(
this
.
tableData7
);
},
// 不能删
descartes
,
processguidelist
(
obj
)
{
let
arrtdall
=
[]
if
(
obj
)
{
obj
.
forEach
((
item
,
index
)
=>
{
let
objtd
=
{}
let
arrtd
=
[]
for
(
let
key
in
item
){
if
(
key
==
'goodsNowStock'
||
key
==
'jsPrice'
||
key
==
'price'
||
key
==
'scPrice'
||
key
==
'wlPrice'
||
key
==
'pywlPrice'
||
key
==
'weight'
){
objtd
[
key
]
=
item
[
key
]
}
else
{
if
(
item
.
spaceval
){
objtd
[
'specValues'
]
=
item
.
spaceval
}
else
{
arrtd
.
push
(
item
[
key
])
objtd
[
'specValues'
]
=
arrtd
}
}
}
arrtdall
.
push
(
objtd
)
});
}
this
.
arrtdall
=
arrtdall
debugger
},
deletearrinput
(
index
)
{
this
.
shopType
.
splice
(
index
,
1
);
},
jsPriceall
()
{
this
.
tableData7
.
forEach
((
element
,
index
)
=>
{
this
.
tableData7
[
index
].
jsPrice
=
this
.
jsPrice
;
});
},
priceall
()
{
this
.
tableData7
.
forEach
((
element
,
index
)
=>
{
this
.
tableData7
[
index
].
price
=
this
.
price
;
});
},
scPriceall
()
{
this
.
tableData7
.
forEach
((
element
,
index
)
=>
{
this
.
tableData7
[
index
].
scPrice
=
this
.
scPrice
;
});
},
// 一键 库存
goodsNowStockall
()
{
this
.
tableData7
.
forEach
((
element
,
index
)
=>
{
this
.
tableData7
[
index
].
goodsNowStock
=
this
.
goodsNowStock
;
});
},
// 一键 重量
weightall
()
{
this
.
tableData7
.
forEach
((
element
,
index
)
=>
{
this
.
tableData7
[
index
].
weight
=
this
.
weight
;
});
},
//删除规格项
deleteinput
(
index
,
indexs
)
{
this
.
shopType
[
index
].
specValue
.
splice
(
indexs
,
1
);
this
.
$forceUpdate
()
},
//添加规格项
addlistguied
(
index
)
{
let
childlist
=
{
value
:
""
,
img
:
""
,
};
this
.
$set
(
this
.
shopType
[
index
].
specValue
,
this
.
shopType
[
index
].
specValue
.
length
,
childlist
);
this
.
$forceUpdate
()
},
// 添加新规格
addguild
()
{
let
arrchild
=
{
specName
:
""
,
score
:
""
,
specValue
:
[],
};
this
.
$set
(
this
.
shopType
,
this
.
shopType
.
length
,
arrchild
);
},
guide
()
{
this
.
driver
.
defineSteps
(
steps
);
this
.
driver
.
start
();
},
imagesid
(
index
,
indexs
)
{
return
index
.
toString
()
+
indexs
.
toString
()
+
"ss"
;
},
updateimg
(
index
,
indexs
)
{
let
id
=
index
.
toString
()
+
indexs
.
toString
()
+
"ss"
;
this
.
imgname
=
id
;
this
.
indeximg
=
index
;
this
.
indexsimg
=
indexs
;
document
.
getElementById
(
id
).
value
=
""
;
document
.
getElementById
(
id
).
click
();
},
inputimg
()
{
let
file
=
document
.
getElementById
(
this
.
imgname
).
files
[
0
];
// let formdata=new FormData()
if
(
file
.
size
>
1024
*
1024
*
3
)
{
return
false
;
}
else
{
// formdata.append("file", file);
}
// var image = new Image();
// image.src = window.URL.createObjectURL(file);
// console.log(image);
// image.onload = () => {
// console.log(this.getBase64Img(image));
// //this.getBase64Img(image)即为转换为base64格式的图片形式
// let date={
// imgData:this.getBase64Img(image)
// }
// onlodaimg(date).then(res=>{
// })
// };
this
.
getBase64
(
file
).
then
((
res
)
=>
{
var
result
=
res
.
split
(
","
);
let
Base64img
=
result
[
1
];
let
data
=
{
"image"
:
Base64img
}
UploadImg
(
data
).
then
((
res
)
=>
{
if
(
res
.
data
.
code
==
1
)
{
this
.
shopType
[
this
.
indeximg
].
specValue
[
this
.
indexsimg
].
img
=
res
.
data
.
data
.
imageUrl
this
.
$forceUpdate
()
}
});
});
},
getBase64
(
file
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
let
reader
=
new
FileReader
();
let
imgResult
=
""
;
reader
.
readAsDataURL
(
file
);
reader
.
onload
=
function
()
{
imgResult
=
reader
.
result
;
};
reader
.
onerror
=
function
(
error
)
{
reject
(
error
);
};
reader
.
onloadend
=
function
()
{
resolve
(
imgResult
);
};
});
},
getBase64Img
(
img
)
{
var
canvas
=
document
.
createElement
(
"canvas"
);
canvas
.
width
=
img
.
width
;
canvas
.
height
=
img
.
height
;
var
ctx
=
canvas
.
getContext
(
"2d"
);
ctx
.
drawImage
(
img
,
0
,
0
,
img
.
width
,
img
.
height
);
var
ext
=
img
.
src
.
substring
(
img
.
src
.
lastIndexOf
(
"."
)
+
1
).
toLowerCase
();
var
dataURL
=
canvas
.
toDataURL
(
"image/"
+
ext
);
return
dataURL
;
},
//返回所属规格名字
retName
(
index
)
{
// if (index == 1) {
// if (this.shopType.length > 1) {
// return this.shopType[0].name;
// }
// } else if (index == 2) {
// if (this.shopType.length > 1) {
// return this.shopType[1].name;
// }
// } else if (index == 3) {
// if (this.shopType.length > 1) {
// return this.shopType[2].name;
// }
// } else {
// return "";
// }
},
//处理数据
processing
()
{
this
.
newData
=
[];
this
.
tablearr
=
[];
this
.
shopTypes
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
shopType
));
if
(
this
.
shopTypes
&&
this
.
shopTypes
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
this
.
shopTypes
.
length
;
i
++
)
{
var
newlist
=
[];
for
(
let
index
=
0
;
index
<
this
.
shopTypes
[
i
].
specValue
.
length
;
index
++
)
{
newlist
.
push
(
this
.
shopTypes
[
i
].
specValue
[
index
].
value
);
}
this
.
newData
.
push
(
newlist
);
}
}
this
.
getList
();
},
//转换数据
getList
()
{
this
.
tableData7
=
[];
this
.
newList
=
this
.
descartes
(
this
.
newData
);
if
(
this
.
shopTypes
&&
this
.
shopTypes
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
this
.
shopTypes
.
length
;
i
++
)
{
this
.
tablearr
.
push
(
this
.
shopTypes
[
i
].
specName
);
}
}
for
(
let
index
=
0
;
index
<
this
.
newList
.
length
;
index
++
)
{
var
listobj
=
{};
for
(
let
i
=
0
;
i
<
this
.
shopTypes
.
length
;
i
++
)
{
if
(
this
.
shopTypes
.
length
>
1
){
listobj
[
this
.
shopTypes
[
i
].
specName
]
=
this
.
newList
[
index
][
i
];
}
if
(
this
.
shopTypes
.
length
==
1
){
listobj
[
this
.
shopTypes
[
i
].
specName
]
=
this
.
newList
[
index
];
}
listobj
[
"goodsNowStock"
]
=
""
;
listobj
[
"jsPrice"
]
=
""
;
listobj
[
"price"
]
=
""
;
listobj
[
"scPrice"
]
=
""
;
listobj
[
"weight"
]
=
""
;
}
this
.
tableData7
.
push
(
listobj
);
}
this
.
getSpanArr
(
this
.
tableData7
);
let
arrlist
=
JSON
.
stringify
(
this
.
tableData7
);
//可以将json对象转换成json对符串
let
listarr
=
JSON
.
parse
(
arrlist
);
//可以将json字符串转换成json对象
this
.
processguidelist
(
listarr
);
},
//计算位置的方法
getSpanArr
(
data
)
{
this
.
spanArrS
=
{};
this
.
spanArr
=
[];
this
.
pos
=
""
;
this
.
spanArr1
=
[];
this
.
pos1
=
""
;
if
(
this
.
shopTypes
&&
this
.
shopTypes
.
length
>
0
)
{
for
(
let
s
=
0
;
s
<
this
.
shopTypes
.
length
;
s
++
)
{
this
.
spanArrS
[
"spanArr"
+
s
]
=
[];
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
)
{
if
(
i
===
0
)
{
this
.
spanArrS
[
"spanArr"
+
s
].
push
(
1
);
this
.
posS
[
"pos"
+
s
]
=
0
;
}
else
{
// 判断当前元素与上一个元素是否相同
if
(
data
[
i
][
this
.
shopTypes
[
s
].
specName
]
==
data
[
i
-
1
][
this
.
shopTypes
[
s
].
specName
]
)
{
this
.
spanArrS
[
"spanArr"
+
s
][
this
.
posS
[
"pos"
+
s
]]
+=
1
;
this
.
spanArrS
[
"spanArr"
+
s
].
push
(
0
);
}
else
{
this
.
spanArrS
[
"spanArr"
+
s
].
push
(
1
);
this
.
posS
[
"pos"
+
s
]
=
i
;
}
}
}
}
}
// for (var i = 0; i
<
data
.
length
;
i
++
)
{
// if (i === 0) {
// this.spanArr1.push(1);
// this.pos1 = 0;
// } else {
// //如果笛卡尔积一直递增下去的话 这是一个很蠢的方法 由于我的要求层数是已知的 这里偷懒了 不然应该用for循环
// if (data[i].cailiao === data[i - 1].cailiao) {
// this.spanArr1[this.pos1] += 1;
// this.spanArr1.push(0);
// } else {
// this.spanArr1.push(1);
// this.pos1 = i;
// }
// }
// }
},
// 合并行数
objectSpanMethod1
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
this
.
shopTypes
&&
this
.
shopTypes
.
length
>
0
)
{
for
(
let
s
=
0
;
s
<
this
.
shopTypes
.
length
;
s
++
)
{
if
(
columnIndex
==
s
)
{
const
_row
=
this
.
spanArrS
[
"spanArr"
+
s
][
rowIndex
];
const
_col
=
_row
>
0
?
1
:
0
;
return
{
rowspan
:
_row
,
colspan
:
_col
,
};
// columnIndex === 1 找到第二列,合并他的列数
}
}
}
// columnIndex === 0 找到第一列,实现合并随机出现的行数
// if (columnIndex === 0) {
// const _row = this.spanArr[rowIndex];
// const _col = _row > 0 ? 1 : 0;
// return {
// rowspan: _row,
// colspan: _col
// };
// // columnIndex === 1 找到第二列,合并他的列数
// } else if (columnIndex === 1) {
// const _row = this.spanArr1[rowIndex];
// const _col = _row > 0 ? 1 : 0;
// return {
// rowspan: _row,
// colspan: _col
// };
// }
},
},
};
</
script
>
<
style
scoped
>
ul
,
li
{
list-style
:
none
;
margin
:
0
;
padding
:
0
;
}
.ullist
{
border
:
1px
solid
#e7eaec
;
padding
:
10px
;
margin-bottom
:
10px
;
}
.el-input-group
{
width
:
calc
(
100%
-
60px
);
}
.table_box
.el-input-group
{
width
:
100%
;
}
.addbtn
{
background-color
:
#5bc0de
!important
;
color
:
#fff
!important
;
border-radius
:
0
4px
4px
0
;
}
.eldelbtn
{
height
:
30px
;
padding
:
5px
20px
!important
;
margin-left
:
-3px
;
}
.childlist
{
margin-top
:
10px
;
}
.childlist
.el-input-group--append
.el-input__inner
{
padding
:
0
;
}
.el-button--medium
{
padding
:
10px
12px
;
}
.dfbtn
{
position
:
relative
;
}
.table_p
{
margin
:
0
;
text-align
:
center
;
}
.mark
{
background-color
:
#fcf8e3
;
padding
:
5px
;
/* font-size: 12px; */
margin-top
:
20px
;
}
</
style
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论