Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
ybf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xulili
ybf
Commits
9cba91ed
Commit
9cba91ed
authored
Feb 03, 2020
by
Z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Z: Dot: store's single del done.
parent
dffe03fd
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
160 additions
and
159 deletions
+160
-159
store.js
ybf_admin/src/api/in/store.js
+9
-2
addStore.vue
ybf_admin/src/pages/in/contact/components/addStore.vue
+143
-145
store.vue
ybf_admin/src/pages/in/contact/store.vue
+2
-11
.eslintrc.js
ybf_admin/tests/unit/.eslintrc.js
+1
-1
yarn.lock
ybf_admin/yarn.lock
+5
-0
No files found.
ybf_admin/src/api/in/store.js
View file @
9cba91ed
...
...
@@ -17,11 +17,18 @@ export function ApiStoreGetStoreDetail(inData) {
})
}
export
function
ApiStoreAddStore
(
inData
)
{
return
request
({
url
:
'/admin/auth/stall/save'
,
method
:
'post'
,
data
:
qs
.
stringify
(
inData
)
})
}
export
function
ApiStoreDelStore
(
inData
)
{
return
request
({
url
:
'/admin/auth/stall/delete'
,
url
:
`/admin/auth/stall/delete?stallId=
${
inData
}
`
,
method
:
'delete'
,
params
:
inData
})
}
...
...
ybf_admin/src/pages/in/contact/components/addStore.vue
View file @
9cba91ed
...
...
@@ -14,234 +14,235 @@
<d2-icon-svg
name=
"close"
class=
"icon"
/>
</div>
</div>
<div
class=
"br"
>
<el-form
class=
"searchzone"
:model=
"formData"
label-width=
"auto"
ref=
"addStore"
:rules=
"rules"
>
<el-form-item
label=
"门店名称:"
prop=
"name"
>
<!--
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"addStore"
:rules=
"zrule"
>
-->
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"addStore"
>
<!--
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"createForm"
:rules=
"rules"
>
-->
<el-form-item
label=
"门店名称:"
prop=
"storeName"
>
<el-input
size=
"small"
v-model=
"
formData.n
ame"
style=
"width:240px"
v-model=
"
zdata.post.storeN
ame"
style=
"width:240px
;
"
placeholder=
"请输入门店名称"
/>
</el-form-item>
<el-form-item
label=
"门店类型:"
prop=
"type"
>
<el-form-item
label=
"门店类型:"
prop=
"storeType"
>
<el-select
size=
"small"
v-model=
"
formData.type
"
v-model=
"
zdata.post.storeTypeId
"
placeholder=
"请选择门店类型"
style=
"width:240px"
>
<el-option
v-for=
"item in storeType"
v-for=
"item in
zlist.
storeType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门店负责人:"
prop=
"people"
>
<el-select
size=
"small"
v-model=
"
formData.people
"
v-model=
"
zdata.post.storeBossId
"
placeholder=
"请选择门店负责人"
style=
"width:240px"
>
<el-option
v-for=
"item in
personList
"
v-for=
"item in
zlist.storeBossId
"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属柜组:"
prop=
"counter"
>
<el-select
size=
"small"
v-model=
"
formData.counter
"
v-model=
"
zdata.post.storeFromBarId
"
placeholder=
"请选择所属柜组"
style=
"width:240px"
>
<el-option
v-for=
"item in
counter
"
v-for=
"item in
zlist.storeFromBarId
"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门牌号:"
prop=
"number"
>
<el-input
size=
"small"
v-model=
"
formData.number
"
v-model=
"
zdata.post.storeDoorCode
"
style=
"width:240px"
placeholder=
"请输入门牌号"
/>
</el-form-item>
<el-form-item
label=
"位置:"
prop=
"area"
>
<el-input
size=
"small"
v-model=
"
formData.area
"
v-model=
"
zdata.post.storeAddress
"
style=
"width:240px"
placeholder=
"请输入位置"
/>
</el-form-item>
<div
class=
"cs"
>
<el-form-item
label=
"绑定店员:"
>
</el-form-item>
<div
style=
"display:inline-block;"
>
<el-transfer
style=
"text-align: left; display: inline-block"
v-model=
"value4"
:left-default-checked=
"[]"
:right-default-checked=
"[]"
:titles=
"['选择', '已选']"
:button-texts=
"['删除', '添加']"
@
change=
"handleChange"
:data=
"data"
>
<span
slot-scope=
"
{ option }"
>
{{
option
.
key
}}
-
{{
option
.
label
}}
</span
>
</el-transfer>
</div>
</div>
</el-form>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCancel('addStore')"
size=
"small"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleFinish('addStore')"
size=
"small"
>
确 定
</el-button>
<!--
<el-button
type=
"primary"
@
click=
"addStoreSubmit('createForm')"
size=
"small"
>
确 定
</el-button>
-->
<el-button
type=
"primary"
@
click=
"addStoreSubmit"
size=
"small"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
ApiStoreAddStore
}
from
"@api/in/store"
;
const
zlog
=
console
.
log
.
bind
(
console
);
export
default
{
data
()
{
const
generateData
=
_
=>
{
const
data
=
[];
for
(
let
i
=
1
;
i
<=
15
;
i
++
)
{
data
.
push
({
key
:
i
,
label
:
`备选项
${
i
}
`
,
disabled
:
i
%
4
===
0
});
}
return
data
;
};
// 中英文验证规则
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
;
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
'含有非法字符(只能输入字母、汉字)!'
))
callback
(
new
Error
(
"含有非法字符(只能输入字母、汉字)!"
));
}
else
{
callback
()
}
callback
();
}
};
return
{
addStoreDialog
:
false
,
data
:
generateData
(),
value
:
[
1
],
value4
:
[
1
],
renderFunc
(
h
,
option
)
{
return
<
span
>
{
option
.
key
}
-
{
option
.
label
}
<
/span>
;
},
formData
:
{
name
:
""
,
code
:
""
,
people
:
""
,
type
:
"1"
,
number
:
""
,
area
:
""
},
zlist
:
{
storeType
:
[
{
id
:
"1
"
,
name
:
"普通门店
"
id
:
"0
"
,
name
:
"普通
"
},
{
id
:
"2
"
,
id
:
"1
"
,
name
:
"专柜"
}
],
personList
:
[
storeBossId
:
[
{
id
:
"
1"
,
name
:
"张三
"
id
:
"200120013802092000
1"
,
name
:
"王月云
"
},
{
id
:
"
2"
,
name
:
"李四
"
id
:
"200120013802093000
2"
,
name
:
"李强
"
}
],
counter
:
[
storeFromBarId
:
[
{
id
:
"1
"
,
name
:
"张三
"
id
:
"2001201134572130000
"
,
name
:
"柜组一号
"
},
{
id
:
"2
"
,
name
:
"李四
"
id
:
"2001201135500920000
"
,
name
:
"柜组二号
"
}
],
rules
:
{
name
:
[{
required
:
true
,
message
:
"请输入柜组名称"
,
trigger
:
"blur"
},
{
validator
:
nameValidate
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
}],
people
:
[
{
required
:
true
,
message
:
"请选择门店负责人"
,
trigger
:
"change"
}
],
type
:
[
{
required
:
true
,
message
:
"请选择门店类型"
,
trigger
:
"change"
}
],
counter
:
[
{
required
:
true
,
message
:
"请选择所属柜组"
,
trigger
:
"change"
}
],
number
:
[
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
},
],
area
:
[
{
max
:
50
,
message
:
'长度在100个字符以内'
,
trigger
:
'blur'
},
]
]
},
zdata
:
{
post
:
{
storeName
:
""
,
storeTypeId
:
""
,
storeBossId
:
""
,
storeFromBarId
:
""
,
storeDoorCode
:
""
,
storeAddress
:
""
}
},
rules
:
{
// name: [
// { required: true, message: "请输入柜组名称F", trigger: "blur" },
// { validator: nameValidate, trigger: "blur" },
// { max: 50, message: "长度在50个字符以内", trigger: "blur" }
// ],
type
:
[{
required
:
true
,
message
:
"请选择门店类型"
,
trigger
:
"change"
}]
// people: [
// { required: true, message: "请选择门店负责人", trigger: "change" }
// ],
// counter: [
// { required: true, message: "请选择所属柜组", trigger: "change" }
// ],
// number: [{ max: 50, message: "长度在50个字符以内", trigger: "blur" }],
// area: [{ max: 50, message: "长度在100个字符以内", trigger: "blur" }]
},
addStoreDialog
:
false
};
},
methods
:
{
handleClose
(
done
)
{
this
.
$confirm
(
'确认关闭?'
)
this
.
$confirm
(
"确认关闭?"
)
.
then
(
_
=>
{
this
.
addStoreDialog
=
false
this
.
addStoreDialog
=
false
;
})
.
catch
(
_
=>
{});
},
handleCancel
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
this
.
addStoreDialog
=
false
this
.
addStoreDialog
=
false
;
},
handleFinish
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
addStoreDialog
=
false
}
else
{
console
.
log
(
'error submit!!'
);
return
false
;
}
});
},
handleChange
()
{},
addStoreSubmit
(
inDataName
=
""
)
{
let
postData
=
{
name
:
this
.
zdata
.
post
.
storeName
,
stallType
:
Number
(
this
.
zdata
.
post
.
storeTypeId
),
principal
:
Number
(
this
.
zdata
.
post
.
storeBossId
),
shopId
:
this
.
zdata
.
post
.
storeFromBarId
,
signNum
:
this
.
zdata
.
post
.
storeDoorCode
,
location
:
this
.
zdata
.
post
.
storeAddress
,
};
console
.
log
(
"--->postData ="
,
postData
);
ApiStoreAddStore
(
postData
)
.
then
(
res
=>
{
})
.
catch
(
err
=>
{});
// this.$refs[inDataName].validate(valid => {
// if (valid) {
// // this.addStoreDialog = false;
// let postData = {
// name: this.zdata.post.storeName,
// stallType: this.zdata.post.storeTypeId,
// principal: this.zdata.post.storeBossId,
// shopId: this.zdata.post.storeFromBarId,
// signNum: this.zdata.post.storeDoorCode,
// location: this.zdata.post.storeAddress
// };
// zlog("--->postData =", postData);
// // ApiStoreAddStore(postData)
// // .then(res => {})
// // .catch(err => {});
// } else {
// console.log("error submit!!");
// return false;
// }
// });
},
watch
:{
addStoreDialog
(){
if
(
this
.
addStoreDialog
){
if
(
this
.
$refs
.
addStore
){
handleChange
()
{}
},
watch
:
{
addStoreDialog
()
{
if
(
this
.
addStoreDialog
)
{
if
(
this
.
$refs
.
addStore
)
{
this
.
$refs
.
addStore
.
resetFields
();
}
}
...
...
@@ -251,10 +252,6 @@ export default {
</
script
>
<
style
scoped
>
.dialog
>>>
.el-dialog
{
height
:
calc
(
100vh
-
208px
);
overflow
:
auto
;
}
.choose
{
padding
:
16px
;
font-size
:
16px
;
...
...
@@ -302,6 +299,7 @@ export default {
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
60px
;
/* border: 2px solid red; */
}
.cs
{
display
:
flex
;
...
...
ybf_admin/src/pages/in/contact/store.vue
View file @
9cba91ed
...
...
@@ -35,9 +35,9 @@
<el-table-column
prop=
"name"
label=
"门店名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"type"
label=
"门店类型"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"principal"
label=
"门店负责人"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"s
ignNum
"
label=
"所属柜组"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"s
hopId
"
label=
"所属柜组"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"location"
label=
"位置"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"s
hopId
"
label=
"门牌号"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"s
ignNum
"
label=
"门牌号"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"storeGetStoreDetail(scope.row.id)"
class=
"btn"
>
详情
</el-button>
...
...
@@ -213,14 +213,8 @@ export default {
let
name
=
""
;
for
(
let
i
=
0
;
i
<
mainList
.
length
;
i
++
)
{
console
.
log
(
"--->list: Num ="
,
i
);
id
=
this
.
list
.
main
[
i
].
principal
;
console
.
log
(
"id ="
,
id
);
name
=
this
.
matchManIdAndManName
(
id
);
console
.
log
(
"name ="
,
name
);
this
.
list
.
main
[
i
].
principal
=
name
;
}
},
...
...
@@ -232,11 +226,8 @@ export default {
};
ApiStoreGetMainList
(
postData
).
then
(
res
=>
{
// this.list.mainV = res.data.adminStalls;
this
.
list
.
main
=
res
.
data
.
pageInfo_adminStalls
.
list
[
0
];
this
.
list
.
man
=
res
.
data
.
pageInfo_principals
.
list
[
0
];
console
.
log
(
"===>Main: Length ="
,
this
.
list
.
main
.
length
);
console
.
log
(
"===>Man: Length ="
,
this
.
list
.
man
.
length
);
this
.
transManIdToManName
();
});
},
...
...
ybf_admin/tests/unit/.eslintrc.js
View file @
9cba91ed
...
...
@@ -3,6 +3,6 @@ module.exports = {
jest
:
true
},
rules
:
{
'import/no-extraneous-dependencies'
:
'off'
//
'import/no-extraneous-dependencies': 'off'
}
}
\ No newline at end of file
ybf_admin/yarn.lock
View file @
9cba91ed
...
...
@@ -3684,6 +3684,11 @@ ejs@^2.6.1:
resolved "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1574560175968&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba"
integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=
el-tree-transfer@^2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/el-tree-transfer/-/el-tree-transfer-2.2.6.tgz#5115d49c13f15772a354fe250c6a63be412ef575"
integrity sha512-2vBex7F5uPiueP8e+5BpU1bad0A47DeS7DqlG/TA6DzXL4l3stHc5wTls6J0UQwKcUZO43eytebySKfrE58+uw==
electron-to-chromium@^1.3.322:
version "1.3.322"
resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment