Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
P
project
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
高宇
project
Commits
e23242cd
Commit
e23242cd
authored
Apr 15, 2019
by
高宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完成销售记录功能;
parent
a1cad095
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
405 additions
and
60 deletions
+405
-60
sales.js
src/apis/sales.js
+3
-0
singleInput.vue
src/components/common/singleInput.vue
+1
-1
singleSearchInput.vue
src/components/common/singleSearchInput.vue
+2
-2
singleSelect.vue
src/components/common/singleSelect.vue
+1
-1
operationSales.vue
src/components/sales/operation/operationSales.vue
+6
-10
addViewSales.vue
src/components/sales/view/addViewSales.vue
+22
-5
copyViewSales.vue
src/components/sales/view/copyViewSales.vue
+47
-5
editViewSales.vue
src/components/sales/view/editViewSales.vue
+47
-5
operationViewSales.vue
src/components/sales/view/operationViewSales.vue
+253
-22
salesItemTable.vue
src/components/sales/view/salesItemTable.vue
+7
-7
salesView.vue
src/components/sales/view/salesView.vue
+10
-1
singleItemMixin.js
src/lib/singleItemMixin.js
+6
-1
No files found.
src/apis/sales.js
View file @
e23242cd
...
@@ -59,6 +59,9 @@ export default {
...
@@ -59,6 +59,9 @@ export default {
getSalesComponent
:
{
getSalesComponent
:
{
url
:
'/vue/sales-order/get-product-component'
url
:
'/vue/sales-order/get-product-component'
},
},
getSalesSerie
:
{
url
:
'/vue/sales-order/get-product-serie'
},
// 搜索供应商名称
// 搜索供应商名称
searchSupplierByName
:
{
searchSupplierByName
:
{
url
:
'/vue/search/supplier-by-name'
url
:
'/vue/search/supplier-by-name'
...
...
src/components/common/singleInput.vue
View file @
e23242cd
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<span>
{{
label
}}
</span>
<span>
{{
label
}}
</span>
</el-col>
</el-col>
<el-col
:span=
"14"
>
<el-col
:span=
"14"
>
<el-input
v-model=
"item"
:placeholder=
"label"
:type=
"type"
:rows=
"rows"
size=
"mini"
>
<el-input
v-model=
"item"
:placeholder=
"label"
:type=
"type"
:rows=
"rows"
size=
"mini"
:disabled=
"disabled"
>
<template
slot=
"prepend"
>
<template
slot=
"prepend"
>
<span
v-if=
"prepend.text !== ''"
>
{{
prepend
.
text
}}
</span>
<span
v-if=
"prepend.text !== ''"
>
{{
prepend
.
text
}}
</span>
<i
:class=
"['fa', prepend.icon]"
v-if=
"prepend.icon !== ''"
></i>
<i
:class=
"['fa', prepend.icon]"
v-if=
"prepend.icon !== ''"
></i>
...
...
src/components/common/singleSearchInput.vue
View file @
e23242cd
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
:trigger-on-focus=
"false"
:trigger-on-focus=
"false"
:fetch-suggestions=
"querySearchAsync"
:fetch-suggestions=
"querySearchAsync"
placeholder=
"输入查找客户"
placeholder=
"输入查找客户"
:disabled=
"singleSearchDisabled"
:disabled=
"singleSearchDisabled
|| disabled
"
@
select=
"handleSelect"
@
select=
"handleSelect"
></el-autocomplete>
></el-autocomplete>
</el-col>
</el-col>
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
if
(
queryString
===
''
)
{
if
(
queryString
===
''
)
{
return
return
}
}
requestAPI
(
api
.
searchClientByName
,
{
requestAPI
(
api
[
this
.
api
]
,
{
data
:
{
data
:
{
name
:
queryString
name
:
queryString
}
}
...
...
src/components/common/singleSelect.vue
View file @
e23242cd
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<span>
{{
label
}}
</span>
<span>
{{
label
}}
</span>
</el-col>
</el-col>
<el-col
:span=
"14"
>
<el-col
:span=
"14"
>
<el-select
v-model=
"item"
:placeholder=
"label"
size=
"mini"
@
change=
"selectChange"
>
<el-select
v-model=
"item"
:placeholder=
"label"
size=
"mini"
@
change=
"selectChange"
filterable=
"filterable"
:disabled=
"this.disabled"
>
<template
slot=
"prefix"
v-if=
"prefix.text !== ''"
>
<template
slot=
"prefix"
v-if=
"prefix.text !== ''"
>
{{
prefix
.
text
}}
{{
prefix
.
text
}}
</
template
>
</
template
>
...
...
src/components/sales/operation/operationSales.vue
View file @
e23242cd
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
:form-serch-item=
"SalesOrders.client_id"
:form-serch-item=
"SalesOrders.client_id"
:form-show-text=
"searchText"
:form-show-text=
"searchText"
:set-option=
"setClientOption"
:set-option=
"setClientOption"
api=
"searchClientByName"
label=
"客户名称"
label=
"客户名称"
:single-search-disabled=
"singleSearchDisabled"
:single-search-disabled=
"singleSearchDisabled"
@
update:searchItem=
"val =>
{SalesOrders.client_id = val}">
@
update:searchItem=
"val =>
{SalesOrders.client_id = val}">
...
@@ -32,7 +33,7 @@
...
@@ -32,7 +33,7 @@
label=
"销售日期"
label=
"销售日期"
@
update:item=
"val =>
{SalesOrders.sales_date = val}">
@
update:item=
"val =>
{SalesOrders.sales_date = val}">
<span
slot=
"formError"
class=
"el-form-item__error"
>
<span
slot=
"formError"
class=
"el-form-item__error"
>
{{
errorData
[
'
project_id
'
]
}}
{{
errorData
[
'
sales_date
'
]
}}
</span>
</span>
</single-date-picker>
</single-date-picker>
</el-form-item>
</el-form-item>
...
@@ -66,7 +67,7 @@
...
@@ -66,7 +67,7 @@
:options-list="getOptions('SalesOrders[expire_remind_ahead]')"
:options-list="getOptions('SalesOrders[expire_remind_ahead]')"
@update:item="val => {SalesOrders.expire_remind_ahead = val}">
@update:item="val => {SalesOrders.expire_remind_ahead = val}">
<span
slot=
"formError"
class=
"el-form-item__error"
>
<span
slot=
"formError"
class=
"el-form-item__error"
>
{{
errorData
[
'
project_i
d'
]
}}
{{
errorData
[
'
expire_remind_ahea
d'
]
}}
</span>
</span>
</single-select>
</single-select>
</el-form-item>
</el-form-item>
...
@@ -74,7 +75,7 @@
...
@@ -74,7 +75,7 @@
<multiple-check-group
<multiple-check-group
:check-group-form-item=
"SalesOrders.remindReceivers"
:check-group-form-item=
"SalesOrders.remindReceivers"
label=
"提醒人"
label=
"提醒人"
:check-group-options-list=
"getOptions('SalesOrders[
r
emindReceivers]')"
:check-group-options-list=
"getOptions('SalesOrders[
salesOrderR
emindReceivers]')"
@
update:item=
"val =>
{SalesOrders.remindReceivers = val}">
@
update:item=
"val =>
{SalesOrders.remindReceivers = val}">
<span
slot=
"formError"
class=
"el-form-item__error"
>
<span
slot=
"formError"
class=
"el-form-item__error"
>
{{
errorData
[
'remindReceivers'
]
}}
{{
errorData
[
'remindReceivers'
]
}}
...
@@ -140,13 +141,8 @@
...
@@ -140,13 +141,8 @@
option
=
this
.
options
[
this
.
optionsKey
+
'['
+
key
+
']'
]
option
=
this
.
options
[
this
.
optionsKey
+
'['
+
key
+
']'
]
}
}
if
(
option
)
{
if
(
option
)
{
if
(
Object
.
keys
(
option
).
length
>
0
)
{
if
(
Array
.
isArray
(
option
.
value
[
0
]))
{
return
option
.
value
[
0
]
}
return
option
.
value
return
option
.
value
}
}
}
return
[]
return
[]
},
},
getForm
()
{
getForm
()
{
...
@@ -198,7 +194,7 @@
...
@@ -198,7 +194,7 @@
data
:
{
id
}
data
:
{
id
}
}).
then
(
res
=>
{
}).
then
(
res
=>
{
this
.
searchText
=
res
.
model
.
client
.
name
this
.
searchText
=
res
.
model
.
client
.
name
this
.
options
[
'SalesOrders[project_id]'
].
value
=
[
res
.
model
.
project
]
this
.
options
[
'SalesOrders[project_id]'
].
value
.
push
(
res
.
model
.
project
)
Object
.
keys
(
res
.
options
).
forEach
(
key
=>
{
Object
.
keys
(
res
.
options
).
forEach
(
key
=>
{
this
.
$set
(
this
.
options
,
key
,
res
.
options
[
key
])
this
.
$set
(
this
.
options
,
key
,
res
.
options
[
key
])
})
})
...
...
src/components/sales/view/addViewSales.vue
View file @
e23242cd
...
@@ -12,11 +12,12 @@
...
@@ -12,11 +12,12 @@
</
template
>
</
template
>
<
script
>
<
script
>
//
import {
import
{
//
requestAPI,
requestAPI
,
//
api
api
//
} from '@/lib/commonMixin'
}
from
'@/lib/commonMixin'
import
operationViewSales
from
'./operationViewSales'
import
operationViewSales
from
'./operationViewSales'
import
{
setModule
}
from
'../../../lib/viewHelper'
export
default
{
export
default
{
name
:
''
,
name
:
''
,
components
:
{
components
:
{
...
@@ -28,7 +29,23 @@
...
@@ -28,7 +29,23 @@
}
}
},
},
methods
:
{
methods
:
{
saveSalesItem
()
{},
saveSalesItem
()
{
let
form
=
this
.
$refs
.
operationViewSales
.
getForm
()
let
subData
=
setModule
(
form
.
SalesOrderItems
,
'SalesOrderItems'
)
requestAPI
(
api
.
saveSalesAddItem
,
{
data
:
{...
subData
}
}).
then
(
res
=>
{
this
.
$message
({
message
:
'保存成功!'
,
type
:
'success'
})
this
.
close
(
true
)
},
error
=>
{
error
.
msg
.
forEach
(
item
=>
{
this
.
$set
(
this
.
errorData
,
item
.
name
,
item
.
error
)
})
})
},
init
(
id
)
{
init
(
id
)
{
this
.
$refs
.
operationViewSales
.
initAdd
(
id
)
this
.
$refs
.
operationViewSales
.
initAdd
(
id
)
},
},
...
...
src/components/sales/view/copyViewSales.vue
View file @
e23242cd
<
template
>
<
template
>
<div>
<section>
<operation-view-sales
ref=
"operationViewSales"
</div>
type=
"copy"
:error-data=
"errorData"
@
update:type=
"type = 'add'"
>
<span
slot=
"operationBtn"
>
<el-button
type=
"primary"
@
click=
"saveSalesItem"
size=
"mini"
>
保存
</el-button>
<el-button
@
click=
"close"
size=
"mini"
>
关闭
</el-button>
</span>
</operation-view-sales>
</section>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
requestAPI
,
api
}
from
'@/lib/commonMixin'
import
operationViewSales
from
'./operationViewSales'
import
{
setModule
}
from
'../../../lib/viewHelper'
export
default
{
export
default
{
name
:
''
,
name
:
''
,
components
:
{
operationViewSales
},
data
()
{
data
()
{
return
{}
return
{
errorData
:
{}
}
},
},
methods
:
{
methods
:
{
init
()
{}
saveSalesItem
()
{
let
form
=
this
.
$refs
.
operationViewSales
.
getForm
()
delete
form
.
SalesOrderItems
.
id
let
subData
=
setModule
(
form
.
SalesOrderItems
,
'SalesOrderItems'
)
requestAPI
(
api
.
saveSalesAddItem
,
{
data
:
{...
subData
}
}).
then
(
res
=>
{
this
.
$message
({
message
:
'保存成功!'
,
type
:
'success'
})
this
.
close
(
true
)
},
error
=>
{
error
.
msg
.
forEach
(
item
=>
{
this
.
$set
(
this
.
errorData
,
item
.
name
,
item
.
error
)
})
})
},
init
(
id
)
{
this
.
$refs
.
operationViewSales
.
initCopy
(
id
)
},
close
(
getList
)
{
this
.
$emit
(
'close'
,
getList
)
}
},
},
created
()
{
created
()
{
}
}
...
...
src/components/sales/view/editViewSales.vue
View file @
e23242cd
<
template
>
<
template
>
<div>
<section>
<operation-view-sales
ref=
"operationViewSales"
</div>
:type=
"type"
:error-data=
"errorData"
@
update:type=
"type = 'add'"
>
<span
slot=
"operationBtn"
>
<el-button
type=
"primary"
@
click=
"saveSalesItem"
size=
"mini"
>
保存
</el-button>
<el-button
@
click=
"close"
size=
"mini"
>
关闭
</el-button>
</span>
</operation-view-sales>
</section>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
requestAPI
,
api
}
from
'@/lib/commonMixin'
import
operationViewSales
from
'./operationViewSales'
import
{
setModule
}
from
'../../../lib/viewHelper'
export
default
{
export
default
{
name
:
''
,
name
:
''
,
components
:
{
operationViewSales
},
data
()
{
data
()
{
return
{}
return
{
errorData
:
{},
type
:
''
}
},
},
methods
:
{
methods
:
{
init
()
{}
saveSalesItem
()
{
let
form
=
this
.
$refs
.
operationViewSales
.
getForm
()
let
subData
=
setModule
(
form
.
SalesOrderItems
,
'SalesOrderItems'
)
requestAPI
(
api
.
saveSalesEditItem
,
{
data
:
{...
subData
}
}).
then
(
res
=>
{
this
.
$message
({
message
:
'保存成功!'
,
type
:
'success'
})
this
.
close
(
true
)
},
error
=>
{
error
.
msg
.
forEach
(
item
=>
{
this
.
$set
(
this
.
errorData
,
item
.
name
,
item
.
error
)
})
})
},
init
(
id
)
{
this
.
$refs
.
operationViewSales
.
initEdit
(
id
)
},
close
(
getList
)
{
this
.
$emit
(
'close'
,
getList
)
}
},
},
created
()
{
created
()
{
}
}
...
...
src/components/sales/view/operationViewSales.vue
View file @
e23242cd
This diff is collapsed.
Click to expand it.
src/components/sales/view/salesItemTable.vue
View file @
e23242cd
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
header-align=
"center"
header-align=
"center"
min-width=
"10"
>
min-width=
"10"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
product
Type
?
scope
.
row
.
productType
.
name
:
'(未设置)'
}}
{{
scope
.
row
.
product
_type
!==
''
?
scope
.
row
.
productType
.
name
:
'(未设置)'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
header-align=
"center"
header-align=
"center"
min-width=
"10"
>
min-width=
"10"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
product
Component
?
scope
.
row
.
productComponent
.
name
:
'(未设置)'
}}
{{
scope
.
row
.
product
_component
!==
''
?
scope
.
row
.
productComponent
.
name
:
'(未设置)'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
header-align=
"center"
header-align=
"center"
min-width=
"10"
>
min-width=
"10"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
product
Brand
?
scope
.
row
.
productBrand
.
name
:
'(未设置)'
}}
{{
scope
.
row
.
product
_brand
!==
''
?
scope
.
row
.
productBrand
.
name
:
'(未设置)'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
header-align=
"center"
header-align=
"center"
min-width=
"10"
>
min-width=
"10"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
product
Serie
?
scope
.
row
.
productSerie
.
name
:
'(未设置)'
}}
{{
scope
.
row
.
product
_serie
!==
''
?
scope
.
row
.
productSerie
.
name
:
'(未设置)'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
header-align=
"center"
header-align=
"center"
min-width=
"10"
>
min-width=
"10"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
product
Misc
?
scope
.
row
.
productMisc
.
name
:
'(未设置)'
}}
{{
scope
.
row
.
product
_misc
!==
''
?
scope
.
row
.
productMisc
.
name
:
'(未设置)'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
...
@@ -58,7 +58,7 @@
...
@@ -58,7 +58,7 @@
header-align=
"center"
header-align=
"center"
min-width=
"10"
>
min-width=
"10"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
product
?
scope
.
row
.
product
.
name
:
'(未设置)'
}}
{{
scope
.
row
.
product
_id
!==
''
?
scope
.
row
.
product
.
name
:
'(未设置)'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
header-align=
"center"
header-align=
"center"
min-width=
"10"
>
min-width=
"10"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
supplier
?
scope
.
row
.
supplier
.
name
:
'(未设置)'
}}
{{
scope
.
row
.
supplier
_id
!==
''
?
scope
.
row
.
supplier
.
name
:
'(未设置)'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
...
...
src/components/sales/view/salesView.vue
View file @
e23242cd
...
@@ -137,6 +137,9 @@
...
@@ -137,6 +137,9 @@
close
(
getList
)
{
close
(
getList
)
{
this
.
$refs
.
sidePopup
&&
this
.
$refs
.
sidePopup
&&
this
.
$refs
.
sidePopup
.
close
()
this
.
$refs
.
sidePopup
.
close
()
if
(
getList
)
{
this
.
getList
()
}
},
},
popupClose
()
{
popupClose
()
{
this
.
$refs
.
sidePopup
&&
this
.
$refs
.
sidePopup
&&
...
@@ -178,8 +181,14 @@
...
@@ -178,8 +181,14 @@
}
else
if
(
this
.
model
[
item
.
key
].
name
)
{
}
else
if
(
this
.
model
[
item
.
key
].
name
)
{
value
=
this
.
model
[
item
.
key
].
name
value
=
this
.
model
[
item
.
key
].
name
this
.
$set
(
obj
,
'value'
,
value
===
''
?
'(未设置)'
:
value
)
this
.
$set
(
obj
,
'value'
,
value
===
''
?
'(未设置)'
:
value
)
}
else
{
if
(
typeof
this
.
model
[
item
.
key
]
===
'object'
)
{
if
(
Object
.
keys
(
this
.
model
[
item
.
key
]).
length
===
0
)
{
value
=
''
}
}
else
{
}
else
{
value
=
this
.
model
[
item
.
key
]
value
=
this
.
model
[
item
.
key
]
}
this
.
$set
(
obj
,
'value'
,
value
===
''
?
'(未设置)'
:
value
)
this
.
$set
(
obj
,
'value'
,
value
===
''
?
'(未设置)'
:
value
)
}
}
if
(
typeof
item
.
styleKey
!==
'undefined'
)
{
if
(
typeof
item
.
styleKey
!==
'undefined'
)
{
...
...
src/lib/singleItemMixin.js
View file @
e23242cd
...
@@ -101,7 +101,12 @@ export default {
...
@@ -101,7 +101,12 @@ export default {
setPrependText
:
''
,
setPrependText
:
''
,
engineerKey
:
''
,
engineerKey
:
''
,
checkGroupFormItem
:
Array
,
checkGroupFormItem
:
Array
,
singleSearchDisabled
:
Boolean
singleSearchDisabled
:
Boolean
,
api
:
String
,
filterable
:
{
type
:
Boolean
,
default
:
false
}
},
},
methods
:
{
methods
:
{
handleCheckGroupAll
(
val
,
item
)
{
handleCheckGroupAll
(
val
,
item
)
{
...
...
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