Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
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
mes
mes-ui
Commits
47976738
Commit
47976738
authored
Feb 20, 2024
by
hiyon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
销售订单详情调整用户选择样式
parent
8216ffcc
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
146 additions
and
39 deletions
+146
-39
factoryQuote.js
src/api/mes/od/factoryQuote.js
+0
-0
index.vue
src/components/ClientSelector/index.vue
+108
-0
OrderSync.vue
src/views/mes/order/sales/OrderSync.vue
+5
-21
index.vue
src/views/mes/order/salesdetail/index.vue
+31
-16
index.vue
src/views/mes/qt/factoryQuote/index.vue
+1
-1
vue.config.js
vue.config.js
+1
-1
No files found.
src/api/mes/
qt
/factoryQuote.js
→
src/api/mes/
od
/factoryQuote.js
View file @
47976738
File moved
src/components/ClientSelector/index.vue
0 → 100644
View file @
47976738
<
template
>
<el-dialog
title=
"客户选择"
:visible
.
sync=
"showFlag"
modal
width=
"80%"
center
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
inline
label-width=
"68px"
>
<el-form-item
label=
"客户编码"
prop=
"clientCode"
>
<el-input
v-model=
"queryParams.clientCode"
placeholder=
"请输入客户编码"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"客户名称"
prop=
"clientName"
>
<el-input
v-model=
"queryParams.clientName"
placeholder=
"请输入客户名称"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"客户简称"
prop=
"clientNick"
>
<el-input
v-model=
"queryParams.clientNick"
placeholder=
"请输入客户简称"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"英文名称"
prop=
"clientEn"
>
<el-input
v-model=
"queryParams.clientEn"
placeholder=
"请输入客户英文名称"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label-width=
"0"
>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"list"
ref=
"multipleTable"
@
select-all=
"onSelectAll"
@
select=
"onSelect"
@
row-dblclick=
"handleRowDbClick"
>
<el-table-column
type=
"selection"
/>
<el-table-column
label=
"客户编码"
prop=
"clientCode"
/>
<el-table-column
label=
"客户名称"
width=
"150px"
prop=
"clientName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"客户简称"
prop=
"clientNick"
/>
<el-table-column
label=
"客户类型"
prop=
"clientType"
>
<dict-tag
slot-scope=
"
{row}" :options="dict.type['mes_client_type']" :value="row.clientType"/>
</el-table-column>
<el-table-column
label=
"客户电话"
prop=
"tel"
/>
<el-table-column
label=
"联系人"
prop=
"contact1"
/>
<el-table-column
label=
"联系人-电话"
prop=
"contact1Tel"
/>
<el-table-column
label=
"是否启用"
prop=
"enableFlag"
>
<dict-tag
slot-scope=
"
{row}" :options="dict.type['sys_yes_no']" :value="row.enableFlag"/>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<div
slot=
"footer"
>
<el-button
type=
"primary"
@
click=
"confirmSelect"
>
确 定
</el-button>
<el-button
@
click=
"showFlag = false"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
listClient
}
from
'@/api/mes/md/client'
export
default
{
name
:
'ClientSelector'
,
dicts
:
[
'sys_yes_no'
,
'mes_client_type'
],
data
()
{
return
{
showFlag
:
false
,
loading
:
false
,
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
},
total
:
0
,
list
:
[],
selectedRows
:
null
}
},
created
()
{
this
.
getList
()
},
methods
:
{
/** 查询物料编码列表 */
getList
()
{
this
.
loading
=
true
listClient
(
this
.
queryParams
).
then
(
response
=>
{
this
.
list
=
response
.
rows
this
.
total
=
response
.
total
}).
finally
(()
=>
this
.
loading
=
false
)
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
this
.
getList
()
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
'queryForm'
)
this
.
handleQuery
()
},
onSelect
(
rows
,
row
)
{
this
.
$refs
.
multipleTable
.
clearSelection
()
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
row
)
this
.
selectedRows
=
row
},
onSelectAll
()
{
this
.
$refs
.
multipleTable
.
clearSelection
()
this
.
selectedRows
=
null
},
handleRowDbClick
(
row
)
{
if
(
row
)
{
this
.
selectedRows
=
row
this
.
$emit
(
'onSelected'
,
this
.
selectedRows
)
this
.
showFlag
=
false
}
},
//确定选中
confirmSelect
()
{
if
(
!
this
.
selectedRows
)
{
return
this
.
$notify
({
title
:
'提示'
,
type
:
'warning'
,
message
:
'请至少选择一条数据!'
})
}
this
.
$emit
(
'onSelected'
,
this
.
selectedRows
)
this
.
showFlag
=
false
}
}
}
</
script
>
src/views/mes/order/sales/OrderSync.vue
View file @
47976738
...
@@ -34,27 +34,11 @@ export default {
...
@@ -34,27 +34,11 @@ export default {
this
.
$confirm
(
"确定同步该条数据记录"
).
then
(()
=>
{
this
.
$confirm
(
"确定同步该条数据记录"
).
then
(()
=>
{
if
(
this
.
loading
)
return
if
(
this
.
loading
)
return
this
.
loading
=
true
this
.
loading
=
true
this
.
sapInfo
.
ITEM
.
forEach
(
item
=>
{
let
sapForm
=
this
.
$refs
.
sapForm
.
sapForm
if
(
!
item
.
MATNR
)
this
.
$message
.
error
(
"物料编号不能为空"
)
syncSapData
(
sapForm
).
then
(()
=>
{
if
(
!
item
.
WERKS
)
this
.
$message
.
error
(
"工厂不能为空 不能为空"
)
this
.
onGoBack
()
if
(
!
item
.
VSTEL
)
this
.
$message
.
error
(
"装运点/收货点 不能为空"
)
this
.
$message
.
success
(
"操作成功"
)
if
(
!
item
.
EDATU
)
this
.
$message
.
error
(
"计划行日期 不能为空"
)
}).
finally
(()
=>
this
.
loading
=
false
)
if
(
!
item
.
ZINCSUM
)
this
.
$message
.
error
(
"指令数(客户)汇总 不能为空"
)
if
(
!
item
.
SIZE
[
0
].
ZSIZE_NUM
)
this
.
$message
.
error
(
"SIZE 序号 不能为空"
)
if
(
!
item
.
SIZE
[
0
].
ZSIZE
)
this
.
$message
.
error
(
"SIZE 序号 尺码"
)
if
(
!
item
.
SIZE
[
0
].
ZINSNUM
)
this
.
$message
.
error
(
"指令数(客户) 尺码"
)
})
this
.
$refs
.
sapInfo
.
validate
(
valid
=>
{
if
(
valid
)
{
syncSapData
(
this
.
sapInfo
).
then
(()
=>
{
this
.
onGoBack
()
this
.
$message
.
success
(
"操作成功"
)
}).
finally
(()
=>
this
.
loading
=
false
)
}
else
{
this
.
loading
=
false
this
.
$message
.
error
(
"请检查表单"
)
}
})
})
})
},
},
...
...
src/views/mes/order/salesdetail/index.vue
View file @
47976738
...
@@ -7,9 +7,9 @@
...
@@ -7,9 +7,9 @@
<el-button
type=
"primary"
size=
"mini"
:loading=
"loading"
@
click=
"onEdit"
>
提交
</el-button>
<el-button
type=
"primary"
size=
"mini"
:loading=
"loading"
@
click=
"onEdit"
>
提交
</el-button>
</div>
</div>
</div>
</div>
<div
class=
"page-body"
>
<div
class=
"page-body
clearfix
"
>
<el-form
:model=
"form"
ref=
"form"
:rules=
"rules"
label-width=
"120px"
size=
"mini"
>
<el-form
:model=
"form"
ref=
"form"
:rules=
"rules"
label-width=
"120px"
size=
"mini"
>
<el-row
:gutter=
"10"
>
<el-row
class=
"form-row"
:gutter=
"10"
>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"订单编号"
prop=
"orderNo"
>
<el-form-item
label=
"订单编号"
prop=
"orderNo"
>
<el-input
v-model=
"form.orderNo"
placeholder=
"请输入 订单编号"
clearable
style=
"width: calc(100% - 90px);"
/>
<el-input
v-model=
"form.orderNo"
placeholder=
"请输入 订单编号"
clearable
style=
"width: calc(100% - 90px);"
/>
...
@@ -59,17 +59,11 @@
...
@@ -59,17 +59,11 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"客户编号"
prop=
"clientNo"
>
<el-form-item
label=
"客户名称"
prop=
"clientNo"
>
<el-select
v-model=
"form.clientId"
class=
"form-item"
placeholder=
"请选择 客户"
clearable
filterable
remote
:remote-method=
"getClientList"
>
<el-input
v-model=
"form.clientName"
readonly
placeholder=
"请选择客户"
>
<el-option
v-for=
"item in clientList"
:key=
"item.clientId"
:value=
"item.clientId"
:label=
"item.clientCode"
/>
<el-button
slot=
"append"
icon=
"el-icon-search"
@
click=
"$refs['ClientSelector'].showFlag = true"
/>
</el-select>
</el-input>
</el-form-item>
<ClientSelector
ref=
"ClientSelector"
@
onSelected=
"onSelectClient"
/>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"客户名称"
prop=
"clientId"
>
<el-select
v-model=
"form.clientId"
class=
"form-item"
placeholder=
"请选择 客户"
clearable
filterable
remote
:remote-method=
"getClientList"
>
<el-option
v-for=
"item in clientList"
:key=
"item.clientId"
:value=
"item.clientId"
:label=
"item.clientName"
/>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
...
@@ -200,7 +194,7 @@
...
@@ -200,7 +194,7 @@
<el-table-column
label=
"产品编码"
prop=
"itemNo"
show-overflow-tooltip
/>
<el-table-column
label=
"产品编码"
prop=
"itemNo"
show-overflow-tooltip
/>
<el-table-column
label=
"产品名称"
prop=
"itemName"
show-overflow-tooltip
/>
<el-table-column
label=
"产品名称"
prop=
"itemName"
show-overflow-tooltip
/>
<el-table-column
label=
"总数量"
prop=
"totalNum"
show-overflow-tooltip
/>
<el-table-column
label=
"总数量"
prop=
"totalNum"
show-overflow-tooltip
/>
<el-table-column
label=
"loss
数量"
prop=
"lossNum"
show-overflow-tooltip
/>
<el-table-column
label=
"loss
%"
prop=
"lossNum"
/>
<el-table-column
label=
"数量"
prop=
"num"
show-overflow-tooltip
/>
<el-table-column
label=
"数量"
prop=
"num"
show-overflow-tooltip
/>
<el-table-column
label=
"单价"
:formatter=
"r => this.formatMoney(r.price)"
show-overflow-tooltip
/>
<el-table-column
label=
"单价"
:formatter=
"r => this.formatMoney(r.price)"
show-overflow-tooltip
/>
<!--
<el-table-column
label=
"装运点"
prop=
"shipmentPointNo"
show-overflow-tooltip
/>
<!--
<el-table-column
label=
"装运点"
prop=
"shipmentPointNo"
show-overflow-tooltip
/>
...
@@ -281,7 +275,7 @@
...
@@ -281,7 +275,7 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<el-form-item
prop=
""
label=
"loss
数量
"
>
<el-form-item
prop=
""
label=
"loss
%
"
>
<el-input
v-model=
"itemForm.lossNum"
placeholder=
""
clearable
/>
<el-input
v-model=
"itemForm.lossNum"
placeholder=
""
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -558,15 +552,18 @@
...
@@ -558,15 +552,18 @@
<
script
>
<
script
>
import
{
addOrder
,
getOrder
,
updateOrder
}
from
'@/api/mes/od/salesOrder'
import
{
addOrder
,
getOrder
,
updateOrder
}
from
'@/api/mes/od/salesOrder'
import
{
getFactoryQuote
}
from
'@/api/mes/od/factoryQuote'
import
{
getSalesOrder
}
from
'@/api/mes/od/purchaseOrder'
import
{
getSalesOrder
}
from
'@/api/mes/od/purchaseOrder'
import
{
listUser
}
from
'@/api/system/user'
import
{
listUser
}
from
'@/api/system/user'
import
{
listClient
}
from
'@/api/mes/md/client'
import
{
listClient
}
from
'@/api/mes/md/client'
import
ItemSelect
from
'@/components/itemSelect/single.vue'
import
ItemSelect
from
'@/components/itemSelect/single.vue'
import
ClientSelector
from
'@/components/ClientSelector'
import
{
genCode
}
from
'@/api/system/autocode/rule'
import
{
genCode
}
from
'@/api/system/autocode/rule'
export
default
{
export
default
{
components
:
{
components
:
{
ItemSelect
ItemSelect
,
ClientSelector
,
},
},
dicts
:
[
'sales_order_state'
],
dicts
:
[
'sales_order_state'
],
computed
:
{
computed
:
{
...
@@ -774,14 +771,28 @@ export default {
...
@@ -774,14 +771,28 @@ export default {
this
.
showEditDetail
=
true
this
.
showEditDetail
=
true
this
.
$refs
.
itemForm
&&
this
.
$refs
.
itemForm
.
resetFields
()
this
.
$refs
.
itemForm
&&
this
.
$refs
.
itemForm
.
resetFields
()
this
.
itemForm
=
item
||
{
itemName
:
null
,
itemNo
:
null
,
num
:
null
,
amount
:
null
,
state
:
null
,
specList
:
[]
}
this
.
itemForm
=
item
||
{
itemName
:
null
,
itemNo
:
null
,
num
:
null
,
amount
:
null
,
state
:
null
,
specList
:
[]
}
this
.
itemForm
.
lossPercent
=
(
item
.
lossNum
/
item
.
totalNum
*
100
).
toFixed
(
2
)
this
.
itemForm
.
index
=
$index
this
.
itemForm
.
index
=
$index
},
},
onSelectClient
(
row
)
{
if
(
row
!=
undefined
)
{
this
.
form
.
clientId
=
row
.
clientId
;
this
.
form
.
clientCode
=
row
.
clientCode
;
this
.
form
.
clientName
=
row
.
clientName
;
this
.
form
.
sapClientCode
=
row
.
sapClientCode
;
}
},
onItemSelect
(
row
)
{
onItemSelect
(
row
)
{
if
(
row
!=
undefined
)
{
if
(
row
!=
undefined
)
{
this
.
itemForm
.
itemId
=
row
.
itemId
;
this
.
itemForm
.
itemId
=
row
.
itemId
;
this
.
itemForm
.
itemNo
=
row
.
itemCode
;
this
.
itemForm
.
itemNo
=
row
.
itemCode
;
this
.
itemForm
.
itemName
=
row
.
itemName
;
this
.
itemForm
.
itemName
=
row
.
itemName
;
let
params
=
{
clientId
:
row
.
clientId
,
itemId
:
row
.
itemId
,
validFrom
:
new
Date
()}
getFactoryQuote
(
params
).
then
(
res
=>
{
this
.
itemForm
.
price
=
res
.
data
.
price
})
}
}
},
},
...
@@ -966,4 +977,8 @@ export default {
...
@@ -966,4 +977,8 @@ export default {
width
:
100%
;
width
:
100%
;
}
}
.form-row
>
div
{
min-height
:
47px
;
}
</
style
>
</
style
>
src/views/mes/qt/factoryQuote/index.vue
View file @
47976738
...
@@ -197,7 +197,7 @@ import {
...
@@ -197,7 +197,7 @@ import {
getFactoryQuote
,
getFactoryQuote
,
listFactoryQuote
,
listFactoryQuote
,
updateFactoryQuote
updateFactoryQuote
}
from
'@/api/mes/
qt
/factoryQuote'
}
from
'@/api/mes/
od
/factoryQuote'
import
{
listClient
}
from
'@/api/mes/md/client'
import
{
listClient
}
from
'@/api/mes/md/client'
import
{
listMdItem
}
from
'@/api/mes/md/mdItem'
import
{
listMdItem
}
from
'@/api/mes/md/mdItem'
import
ItemSelect
from
'@/components/itemSelect/single.vue'
import
ItemSelect
from
'@/components/itemSelect/single.vue'
...
...
vue.config.js
View file @
47976738
...
@@ -35,7 +35,7 @@ module.exports = {
...
@@ -35,7 +35,7 @@ module.exports = {
proxy
:
{
proxy
:
{
// detail: https://cli.vuejs.org/config/#devserver-proxy
// detail: https://cli.vuejs.org/config/#devserver-proxy
[
process
.
env
.
VUE_APP_BASE_API
]:
{
[
process
.
env
.
VUE_APP_BASE_API
]:
{
target
:
`http://
192.168.66.110
:8080`
,
target
:
`http://
localhost
:8080`
,
// target: `http://192.168.4.122:8080`,
// target: `http://192.168.4.122:8080`,
changeOrigin
:
true
,
changeOrigin
:
true
,
pathRewrite
:
{
pathRewrite
:
{
...
...
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