Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yongxinda-admin
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
刘旭
yongxinda-admin
Commits
3951873a
提交
3951873a
authored
12月 08, 2022
作者:
刘旭
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完成配件修改功能
上级
3f03c869
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
171 行增加
和
30 行删除
+171
-30
useBaseLogin.ts
src/services/business/login/useBaseLogin.ts
+2
-2
parts.vue
src/views/commodityManage/components/parts.vue
+76
-0
selectSpec.vue
src/views/commodityManage/components/selectSpec.vue
+40
-12
edit.vue
src/views/commodityManage/edit.vue
+53
-14
userManage.vue
src/views/system/userManage.vue
+0
-2
没有找到文件。
src/services/business/login/useBaseLogin.ts
浏览文件 @
3951873a
...
@@ -7,8 +7,8 @@ export default function useBaseLogin() {
...
@@ -7,8 +7,8 @@ export default function useBaseLogin() {
//表单绑定的数据
//表单绑定的数据
const
loginModel
=
reactive
<
LoginParm
>
({
const
loginModel
=
reactive
<
LoginParm
>
({
username
:
'
admin
'
,
username
:
''
,
password
:
'
123456
'
,
password
:
''
,
code
:
''
code
:
''
})
})
//表单验证规则
//表单验证规则
...
...
src/views/commodityManage/components/parts.vue
0 → 100644
浏览文件 @
3951873a
<
template
>
<div
style=
"display: flex; flex-direction: column;"
>
<div
style=
"display: flex; flex-direction: row; margin-bottom: 20px;"
>
<div
style=
"margin-right: 50px;"
>
配件
</div>
<el-button
type=
"primary"
size=
"small"
@
click=
"handlePartsShow"
>
添加
</el-button>
</div>
<el-table
:data=
"partsData.partList"
border
>
<el-table-column
prop=
"partGoodsName"
label=
"配件名"
/>
<el-table-column
prop=
"bomCode"
label=
"BOM"
/>
<el-table-column
align=
"center"
label=
"操作"
width=
"100"
class-name=
"small-padding fixed-width"
>
<template
#
default=
"scope"
>
<el-button
type=
"warning"
size=
"small"
@
click=
"handlePartsDelete(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
<el-dialog
v-model=
"partsVisiable"
title=
"添加配置"
:modal-append-to-body=
"true"
:append-to-body=
"true"
>
<el-form
ref=
"partsRef"
:model=
"partsForm"
:rules=
"rules"
status-icon
label-position=
"left"
label-width=
"100px"
style=
"width: 400px; margin-left: 50px"
>
<el-form-item
label=
"名称"
prop=
"partGoodsName"
>
<el-input
v-model=
"partsForm.partGoodsName"
/>
</el-form-item>
<el-form-item
label=
"品牌"
prop=
"bomCode"
>
<el-input
v-model=
"partsForm.bomCode"
/>
</el-form-item>
</el-form>
<
template
#
footer
class=
"dialog-footer"
>
<el-button
@
click=
"partsVisiable = false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handlePartsAdd"
>
确定
</el-button>
</
template
>
</el-dialog>
</template>
<
script
setup
lang=
'ts'
>
import
{
ref
}
from
'vue'
let
props
=
defineProps
({
partsData
:
{
type
:
Object
,
default
:
{}
}
})
let
emits
=
defineEmits
([
'partsChange'
])
let
rules
=
ref
({
partGoodsName
:
{
required
:
true
,
message
:
''
,
trigger
:
'blur'
},
bomCode
:
{
required
:
true
,
message
:
''
,
trigger
:
'blur'
}
})
let
partsRef
=
ref
()
let
partsVisiable
=
ref
(
false
)
let
partsForm
=
ref
({
partGoodsName
:
""
,
bomCode
:
""
});
let
handlePartsShow
=
()
=>
{
partsForm
.
value
=
{
partGoodsName
:
""
,
bomCode
:
""
};
partsVisiable
.
value
=
true
;
}
let
handlePartsAdd
=
()
=>
{
partsRef
.
value
?.
validate
((
valid
:
boolean
)
=>
{
if
(
valid
)
{
emits
(
'partsChange'
,
'add'
,
partsForm
.
value
,
props
.
partsData
.
index
)
partsVisiable
.
value
=
false
;
}
})
}
let
handlePartsDelete
=
(
row
:
any
)
=>
{
emits
(
'partsChange'
,
'delete'
,
row
,
props
.
partsData
.
index
)
}
</
script
>
<
style
lang =
"scss"
scoped
>
</
style
>
\ No newline at end of file
src/views/commodityManage/components/selectSpec.vue
浏览文件 @
3951873a
...
@@ -23,16 +23,20 @@
...
@@ -23,16 +23,20 @@
<el-table-column
type=
"expand"
>
<el-table-column
type=
"expand"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
<el-row
style=
"padding: 30px;"
>
<el-row
style=
"padding: 30px;"
>
<el-col
:span=
"
12
"
style=
"margin-right: 30px;"
>
<el-col
:span=
"
8
"
style=
"margin-right: 30px;"
>
<params-attr
<params-attr
:attributeData=
"
{ attributeList: scope.row.attributeList, index: scope.$index }"
:attributeData=
"
{ attributeList: scope.row.attributeList, index: scope.$index }"
@paramsChange="paramsChange" style="width: 50%;" />
@paramsChange="paramsChange" style="width: 50%;" />
</el-col>
</el-col>
<el-col
:span=
"
11
"
>
<el-col
:span=
"
8
"
>
<main-config
<main-config
:mainConfigurationsData=
"
{ mainConfigurationsList: scope.row.mainConfigurationsList, index: scope.$index }"
:mainConfigurationsData=
"
{ mainConfigurationsList: scope.row.mainConfigurationsList, index: scope.$index }"
@mainConfigChange="mainConfigChange" style="width: 50%;" />
@mainConfigChange="mainConfigChange" style="width: 50%;" />
</el-col>
</el-col>
<el-col
:span=
"7"
style=
"margin-left: 2%"
>
<parts
:partsData=
"
{ partList: scope.row.partList, index: scope.$index }"
@partsChange="partsChange" style="width: 50%;" />
</el-col>
</el-row>
</el-row>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -64,6 +68,7 @@ import { ElMessage } from 'element-plus'
...
@@ -64,6 +68,7 @@ import { ElMessage } from 'element-plus'
import
paramsAttr
from
'./paramsAttr.vue'
import
paramsAttr
from
'./paramsAttr.vue'
import
mainConfig
from
'./mainConfig.vue'
import
mainConfig
from
'./mainConfig.vue'
import
addSpecifications
from
'./addSpecifications.vue'
import
addSpecifications
from
'./addSpecifications.vue'
import
parts
from
'./parts.vue'
let
props
=
defineProps
({
let
props
=
defineProps
({
specData
:
{
specData
:
{
...
@@ -149,6 +154,28 @@ let mainConfigChange = (type: string, data: any, index: any) => {
...
@@ -149,6 +154,28 @@ let mainConfigChange = (type: string, data: any, index: any) => {
}
}
}
}
// 配件操作
let
partsChange
=
(
type
:
string
,
data
:
any
,
index
:
any
)
=>
{
if
(
type
===
'add'
)
{
if
(
specificationData
.
value
[
index
].
id
!==
'undefined'
)
{
specificationData
.
value
[
index
].
updateTime
=
null
}
specificationData
.
value
[
index
].
partList
.
unshift
(
data
)
emits
(
'productsData'
,
specificationData
.
value
)
}
else
{
const
i
=
specificationData
.
value
[
index
].
partList
.
indexOf
(
data
);
let
deleteIndexPartsData
:
any
=
{}
// 记录要被删除的数据
if
(
typeof
specificationData
.
value
[
index
].
partList
[
i
].
deleted
!==
'undefined'
)
{
// deleted标为ture即为删除
deleteIndexPartsData
=
specificationData
.
value
[
index
].
partList
[
i
]
// 记录要被删除的数据
deleteIndexPartsData
.
deleted
=
true
deleteIndexPartsData
.
updateTime
=
null
}
specificationData
.
value
[
index
].
partList
.
splice
(
i
,
1
)
emits
(
'productsData'
,
specificationData
.
value
,
index
,
undefined
,
undefined
,
undefined
,
undefined
,
undefined
,
i
,
deleteIndexPartsData
)
}
}
// 每组只可以取一个
// 每组只可以取一个
let
radioChange
=
(
e
:
any
,
item
:
any
)
=>
{
let
radioChange
=
(
e
:
any
,
item
:
any
)
=>
{
// console.log(e, item);
// console.log(e, item);
...
@@ -183,7 +210,8 @@ let clickAdd = (formData: any) => {
...
@@ -183,7 +210,8 @@ let clickAdd = (formData: any) => {
number
:
0
,
number
:
0
,
url
:
""
,
url
:
""
,
attributeList
:
[],
attributeList
:
[],
mainConfigurationsList
:
[]
mainConfigurationsList
:
[],
partList
:
[]
}
}
data
=
{
...
data
,
...
formData
}
data
=
{
...
data
,
...
formData
}
specificationData
.
value
.
push
(
data
)
specificationData
.
value
.
push
(
data
)
...
@@ -227,11 +255,11 @@ let poty = ref()
...
@@ -227,11 +255,11 @@ let poty = ref()
// 把相同数据分组
// 把相同数据分组
let
group
=
(
data
:
any
)
=>
{
let
group
=
(
data
:
any
)
=>
{
let
arr
=
[]
as
any
//记录相同索引
let
arr
=
[]
as
any
//记录相同索引
let
test1
=
[...
data
]
// 拷贝
let
copyArr
=
[...
data
]
// 拷贝
let
list
=
[]
as
any
// 记录相同value
let
list
=
[]
as
any
// 记录相同value
let
spec
=
test1
[
0
].
specification
// 记录specification
let
spec
=
copyArr
[
0
].
specification
// 记录specification
test1
.
forEach
((
item
:
any
,
i
:
number
)
=>
{
copyArr
.
forEach
((
item
:
any
,
i
:
number
)
=>
{
if
(
item
.
specification
==
test1
[
0
].
specification
)
{
if
(
item
.
specification
==
copyArr
[
0
].
specification
)
{
arr
.
push
(
i
)
arr
.
push
(
i
)
list
.
push
({
list
.
push
({
value
:
item
.
value
,
value
:
item
.
value
,
...
@@ -245,13 +273,13 @@ let group = (data: any) => {
...
@@ -245,13 +273,13 @@ let group = (data: any) => {
if
(
arr
.
length
>
1
)
{
if
(
arr
.
length
>
1
)
{
if
(
index
<
0
)
{
if
(
index
<
0
)
{
index
=
0
index
=
0
test1
.
splice
(
index
,
1
)
copyArr
.
splice
(
index
,
1
)
}
else
{
}
else
{
index
-=
sum
index
-=
sum
test1
.
splice
(
index
,
1
)
copyArr
.
splice
(
index
,
1
)
}
}
}
else
{
}
else
{
test1
.
splice
(
index
,
1
)
copyArr
.
splice
(
index
,
1
)
}
}
});
});
specData
.
value
.
push
({
specData
.
value
.
push
({
...
@@ -259,8 +287,8 @@ let group = (data: any) => {
...
@@ -259,8 +287,8 @@ let group = (data: any) => {
values
:
list
,
values
:
list
,
specRadio
:
''
specRadio
:
''
})
})
if
(
test1
.
length
===
0
)
return
poty
.
value
=
[...
specData
.
value
]
if
(
copyArr
.
length
===
0
)
return
poty
.
value
=
[...
specData
.
value
]
else
group
(
test1
)
else
group
(
copyArr
)
}
}
defineExpose
({
defineExpose
({
...
...
src/views/commodityManage/edit.vue
浏览文件 @
3951873a
...
@@ -368,16 +368,19 @@ let htmlChange = (value: any) => nextTick(() => goods.value.detail = value)
...
@@ -368,16 +368,19 @@ let htmlChange = (value: any) => nextTick(() => goods.value.detail = value)
let
deleteData
=
[]
as
any
//记录删除数据
let
deleteData
=
[]
as
any
//记录删除数据
let
deleteParamsData
=
[]
as
any
//记录规格属性子数据table删除数据
let
deleteParamsData
=
[]
as
any
//记录规格属性子数据table删除数据
let
deleteMainData
=
[]
as
any
//记录规格属性子数据table删除数据
let
deleteMainData
=
[]
as
any
//记录规格属性子数据table删除数据
let
deletePartsData
=
[]
as
any
//记录规格属性子数据table删除数据
// deleteIndexData 记录被删除的数据, deleteIndex 记录被删除数据的索引
// deleteIndexData 记录被删除的数据, deleteIndex 记录被删除数据的索引
// 继续推si山吧 。。。
let
productsData
=
(
data
:
any
,
deleteIndex
?:
any
,
deleteIndexData
?:
any
,
let
productsData
=
(
data
:
any
,
deleteIndex
?:
any
,
deleteIndexData
?:
any
,
deleteParamsIndex
?:
any
,
deleteParamsIndexData
?:
any
,
deleteMainIndex
?:
any
,
deleteMainIndexData
?:
any
)
=>
{
deleteParamsIndex
?:
any
,
deleteParamsIndexData
?:
any
,
deleteMainIndex
?:
any
,
deleteMainIndexData
?:
any
,
deletePartsIndex
?:
any
,
deletePartsIndexData
?:
any
)
=>
{
products
.
value
=
data
products
.
value
=
data
if
(
deleteIndexData
)
{
if
(
deleteIndexData
)
{
if
(
deleteIndexData
.
deleted
!==
undefined
||
deleteIndexData
.
deleted
)
{
if
(
deleteIndexData
.
deleted
!==
undefined
||
deleteIndexData
.
deleted
)
{
deleteData
.
push
({
deleteIndexData
,
deleteIndex
})
deleteData
.
push
({
deleteIndexData
,
deleteIndex
})
}
}
}
}
if
(
deleteParamsIndexData
)
{
if
(
deleteParamsIndexData
)
{
if
(
deleteParamsIndexData
.
deleted
!==
undefined
||
deleteParamsIndexData
.
deleted
)
{
if
(
deleteParamsIndexData
.
deleted
!==
undefined
||
deleteParamsIndexData
.
deleted
)
{
deleteParamsData
.
push
({
deleteParamsIndexData
,
deleteParamsIndex
,
deleteIndex
})
deleteParamsData
.
push
({
deleteParamsIndexData
,
deleteParamsIndex
,
deleteIndex
})
...
@@ -391,6 +394,13 @@ let productsData = (data: any, deleteIndex?: any, deleteIndexData?: any,
...
@@ -391,6 +394,13 @@ let productsData = (data: any, deleteIndex?: any, deleteIndexData?: any,
console
.
log
(
'删除主要配置'
,
deleteMainData
);
console
.
log
(
'删除主要配置'
,
deleteMainData
);
}
}
}
}
if
(
deletePartsIndexData
)
{
if
(
deletePartsIndexData
.
deleted
!==
undefined
||
deletePartsIndexData
.
deleted
)
{
deletePartsData
.
push
({
deletePartsIndexData
,
deletePartsIndex
,
deleteIndex
})
console
.
log
(
'删除配件'
,
deletePartsData
);
}
}
}
}
let
handleCategoryChange
=
(
value
:
any
)
=>
{
let
handleCategoryChange
=
(
value
:
any
)
=>
{
...
@@ -434,25 +444,54 @@ let handleEdit = () => {
...
@@ -434,25 +444,54 @@ let handleEdit = () => {
// 要子数据参数table删除数据
// 要子数据参数table删除数据
if
(
deleteParamsData
.
length
!==
0
)
{
if
(
deleteParamsData
.
length
!==
0
)
{
deleteParamsData
.
map
((
item
:
any
)
=>
{
deleteParamsData
.
map
((
item
:
any
)
=>
{
products
.
value
[
item
.
deleteIndex
].
attributeList
.
map
((
res
:
any
,
r
:
number
)
=>
{
// table中只有一天数据的时候
if
(
r
===
item
.
deleteIndex
)
{
if
(
products
.
value
[
item
.
deleteIndex
].
attributeLis
.
length
===
0
)
{
products
.
value
[
item
.
deleteIndex
].
updateTime
=
null
products
.
value
[
item
.
deleteIndex
].
updateTime
=
null
products
.
value
[
r
].
attributeList
.
push
(
item
.
deleteParamsIndexData
)
products
.
value
[
item
.
deleteIndex
].
attributeList
.
push
(
item
.
deleteParamsIndexData
)
}
}
else
})
products
.
value
[
item
.
deleteIndex
].
attributeList
.
map
((
res
:
any
,
r
:
number
)
=>
{
if
(
r
===
item
.
deleteIndex
)
{
products
.
value
[
item
.
deleteIndex
].
updateTime
=
null
products
.
value
[
r
].
attributeList
.
push
(
item
.
deleteParamsIndexData
)
}
})
})
})
}
}
// 要子数据主要配置table删除数据
// 要子数据主要配置table删除数据
if
(
deleteMainData
.
length
!==
0
)
{
if
(
deleteMainData
.
length
!==
0
)
{
deleteMainData
.
map
((
item
:
any
)
=>
{
deleteMainData
.
map
((
item
:
any
)
=>
{
products
.
value
[
item
.
deleteIndex
].
mainConfigurationsList
.
map
((
res
:
any
,
r
:
number
)
=>
{
if
(
products
.
value
[
item
.
deleteIndex
].
mainConfigurationsList
.
length
===
0
)
{
if
(
r
===
item
.
deleteIndex
)
{
products
.
value
[
item
.
deleteIndex
].
updateTime
=
null
products
.
value
[
item
.
deleteIndex
].
updateTime
=
null
products
.
value
[
item
.
deleteIndex
].
mainConfigurationsList
.
push
(
item
.
deleteMainIndexData
)
products
.
value
[
r
].
mainConfigurationsList
.
push
(
item
.
deleteMainIndexData
)
}
else
}
products
.
value
[
item
.
deleteIndex
].
mainConfigurationsList
.
map
((
res
:
any
,
r
:
number
)
=>
{
})
if
(
r
===
item
.
deleteIndex
)
{
console
.
log
(
'mainsdksadn'
);
products
.
value
[
item
.
deleteIndex
].
updateTime
=
null
products
.
value
[
r
].
mainConfigurationsList
.
push
(
item
.
deleteMainIndexData
)
}
})
})
}
// 要子数据配件table删除数据
if
(
deletePartsData
.
length
!==
0
)
{
deletePartsData
.
map
((
item
:
any
)
=>
{
console
.
log
(
item
,
'partList'
,
products
.
value
[
item
.
deleteIndex
]);
if
(
products
.
value
[
item
.
deleteIndex
].
partList
.
length
===
0
)
{
products
.
value
[
item
.
deleteIndex
].
updateTime
=
null
products
.
value
[
item
.
deleteIndex
].
partList
.
push
(
item
.
deletePartsIndexData
)
}
else
products
.
value
[
item
.
deleteIndex
].
partList
.
map
((
res
:
any
,
r
:
number
)
=>
{
console
.
log
(
r
,
item
.
deleteIndex
,
'deleteIndex'
);
if
(
r
===
item
.
deleteIndex
)
{
console
.
log
(
'deleteIndexbbbb'
);
products
.
value
[
item
.
deleteIndex
].
updateTime
=
null
products
.
value
[
r
].
partList
.
push
(
item
.
deletePartsIndexData
)
}
})
})
})
}
}
console
.
log
(
products
.
value
,
'products.value'
);
specifications
.
value
=
[...
specificationsDeleteData
.
value
,
...
specifications
.
value
]
specifications
.
value
=
[...
specificationsDeleteData
.
value
,
...
specifications
.
value
]
const
finalGoods
=
{
const
finalGoods
=
{
goods
:
goods
.
value
,
goods
:
goods
.
value
,
...
...
src/views/system/userManage.vue
浏览文件 @
3951873a
...
@@ -247,7 +247,6 @@ function init() {
...
@@ -247,7 +247,6 @@ function init() {
// 是否启用
// 是否启用
const
switchChange
=
(
value
:
boolean
,
userId
:
any
)
=>
{
const
switchChange
=
(
value
:
boolean
,
userId
:
any
)
=>
{
// console.log(value, userId);
userEnabled
(
userId
).
then
((
res
:
any
)
=>
{
userEnabled
(
userId
).
then
((
res
:
any
)
=>
{
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
init
()
init
()
...
@@ -257,7 +256,6 @@ const switchChange = (value: boolean, userId: any) => {
...
@@ -257,7 +256,6 @@ const switchChange = (value: boolean, userId: any) => {
// 上传头像
// 上传头像
let
uploadPicUrl
=
(
res
:
any
)
=>
{
let
uploadPicUrl
=
(
res
:
any
)
=>
{
console
.
log
(
res
);
avatarUrl
.
value
=
res
.
data
.
url
;
avatarUrl
.
value
=
res
.
data
.
url
;
formData
.
value
.
avatar
=
res
.
data
.
url
formData
.
value
.
avatar
=
res
.
data
.
url
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论