Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
Project
Project
Details
Activity
Releases
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-ui
Commits
4cc501a4
Commit
4cc501a4
authored
Jun 04, 2020
by
renjintao
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'product' of git.mes123.com:zhouyx/mes-ui into product-rjt
parents
d6ef13f7
9eda8978
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1245 additions
and
404 deletions
+1245
-404
dataGrid.vue
components/page/dataGrid.vue
+1
-1
zh-CN.js
i18n/locale/zh-CN.js
+17
-1
add.vue
pages/materiel/classification/add.vue
+2
-2
api.js
pages/materiel/classification/api.js
+23
-0
index.vue
pages/materiel/classification/index.vue
+290
-17
add.vue
pages/materiel/classification/spareParts/add.vue
+116
-0
index.vue
pages/materiel/classification/spareParts/index.vue
+41
-0
add.vue
pages/materiel/codeRule/add.vue
+138
-0
api.js
pages/materiel/codeRule/api.js
+22
-0
detail.vue
pages/materiel/codeRule/detail.vue
+65
-0
edit.vue
pages/materiel/codeRule/edit.vue
+115
-0
index.vue
pages/materiel/codeRule/index.vue
+151
-0
search.vue
pages/materiel/codeRule/search.vue
+66
-0
index.vue
pages/produce/execute/ProcessCase/index.vue
+42
-25
search.vue
pages/produce/execute/ProcessCase/search.vue
+105
-63
guidance.vue
pages/produce/execute/ProcessCheck/components/guidance.vue
+0
-270
index.vue
pages/produce/execute/ProcessCheck/guidance/index.vue
+37
-15
index.vue
pages/produce/execute/ProcessCheck/index.vue
+4
-4
execute.less
pages/produce/execute/execute.less
+10
-6
No files found.
components/page/dataGrid.vue
View file @
4cc501a4
...
...
@@ -375,7 +375,7 @@ export default {
this
.
$emit
(
"on-drag-drop"
,
a
,
b
);
},
easySearch
()
{
if
(
this
.
conditions
&&
this
.
conditions
.
keys
.
default
)
{
if
(
this
.
conditions
&&
this
.
conditions
.
keys
&&
this
.
conditions
.
keys
.
default
)
{
//判断没有传入条件的用默认的查询
this
.
conditions
.
keys
.
value
=
this
.
keys
;
}
...
...
i18n/locale/zh-CN.js
View file @
4cc501a4
...
...
@@ -1473,5 +1473,21 @@ export default {
routingDetailId
:
'工序id'
,
routingHeaderId
:
'工艺规程id'
,
type
:
'类型(工艺案例还是工艺提醒)'
,
}
},
coderule
:{
creationTime
:
'创建时间'
,
creatorUserId
:
'创建人'
,
lastModificationTime
:
'更新时间'
,
lastModifierUserId
:
'更新人'
,
isDeleted
:
'删除人'
,
deletionTime
:
'删除时间'
,
deleterUserId
:
'删除人'
,
code
:
'编码'
,
name
:
'名称'
,
type
:
'类型'
,
status
:
'状态'
,
description
:
'描述'
,
levelNum
:
'编码分类层数'
,
codeLength
:
'编码分类位数'
,
}
}
pages/materiel/classification/add.vue
View file @
4cc501a4
...
...
@@ -14,7 +14,7 @@
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"状态"
prop=
"productName"
placeholder=
"请选择"
>
<Select
v-model=
"entity.productName"
style=
"width:200px"
>
<Select
v-model=
"entity.productName"
>
<Option
value=
"0"
>
New York
</Option>
<Option
value=
"1"
disabled
>
London
</Option>
<Option
value=
"2"
>
Sydney
</Option>
...
...
@@ -109,7 +109,7 @@ export default {
this
.
$refs
.
form
.
validate
(
v
=>
{});
},
handleClose
()
{
this
.
$emit
(
'on-close'
)
this
.
$emit
(
"on-close"
);
}
}
};
...
...
pages/materiel/classification/api.js
0 → 100644
View file @
4cc501a4
import
Api
from
'@/plugins/request'
export
default
{
// index:`${systemUrl}/category/paged`,
// getleveltree(params){
// return Api.post(`${systemUrl}/category/paged`,params);
// },
list
(
params
){
return
Api
.
post
(
`
${
systemUrl
}
/category/list`
,
params
);
},
get
(
params
){
return
Api
.
get
(
`
${
systemUrl
}
/category/get`
,
params
);
},
create
(
params
){
return
Api
.
post
(
`
${
systemUrl
}
/category/create`
,
params
);
},
update
(
params
){
return
Api
.
post
(
`
${
systemUrl
}
/category/update`
,
params
);
},
delete
(
id
)
{
return
Api
.
delete
(
`
${
systemUrl
}
/category/delete`
,{
params
:{
id
:
id
}});
},
}
\ No newline at end of file
pages/materiel/classification/index.vue
View file @
4cc501a4
<
template
>
<div
class=
"classification"
>
<Button
type=
"dashed"
@
click=
"add"
>
新增
</Button>
<Modal
v-model=
"addModal"
title=
"新增"
footer-hide
width=
'1000'
>
<Add
@
on-close=
"cancel"
@
on-ok=
"addOk"
ref=
"add"
/>
<Layout>
<Sider
width=
"300"
v-if=
"showMenu"
>
<div
class=
"p-list"
>
<h3>
零部件库
<div
class=
"fr mr10 mt10"
>
<ButtonGroup
class=
"fr"
size=
"small"
>
<Button
icon=
"md-add"
title=
"新增顶级"
@
click=
"addNew"
></Button>
<Button
:icon=
"expand ? 'md-arrow-dropright' : 'md-arrow-dropdown'"
@
click=
"toggle"
title=
"展开/合并"
></Button>
<Button
icon=
"md-refresh"
title=
"刷新"
@
click=
"loadTree"
></Button>
<Button
icon=
"md-rewind"
title=
"收起"
@
click=
"hide"
></Button>
</ButtonGroup>
</div>
</h3>
<div
class=
"search"
>
<Input
search
placeholder=
"关键字"
v-model=
"keys"
clearable
/>
</div>
<div
class=
"fg"
>
<div
class=
"tree"
>
<Tree
:data=
"data"
ref=
"tree"
@
on-select-change=
"change"
:render=
"renderContent"
></Tree>
<Dropdown
transfer
ref=
"contentMenu"
style=
"display: none;"
trigger=
"click"
placement=
"right-start"
>
<DropdownMenu
slot=
"list"
ref=
"ppp"
style=
"min-width: 80px;"
>
<DropdownItem>
<a
@
click=
"add"
>
添加
</a>
</DropdownItem>
<DropdownItem
name=
"edit"
>
<a
@
click=
"edit"
>
修改
</a>
</DropdownItem>
<DropdownItem
name=
"del"
>
<a
@
click=
"remove"
>
删除
</a>
</DropdownItem>
</DropdownMenu>
</Dropdown>
</div>
</div>
</div>
</Sider>
<div
v-if=
"!showMenu"
class=
"show_menu"
>
<a
class=
"menu_play fr"
@
click=
"showMenuFn"
title=
"展开"
>
<Icon
type=
"ios-arrow-forward"
size=
"24"
/>
</a>
</div>
<Content
:class=
"!showMenu?'con_bord':''"
>
<!--
<Product
:parent=
"parent"
/>
-->
</Content>
</Layout>
<Modal
v-model=
"modal"
:title=
"title"
width=
"1000"
footer-hide
>
<component
:is=
"detail"
:eid=
"curId"
:nodeInfo=
"nodeInfo"
@
on-close=
"cancel"
@
on-ok=
"ok"
/>
</Modal>
</div>
</
template
>
<
script
>
import
Add
from
"./add"
;
// import spareParts from "./spareParts";
// import Product from "./product";
import
Api
from
"./api"
;
export
default
{
components
:
{
Add
},
name
:
""
,
data
()
{
return
{
addModal
:
false
keys
:
""
,
expand
:
false
,
list
:
[],
nodeInfo
:
{},
modal
:
false
,
title
:
"新增"
,
curId
:
0
,
detail
:
null
,
showMenu
:
true
,
parent
:
{
id
:
null
,
parentName
:
""
,
ids
:
""
}
};
},
created
()
{
this
.
loadTree
();
},
methods
:
{
showMenuFn
()
{
//this.$Message.info("展开左侧树")
this
.
showMenu
=
true
;
},
ok
()
{
this
.
loadTree
();
this
.
modal
=
false
;
this
.
curId
=
0
;
},
addNew
()
{
this
.
nodeInfo
.
id
=
0
;
this
.
add
();
},
add
()
{
this
.
addModal
=
true
;
this
.
curId
=
0
;
this
.
title
=
"新增"
;
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
modal
=
true
;
},
remove
(){
edit
()
{
// this.curId = this.nodeInfo.id;
// this.title = "编辑";
// this.detail = () => import("./edit");
// this.modal = true;
},
addOk
()
{
this
.
addModal
=
false
;
remove
()
{
// console.log(this.nodeInfo);
if
(
this
.
nodeInfo
.
children
.
length
>
1
)
{
this
.
$Message
.
error
(
"因为有子级,不能直接删除"
);
}
else
{
this
.
$Modal
.
confirm
({
title
:
"删除"
,
content
:
"<p>您确定要删除吗?</p>"
,
onOk
:
()
=>
{
Api
.
delete
(
this
.
nodeInfo
.
id
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
loadTree
();
this
.
$Message
.
success
(
"删除成功"
);
}
});
},
onCancel
:
()
=>
{
this
.
$Message
.
success
(
"取消删除"
);
}
});
}
},
cancel
()
{
this
.
addModal
=
false
;
this
.
curId
=
0
;
this
.
modal
=
false
;
},
renderContent
(
h
,
{
root
,
node
,
data
})
{
return
h
(
"span"
,
{
on
:
{
// click: () => {
// this.handleSelect(data); //手动选择树节点
// },
//右键点击事件
contextmenu
:
e
=>
{
e
.
preventDefault
();
this
.
$refs
.
contentMenu
.
$refs
.
reference
=
event
.
target
;
this
.
$refs
.
contentMenu
.
currentVisible
=
!
this
.
$refs
.
contentMenu
.
currentVisible
;
this
.
nodeInfo
=
data
;
}
}
},
data
.
title
);
},
// handleSelect(data) {
// this.$emit("clickItem", data);
// },
loadTree
()
{
let
conditions
=
[];
Api
.
list
({
conditions
:
conditions
}).
then
(
r
=>
{
setTree
(
r
.
result
);
function
setTree
(
data
)
{
data
.
map
(
u
=>
{
u
.
title
=
u
.
name
;
u
.
value
=
u
.
id
;
if
(
u
.
children
)
{
setTree
(
u
.
children
);
}
});
}
var
data
=
r
.
result
;
this
.
list
=
this
.
$u
.
clone
(
data
);
});
},
toggle
()
{
this
.
expand
=
!
this
.
expand
;
},
change
(
v
,
b
)
{
// console.log(v);
// console.log(b);
let
ids
=
[];
ids
.
push
(
b
.
value
);
if
(
b
.
children
)
{
addId
(
b
.
children
);
function
addId
(
data
)
{
data
.
map
(
u
=>
{
ids
.
push
(
u
.
value
);
if
(
u
.
children
)
{
addId
(
u
.
children
);
}
});
}
}
// this.$emit("on-select", b.value, b, ids);
},
hide
()
{
this
.
showMenu
=
false
;
}
},
computed
:
{
data
()
{
let
items
=
this
.
$u
.
clone
(
this
.
list
);
let
expand
=
this
.
expand
;
let
result
=
[];
search
(
this
.
keys
,
items
);
function
search
(
keys
,
data
)
{
data
.
map
(
u
=>
{
if
(
keys
.
length
<
u
.
title
)
{
u
.
expand
=
expand
;
result
.
push
(
u
);
}
else
{
u
.
expand
=
expand
;
if
(
u
.
title
.
indexOf
(
keys
)
>
-
1
)
{
result
.
push
(
u
);
}
else
if
(
u
.
children
)
{
search
(
keys
,
u
.
children
);
}
}
});
}
return
result
;
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
>
.classification {
width: 100%;
height: 100%;
font-family: Microsoft YaHei;
.ivu-layout-sider {
background: rgba(255, 255, 255, 1);
margin-right: 10px;
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
height: 87vh;
h4 {
height: 30px;
line-height: 30px;
background: #eee;
padding-left: 10px;
}
.p-list {
h3 {
height: 50px;
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: bold;
line-height: 50px;
color: rgba(81, 90, 110, 1);
background: rgba(245, 246, 250, 1);
opacity: 1;
padding-left: 10px;
}
.search {
height: 50px;
padding: 5px 10px;
}
.fg {
flex: none;
height: 100%;
overflow: auto;
padding-left: 10px;
}
.tree {
height: calc(100vh - 215px);
overflow: auto;
}
}
}
.show_menu {
width: 30px;
height: 30px;
position: fixed;
top: 100px;
left: 0;
z-index: 9;
.menu_play {
width: 30px;
height: 30px;
line-height: 34px;
font-size: 14px;
text-align: center;
color: #515a6e;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
background: #ffffff;
box-shadow: #ccc 2px 2px 4px 1px;
}
.menu_play:hover {
background-color: #2d8cf0;
color: white;
}
}
.ivu-layout-content {
// margin-left: 5px;
background: rgba(255, 255, 255, 1);
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
overflow: auto;
padding: 10px;
height: 87vh;
overflow-y: hidden;
}
}
</
style
>
\ No newline at end of file
pages/materiel/classification/spareParts/add.vue
0 → 100644
View file @
4cc501a4
<
template
>
<div>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"90"
>
<Row>
<Col
:span=
"12"
>
<FormItem
label=
"编码"
prop=
"userUnit"
>
<Input
v-model=
"entity.userUnit"
placeholder=
"请输入"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"名称"
prop=
"taskBased"
>
<Input
v-model=
"entity.taskBased"
placeholder=
"请输入"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
label=
"状态"
prop=
"productName"
placeholder=
"请选择"
>
<Select
v-model=
"entity.productName"
style=
"width:200px"
>
<Option
value=
"0"
>
New York
</Option>
<Option
value=
"1"
disabled
>
London
</Option>
<Option
value=
"2"
>
Sydney
</Option>
</Select>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
label=
"描述"
prop=
"productName"
>
<Input
v-model=
"entity.productName"
type=
"textarea"
placeholder=
"请输入..."
></Input>
</FormItem>
</Col>
<Col
:span=
"24"
>
<h4>
属性配置
</h4>
</Col>
<Col
:span=
"24"
style=
"padding:20px 0 0px 10px;margin-bottom:10px;"
class=
"table-solt"
>
<Table
border
:columns=
"columns"
:data=
"checkList"
class=
"tableCommon"
>
<template
slot-scope=
"
{ row, index }" slot="name">
<Input
v-model=
"row.name"
placeholder=
"请输入"
@
on-blur=
"setRow(row,index)"
/>
</
template
>
<
template
slot-scope=
"{ row, index }"
slot=
"require"
>
<Input
v-model=
"row.require"
placeholder=
"请输入"
@
on-blur=
"setRow(row,index)"
/>
</
template
>
<
template
slot-scope=
"{ row, index }"
slot=
"result"
>
<Input
v-model=
"row.result"
placeholder=
"请输入"
@
on-blur=
"setRow(row,index)"
/>
</
template
>
<
template
slot-scope=
"{ row, index }"
slot=
"pash"
>
<inputFile
v-model=
"row.file"
:files=
"true"
:parms=
"getParams(row.fileId)"
/>
</
template
>
<
template
slot-scope=
"{ row, index }"
slot=
"remark"
>
<Input
v-model=
"row.remark"
placeholder=
"请输入"
@
on-blur=
"setRow(row,index)"
/>
</
template
>
</Table>
</Col>
<Col
:span=
"24"
style=
"margin-bottom:20px;"
>
<Button
type=
"primary"
long
@
click=
"addNew"
class=
"mt10"
>
添加
</Button>
</Col>
<Col
:span=
"24"
style=
"text-align: right;"
>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
<Button
@
click=
"handleClose"
class=
"ml20"
>
取消
</Button>
</FormItem>
</Col>
</Row>
</Form>
</div>
</template>
<
script
>
export
default
{
data
()
{
return
{
entity
:
{},
disabled
:
false
,
columns
:
[
{
title
:
"序号"
,
type
:
"index"
,
width
:
80
,
align
:
"center"
},
{
title
:
"检验项目"
,
key
:
"name"
,
align
:
"center"
,
slot
:
"name"
},
{
title
:
"要求"
,
key
:
"require"
,
align
:
"center"
,
slot
:
"require"
},
{
title
:
"预测结果"
,
key
:
"result"
,
align
:
"center"
,
slot
:
"result"
}
],
checkList
:
[],
rules
:
{
businessName
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
businessCode
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
}
};
},
methods
:
{
setRow
()
{
this
.
checkList
=
r
.
result
;
},
addNew
()
{},
handleSubmit
()
{
this
.
$refs
.
form
.
validate
(
v
=>
{});
},
handleClose
()
{
this
.
$emit
(
'on-close'
)
}
}
};
</
script
>
pages/materiel/classification/spareParts/index.vue
0 → 100644
View file @
4cc501a4
<
template
>
<div
class=
"spare-parts"
>
<Button
type=
"dashed"
@
click=
"add"
>
新增
</Button>
<Modal
v-model=
"addModal"
title=
"新增"
footer-hide
width=
'1000'
>
<Add
@
on-close=
"cancel"
@
on-ok=
"addOk"
ref=
"add"
/>
</Modal>
</div>
</
template
>
<
script
>
import
Add
from
"./add"
;
export
default
{
components
:
{
Add
},
data
()
{
return
{
addModal
:
false
};
},
methods
:
{
add
()
{
this
.
addModal
=
true
;
},
remove
(){
},
addOk
()
{
this
.
addModal
=
false
;
},
cancel
()
{
this
.
addModal
=
false
;
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
.spare-parts {
width: 100%;
height: 100%;
}
</
style
>
\ No newline at end of file
pages/materiel/codeRule/add.vue
0 → 100644
View file @
4cc501a4
<
template
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"120"
>
<Row>
<Col
:span=
"12"
>
<FormItem
:label=
"l('code')"
prop=
"code"
>
<Input
v-model=
"entity.code"
disabled
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('name')"
prop=
"name"
>
<Input
v-model=
"entity.name"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('type')"
prop=
"type"
>
<Dictionary
code=
"material.code.type"
v-model=
"entity.type"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('status')"
prop=
"status"
>
<Dictionary
code=
"material.code.status"
v-model=
"entity.status"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('description')"
prop=
"description"
>
<Input
v-model=
"entity.description"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('levelNum')"
prop=
"levelNum"
>
<InputNumber
v-model=
"entity.levelNum"
:max=
"10"
:min=
"1"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('codeLength')"
prop=
"codeLength"
>
<InputNumber
v-model=
"entity.codeLength"
:max=
"5"
:min=
"1"
></InputNumber>
</FormItem>
</Col>
</Row>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
<Button
@
click=
"handleClose"
class=
"ml20"
>
取消
</Button>
</FormItem>
</Form>
</
template
>
<
script
>
import
Api
from
"./api"
;
export
default
{
name
:
"Add"
,
data
()
{
return
{
disabled
:
false
,
entity
:
{
creationTime
:
null
,
creatorUserId
:
null
,
lastModificationTime
:
null
,
lastModifierUserId
:
null
,
isDeleted
:
null
,
deletionTime
:
null
,
deleterUserId
:
null
,
code
:
""
,
name
:
""
,
type
:
null
,
status
:
null
,
description
:
""
,
levelNum
:
null
,
codeLength
:
null
},
// formValidate:{
// name:'',type:'',status:'',levelNum:'',codeLength:''
// },
rules
:
{
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
type
:
[{
required
:
true
,
message
:
"必填"
}],
status
:
[{
required
:
true
,
message
:
"必填"
}],
levelNum
:
[{
required
:
true
,
message
:
"必填"
}],
codeLength
:
[{
required
:
true
,
message
:
"必填"
}]
}
};
},
props
:
{
v
:
Object
,
eid
:
Number
},
mounted
()
{
if
(
this
.
eid
>
0
)
{
this
.
load
(
this
.
eid
);
}
},
methods
:
{
handleSubmit
()
{
this
.
$refs
.
form
.
validate
(
v
=>
{
if
(
v
)
{
this
.
disabled
=
true
;
Api
.
create
(
this
.
entity
)
.
then
(
r
=>
{
this
.
disabled
=
false
;
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"保存成功"
);
this
.
$emit
(
"on-ok"
);
}
else
{
this
.
$Message
.
error
(
"保存失败"
);
}
})
.
catch
(
err
=>
{
this
.
disabled
=
false
;
this
.
$Message
.
error
(
"保存失败"
);
console
.
warn
(
err
);
});
}
});
},
handleClose
()
{
this
.
$emit
(
"on-close"
);
},
load
(
v
)
{
Api
.
get
({
id
:
v
}).
then
(
r
=>
{
this
.
entity
=
r
.
result
;
this
.
entity
.
id
=
0
;
});
},
l
(
key
)
{
key
=
"coderule"
+
"."
+
key
;
return
this
.
$t
(
key
);
}
},
watch
:
{
v
()
{
this
.
entity
=
this
.
$u
.
clone
(
this
.
v
);
},
eid
(
v
)
{
if
(
v
>
0
)
{
this
.
load
(
v
);
}
}
}
};
</
script
>
\ No newline at end of file
pages/materiel/codeRule/api.js
0 → 100644
View file @
4cc501a4
import
Api
from
'@/plugins/request'
export
default
{
index
:
`
${
systemUrl
}
/coderule/paged`
,
paged
(
params
){
return
Api
.
post
(
`
${
systemUrl
}
/coderule/paged`
,
params
);
},
get
(
params
){
return
Api
.
get
(
`
${
systemUrl
}
/coderule/get`
,
params
);
},
create
(
params
){
return
Api
.
post
(
`
${
systemUrl
}
/coderule/create`
,
params
);
},
update
(
params
){
return
Api
.
post
(
`
${
systemUrl
}
/coderule/update`
,
params
);
},
delete
(
id
)
{
return
Api
.
delete
(
`
${
systemUrl
}
/coderule/delete`
,{
params
:{
id
:
id
}});
},
deletes
(
params
)
{
return
Api
.
post
(
`
${
systemUrl
}
/coderule/batchdelete`
,
params
);
}
}
\ No newline at end of file
pages/materiel/codeRule/detail.vue
0 → 100644
View file @
4cc501a4
<
template
>
<div
class=
"detail"
>
<Row>
<Filed
:span=
"12"
:name=
"l('code')"
>
{{
entity
.
code
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('name')"
>
{{
entity
.
name
}}
</Filed>
<!--
<Filed
:span=
"12"
:name=
"l('type')"
>
<state
code=
"material.code.type"
:value=
"entity.type"
type=
"text"
></state>
</Filed>
<Filed
:span=
"12"
:name=
"l('status')"
>
<state
code=
"material.code.status"
:value=
"entity.status"
type=
"text"
></state>
</Filed>
-->
<Filed
:span=
"24"
:name=
"l('description')"
>
{{
entity
.
description
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('levelNum')"
>
{{
entity
.
levelNum
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('codeLength')"
>
{{
entity
.
codeLength
}}
</Filed>
</Row>
</div>
</
template
>
<
script
>
import
Api
from
'./api'
export
default
{
name
:
'Add'
,
data
()
{
return
{
entity
:
{},
rules
:
{
name
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}],
code
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}]
}
}
},
props
:
{
eid
:
Number
},
mounted
()
{
if
(
this
.
eid
>
0
)
{
this
.
load
(
this
.
eid
);
}
},
methods
:
{
load
(
v
)
{
Api
.
get
({
id
:
v
}).
then
(
r
=>
{
this
.
entity
=
r
.
result
;
this
.
$emit
(
'on-load'
)
})
},
handleClose
()
{
this
.
$emit
(
'on-close'
)
},
l
(
key
)
{
key
=
"coderule"
+
"."
+
key
;
return
this
.
$t
(
key
)
}
},
watch
:
{
eid
(
v
)
{
if
(
v
>
0
)
{
this
.
load
(
v
);
}
}
}
}
</
script
>
\ No newline at end of file
pages/materiel/codeRule/edit.vue
0 → 100644
View file @
4cc501a4
<
template
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"120"
>
<Row>
<Col
:span=
"12"
>
<FormItem
:label=
"l('code')"
prop=
"code"
>
<Input
v-model=
"entity.code"
disabled
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('name')"
prop=
"name"
>
<Input
v-model=
"entity.name"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('type')"
prop=
"type"
>
<Dictionary
code=
"material.code.type"
v-model=
"entity.type"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('status')"
prop=
"status"
>
<Dictionary
code=
"material.code.status"
v-model=
"entity.status"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('description')"
prop=
"description"
>
<Input
v-model=
"entity.description"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('levelNum')"
prop=
"levelNum"
>
<InputNumber
v-model=
"entity.levelNum"
disabled
:max=
"10"
:min=
"1"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('codeLength')"
prop=
"codeLength"
>
<InputNumber
v-model=
"entity.codeLength"
disabled
:max=
"5"
:min=
"1"
></InputNumber>
</FormItem>
</Col>
</Row>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
<Button
@
click=
"handleClose"
class=
"ml20"
>
取消
</Button>
</FormItem>
</Form>
</
template
>
<
script
>
import
Api
from
"./api"
;
export
default
{
name
:
"Edit"
,
data
()
{
return
{
disabled
:
false
,
entity
:
{},
rules
:
{
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
type
:
[{
required
:
true
,
message
:
"必填"
}],
status
:
[{
required
:
true
,
message
:
"必填"
}],
levelNum
:
[{
required
:
true
,
message
:
"必填"
}],
codeLength
:
[{
required
:
true
,
message
:
"必填"
}]
}
};
},
props
:
{
eid
:
Number
},
mounted
()
{
if
(
this
.
eid
>
0
)
{
this
.
load
(
this
.
eid
);
}
},
methods
:
{
load
(
v
)
{
Api
.
get
({
id
:
v
}).
then
(
r
=>
{
this
.
entity
=
r
.
result
;
});
},
handleSubmit
()
{
this
.
$refs
.
form
.
validate
(
v
=>
{
if
(
v
)
{
this
.
disabled
=
true
;
Api
.
update
(
this
.
entity
)
.
then
(
r
=>
{
this
.
disabled
=
false
;
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"保存成功"
);
this
.
$emit
(
"on-ok"
);
}
else
{
this
.
$Message
.
error
(
"保存失败"
);
}
})
.
catch
(
err
=>
{
this
.
disabled
=
false
;
this
.
$Message
.
error
(
"保存失败"
);
console
.
warn
(
err
);
});
}
});
},
handleClose
()
{
this
.
$emit
(
"on-close"
);
},
l
(
key
)
{
key
=
"coderule"
+
"."
+
key
;
return
this
.
$t
(
key
);
}
},
watch
:
{
eid
(
v
)
{
if
(
v
!=
0
)
{
this
.
load
(
v
);
}
}
}
};
</
script
>
\ No newline at end of file
pages/materiel/codeRule/index.vue
0 → 100644
View file @
4cc501a4
<
template
>
<div>
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
><template
slot=
"easySearch"
><Form
ref=
"formInline"
:model=
"easySearch"
inline
><FormItem
prop=
"keys"
><Input
placeholder=
"请输入关键字编码/名称"
v-model=
"easySearch.keys.value"
/>
</FormItem>
<FormItem><Button
type=
"primary"
@
click=
"search"
>
查询
</Button></FormItem>
</Form></
template
>
<
template
slot=
"searchForm"
>
<Search
/>
</
template
>
<
template
slot=
"buttons"
>
<Button
type=
"primary"
@
click=
"add"
>
新增
</Button>
</
template
>
</DataGrid>
<Modal
v-model=
"modal"
:title=
"title"
width=
"800"
footer-hide
>
<component
:is=
"detail"
:eid=
"curId"
@
on-close=
"cancel"
@
on-ok=
"ok"
/>
</Modal>
</div>
</template>
<
script
>
import
Api
from
'./api'
import
Search
from
'./search'
export
default
{
name
:
'list'
,
components
:{
Search
},
head
:
{
title
:
"物料编码规则"
,
author
:
"henq"
,
description
:
"coderule 6/4/2020 9:02:55 AM"
,
},
data
()
{
return
{
action
:
Api
.
index
,
easySearch
:
{
keys
:{
op
:
"code,name"
,
value
:
null
}
},
modal
:
false
,
title
:
"新增"
,
detail
:
null
,
curId
:
0
,
columns
:
[
{
key
:
"id"
,
title
:
this
.
$t
(
"id"
)
,
hide
:
true
,
align
:
"left"
,
high
:
true
},
{
key
:
"creationTime"
,
title
:
this
.
l
(
"creationTime"
)
,
hide
:
true
,
align
:
"left"
,
high
:
true
},
{
key
:
"creatorUserId"
,
title
:
this
.
l
(
"creatorUserId"
)
,
hide
:
true
,
align
:
"left"
,
high
:
true
},
{
key
:
"lastModificationTime"
,
title
:
this
.
l
(
"lastModificationTime"
)
,
hide
:
true
,
align
:
"left"
,
high
:
true
},
{
key
:
"lastModifierUserId"
,
title
:
this
.
l
(
"lastModifierUserId"
)
,
hide
:
true
,
align
:
"left"
,
high
:
true
},
{
key
:
"isDeleted"
,
title
:
this
.
l
(
"isDeleted"
)
,
align
:
"left"
,
hide
:
true
,
high
:
true
},
{
key
:
"deletionTime"
,
title
:
this
.
l
(
"deletionTime"
)
,
hide
:
true
,
align
:
"left"
,
high
:
true
},
{
key
:
"deleterUserId"
,
title
:
this
.
l
(
"deleterUserId"
)
,
hide
:
true
,
align
:
"left"
,
high
:
true
},
{
key
:
"code"
,
title
:
this
.
l
(
"code"
)
,
align
:
"left"
,
easy
:
true
,
high
:
true
},
{
key
:
"name"
,
title
:
this
.
l
(
"name"
)
,
align
:
"left"
,
easy
:
true
,
high
:
true
},
{
key
:
"type"
,
title
:
this
.
l
(
"type"
)
,
align
:
"center"
,
high
:
true
,
code
:
"material.code.type"
},
{
key
:
"status"
,
title
:
this
.
l
(
"status"
)
,
align
:
"center"
,
high
:
true
,
code
:
"material.code.status"
},
{
key
:
"description"
,
title
:
this
.
l
(
"description"
)
,
align
:
"center"
,
high
:
true
},
{
key
:
"levelNum"
,
title
:
this
.
l
(
"levelNum"
)
,
align
:
"center"
,
high
:
true
,
hide
:
true
,
},
{
key
:
"codeLength"
,
title
:
this
.
l
(
"codeLength"
)
,
align
:
"center"
,
high
:
true
,
hide
:
true
,
},
{
title
:
'操作'
,
key
:
'action'
,
width
:
140
,
align
:
'center'
,
render
:
(
h
,
params
)
=>
{
return
h
(
'div'
,
{
class
:
"action"
},
[
h
(
'op'
,
{
attrs
:
{
oprate
:
'detail'
},
on
:
{
click
:
()
=>
this
.
view
(
params
.
row
.
id
)
}
},
'查看'
),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
h
(
'op'
,
{
attrs
:
{
oprate
:
'edit'
},
on
:
{
click
:
()
=>
this
.
edit
(
params
.
row
.
id
)
}
},
'编辑'
),
h
(
'op'
,
{
attrs
:
{
oprate
:
'delete'
},
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
.
id
)
}
},
'删除'
)
])
}
},
]
}
},
mounted
(){
console
.
log
(
this
);
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
methods
:{
ok
()
{
this
.
$refs
.
grid
.
load
()
this
.
modal
=
false
this
.
curId
=
0
;
},
search
()
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
)
},
add
()
{
this
.
curId
=
0
;
this
.
title
=
"新增"
;
this
.
detail
=
()
=>
import
(
'./add'
)
this
.
modal
=
true
;
},
copy
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"克隆"
;
this
.
detail
=
()
=>
import
(
'./add'
)
this
.
modal
=
true
;
},
view
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"详情"
;
this
.
detail
=
()
=>
import
(
'./detail'
)
this
.
modal
=
true
;
},
edit
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"编辑"
;
this
.
detail
=
()
=>
import
(
'./edit'
)
this
.
modal
=
true
;
},
remove
(
id
)
{
Api
.
delete
(
id
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$refs
.
grid
.
load
();
this
.
$Message
.
success
(
'删除成功'
)
}
})
},
cancel
()
{
this
.
curId
=
0
;
this
.
modal
=
false
},
l
(
key
)
{
/*
coderule:{
creationTime:'创建时间',
creatorUserId:'创建人',
lastModificationTime:'更新时间',
lastModifierUserId:'更新人',
isDeleted:'删除人',
deletionTime:'删除时间',
deleterUserId:'删除人',
code:'编码',
name:'名称',
type:'类型',
status:'状态',
description:'描述',
levelNum:'编码分层数',
codelength:'编码分类位数',
}
*/
let
vkey
=
"coderule"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
}
}
}
</
script
>
<
style
lang=
"less"
>
</
style
>
\ No newline at end of file
pages/materiel/codeRule/search.vue
0 → 100644
View file @
4cc501a4
<
template
>
<Form
ref=
"form"
:model=
"condition"
:label-width=
"120"
>
<Row>
<Col
:span=
"12"
:v-if=
"condition.id.show"
><FormItem
:label=
"$t('id')"
prop=
"id"
>
<Input
v-model=
"condition.id.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.creationTime.show"
><FormItem
:label=
"l('creationTime')"
prop=
"creationTime"
>
<DatePicker
type=
"daterange"
v-model=
"condition.creationTime.value"
></DatePicker>
</FormItem></Col>
<!--
<Col
:span=
"12"
:v-if=
"condition.creatorUserId.show"
><FormItem
:label=
"l('creatorUserId')"
prop=
"creatorUserId"
>
<Input
v-model=
"condition.creatorUserId.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.lastModificationTime.show"
><FormItem
:label=
"l('lastModificationTime')"
prop=
"lastModificationTime"
>
<DatePicker
type=
"daterange"
v-model=
"condition.lastModificationTime.value"
></DatePicker>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.lastModifierUserId.show"
><FormItem
:label=
"l('lastModifierUserId')"
prop=
"lastModifierUserId"
>
<Input
v-model=
"condition.lastModifierUserId.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.deletionTime.show"
><FormItem
:label=
"l('deletionTime')"
prop=
"deletionTime"
>
<DatePicker
type=
"daterange"
v-model=
"condition.deletionTime.value"
></DatePicker>
</FormItem></Col>
-->
<Col
:span=
"12"
:v-if=
"condition.code.show"
><FormItem
:label=
"l('code')"
prop=
"code"
>
<Input
v-model=
"condition.code.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.name.show"
><FormItem
:label=
"l('name')"
prop=
"name"
>
<Input
v-model=
"condition.name.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.type.show"
><FormItem
:label=
"l('type')"
prop=
"type"
>
<Dictionary
code=
"material.code.type"
v-model=
"condition.type.value"
></Dictionary>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.status.show"
><FormItem
:label=
"l('status')"
prop=
"status"
>
<Dictionary
code=
"material.code.status"
v-model=
"condition.status.value"
></Dictionary>
</FormItem></Col>
<Col
:span=
"24"
:v-if=
"condition.description.show"
><FormItem
:label=
"l('description')"
prop=
"description"
>
<Input
v-model=
"condition.description.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.levelNum.show"
><FormItem
:label=
"l('levelNum')"
prop=
"levelNum"
>
<Input
v-model=
"condition.levelNum.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.codeLength.show"
><FormItem
:label=
"l('codeLength')"
prop=
"codeLength"
>
<Input
v-model=
"condition.codeLength.value"
>
</Input>
</FormItem></Col>
</Row>
</Form>
</
template
>
<
script
>
import
Api
from
'./api'
export
default
{
name
:
'Add'
,
data
()
{
return
{
condition
:
{
id
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
creationTime
:{
op
:
"Range"
,
value
:
null
,
show
:
true
},
creatorUserId
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
lastModificationTime
:{
op
:
"Range"
,
value
:
null
,
show
:
true
},
lastModifierUserId
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
deletionTime
:{
op
:
"Range"
,
value
:
null
,
show
:
true
},
code
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
name
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
type
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
status
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
description
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
levelNum
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
codeLength
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
},
}
},
methods
:
{
handleClose
()
{
this
.
$emit
(
'on-close'
)
},
l
(
key
)
{
key
=
"coderule"
+
"."
+
key
;
return
this
.
$t
(
key
)
}
}
}
</
script
>
\ No newline at end of file
pages/produce/execute/ProcessCase/index.vue
View file @
4cc501a4
<
template
>
<div
class=
"pross_case"
>
<!-- table -->
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
type=
"card"
:span=
"6"
class=
"table_box"
>
<!-- table -->
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
:conditions=
"easySearch"
type=
"card"
:span=
"6"
:high=
"false"
>
<template
slot=
"easySearch"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<FormItem
prop=
"keys"
>
...
...
@@ -19,22 +27,24 @@
<Button
type=
"primary"
@
click=
"add"
>
新增
</Button>
</
template
>
<
template
slot=
"card"
slot-scope=
"{row}"
>
<div
class=
"card_box"
@
click=
"changeCards(row)"
>
<Row
:gutter=
"16"
>
<Col
span=
"6"
>
<div
class=
"file"
>
<Icon
type=
"ios-paper"
v-if=
"row.id%2==0"
/>
<Icon
type=
"md-film"
v-else
/>
</div>
</Col>
<Col
span=
"18"
>
<p><b>
{{
row
.
title
}}
</b></p>
<p>
{{
row
.
creationTime
}}
</p>
<p>
{{
row
.
id
}}{{
row
.
creator
}}
</p>
</Col>
</Row>
</div>
<!--
<Tag
type=
"dot"
slot-scope=
"
{row}" :checkable="true" class="tag_card" size="large" :name="row.id" :key="row.index" :checked="row.checked"
<div
class=
"card_box"
@
click=
"changeCards(row)"
>
<Row
:gutter=
"16"
>
<Col
span=
"6"
>
<div
class=
"file"
>
<Icon
type=
"ios-paper"
v-if=
"row.id%2==0"
/>
<Icon
type=
"md-film"
v-else
/>
</div>
</Col>
<Col
span=
"18"
>
<p>
<b>
{{
row
.
title
}}
</b>
</p>
<p>
{{
row
.
creationTime
}}
</p>
<p>
{{
row
.
id
}}{{
row
.
creator
}}
</p>
</Col>
</Row>
</div>
<!--
<Tag
type=
"dot"
slot-scope=
"
{row}" :checkable="true" class="tag_card" size="large" :name="row.id" :key="row.index" :checked="row.checked"
color="primary" @on-change="changeCards" >
<Row
:gutter=
"16"
>
<Col
span=
"6"
>
...
...
@@ -49,7 +59,7 @@
<p>
{{
row
.
id
}}{{
row
.
creator
}}
</p>
</Col>
</Row>
</Tag>
-->
</Tag>
-->
</
template
>
</DataGrid>
<Modal
v-model=
"modal"
:title=
"title"
width=
"1200"
footer-hide
>
...
...
@@ -66,7 +76,7 @@ export default {
Search
},
head
:
{
title
:
"工艺案例
/工艺提醒
"
,
title
:
"工艺案例"
,
author
:
"henq"
,
description
:
"process_case 6/1/2020 5:06:34 PM"
},
...
...
@@ -74,7 +84,8 @@ export default {
return
{
action
:
Api
.
index
,
easySearch
:
{
keys
:
{
op
:
"title"
,
value
:
null
}
keys
:
{
op
:
"title"
,
value
:
null
},
type
:
{
op
:
"Equal"
,
value
:
1
}
},
modal
:
false
,
title
:
"新增"
,
...
...
@@ -184,7 +195,6 @@ export default {
},
"查看"
),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
h
(
"op"
,
{
...
...
@@ -207,15 +217,22 @@ export default {
]
};
},
created
()
{},
mounted
()
{
console
.
log
(
this
);
// console.log(this);
// let where = { type: { op: "Equal", value: 1 } };
// this.$refs.grid.reload(where);
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
methods
:
{
changeCards
(
carData
){
this
.
$Message
.
success
(
"选择工艺"
)
laodparme
()
{
console
.
log
(
555
);
this
.
$refs
.
grid
.
reload
(
condition
);
},
changeCards
(
carData
)
{
this
.
$Message
.
success
(
"选择工艺"
);
},
ok
()
{
this
.
$refs
.
grid
.
load
();
...
...
pages/produce/execute/ProcessCase/search.vue
View file @
4cc501a4
<
template
>
<Form
ref=
"form"
:model=
"condition"
:label-width=
"90"
>
<Row>
<Col
:span=
"12"
:v-if=
"condition.id.show"
><FormItem
:label=
"$t('id')"
prop=
"id"
>
<Input
v-model=
"condition.id.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.creationTime.show"
><FormItem
:label=
"l('creationTime')"
prop=
"creationTime"
>
<DatePicker
type=
"daterange"
v-model=
"condition.creationTime.value"
></DatePicker>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.creatorUserId.show"
><FormItem
:label=
"l('creatorUserId')"
prop=
"creatorUserId"
>
<Input
v-model=
"condition.creatorUserId.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.lastModificationTime.show"
><FormItem
:label=
"l('lastModificationTime')"
prop=
"lastModificationTime"
>
<DatePicker
type=
"daterange"
v-model=
"condition.lastModificationTime.value"
></DatePicker>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.lastModifierUserId.show"
><FormItem
:label=
"l('lastModifierUserId')"
prop=
"lastModifierUserId"
>
<Input
v-model=
"condition.lastModifierUserId.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.deletionTime.show"
><FormItem
:label=
"l('deletionTime')"
prop=
"deletionTime"
>
<DatePicker
type=
"daterange"
v-model=
"condition.deletionTime.value"
></DatePicker>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.title.show"
><FormItem
:label=
"l('title')"
prop=
"title"
>
<Input
v-model=
"condition.title.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.creator.show"
><FormItem
:label=
"l('creator')"
prop=
"creator"
>
<Input
v-model=
"condition.creator.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.filePath.show"
><FormItem
:label=
"l('filePath')"
prop=
"filePath"
>
<Input
v-model=
"condition.filePath.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.filePaths.show"
><FormItem
:label=
"l('filePaths')"
prop=
"filePaths"
>
<Input
v-model=
"condition.filePaths.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.dispatchId.show"
><FormItem
:label=
"l('dispatchId')"
prop=
"dispatchId"
>
<Input
v-model=
"condition.dispatchId.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.routingDetailId.show"
><FormItem
:label=
"l('routingDetailId')"
prop=
"routingDetailId"
>
<Input
v-model=
"condition.routingDetailId.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.routingHeaderId.show"
><FormItem
:label=
"l('routingHeaderId')"
prop=
"routingHeaderId"
>
<Input
v-model=
"condition.routingHeaderId.value"
>
</Input>
</FormItem></Col>
<Col
:span=
"12"
:v-if=
"condition.type.show"
><FormItem
:label=
"l('type')"
prop=
"type"
>
<Input
v-model=
"condition.type.value"
>
</Input>
</FormItem></Col>
</Row>
</Form>
<Form
ref=
"form"
:model=
"condition"
:label-width=
"90"
>
<Row>
<Col
:span=
"12"
:v-if=
"condition.id.show"
>
<FormItem
:label=
"$t('id')"
prop=
"id"
>
<Input
v-model=
"condition.id.value"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.creationTime.show"
>
<FormItem
:label=
"l('creationTime')"
prop=
"creationTime"
>
<DatePicker
type=
"daterange"
v-model=
"condition.creationTime.value"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.creatorUserId.show"
>
<FormItem
:label=
"l('creatorUserId')"
prop=
"creatorUserId"
>
<Input
v-model=
"condition.creatorUserId.value"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.lastModificationTime.show"
>
<FormItem
:label=
"l('lastModificationTime')"
prop=
"lastModificationTime"
>
<DatePicker
type=
"daterange"
v-model=
"condition.lastModificationTime.value"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.lastModifierUserId.show"
>
<FormItem
:label=
"l('lastModifierUserId')"
prop=
"lastModifierUserId"
>
<Input
v-model=
"condition.lastModifierUserId.value"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.deletionTime.show"
>
<FormItem
:label=
"l('deletionTime')"
prop=
"deletionTime"
>
<DatePicker
type=
"daterange"
v-model=
"condition.deletionTime.value"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.title.show"
>
<FormItem
:label=
"l('title')"
prop=
"title"
>
<Input
v-model=
"condition.title.value"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.creator.show"
>
<FormItem
:label=
"l('creator')"
prop=
"creator"
>
<Input
v-model=
"condition.creator.value"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.filePath.show"
>
<FormItem
:label=
"l('filePath')"
prop=
"filePath"
>
<Input
v-model=
"condition.filePath.value"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.filePaths.show"
>
<FormItem
:label=
"l('filePaths')"
prop=
"filePaths"
>
<Input
v-model=
"condition.filePaths.value"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.dispatchId.show"
>
<FormItem
:label=
"l('dispatchId')"
prop=
"dispatchId"
>
<Input
v-model=
"condition.dispatchId.value"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.routingDetailId.show"
>
<FormItem
:label=
"l('routingDetailId')"
prop=
"routingDetailId"
>
<Input
v-model=
"condition.routingDetailId.value"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.routingHeaderId.show"
>
<FormItem
:label=
"l('routingHeaderId')"
prop=
"routingHeaderId"
>
<Input
v-model=
"condition.routingHeaderId.value"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
:v-if=
"condition.type.show"
>
<FormItem
:label=
"l('type')"
prop=
"type"
>
<Input
v-model=
"condition.type.value"
></Input>
</FormItem>
</Col>
</Row>
</Form>
</
template
>
<
script
>
import
Api
from
'./api'
export
default
{
name
:
'Add'
,
data
()
{
return
{
condition
:
{
id
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
creationTime
:{
op
:
"Range"
,
value
:
null
,
show
:
true
},
creatorUserId
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
lastModificationTime
:{
op
:
"Range"
,
value
:
null
,
show
:
true
},
lastModifierUserId
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
deletionTime
:{
op
:
"Range"
,
value
:
null
,
show
:
true
},
title
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
creator
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
filePath
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
filePaths
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
dispatchId
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
routingDetailId
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
routingHeaderId
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
type
:{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
},
}
},
methods
:
{
handleClose
()
{
this
.
$emit
(
'on-close'
)
},
l
(
key
)
{
key
=
"process_case"
+
"."
+
key
;
return
this
.
$t
(
key
)
import
Api
from
"./api"
;
export
default
{
name
:
"Add"
,
data
()
{
return
{
condition
:
{
id
:
{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
creationTime
:
{
op
:
"Range"
,
value
:
null
,
show
:
true
},
creatorUserId
:
{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
lastModificationTime
:
{
op
:
"Range"
,
value
:
null
,
show
:
true
},
lastModifierUserId
:
{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
deletionTime
:
{
op
:
"Range"
,
value
:
null
,
show
:
true
},
title
:
{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
creator
:
{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
filePath
:
{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
filePaths
:
{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
dispatchId
:
{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
routingDetailId
:
{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
routingHeaderId
:
{
op
:
"Equal"
,
value
:
null
,
show
:
true
},
type
:
{
op
:
"Equal"
,
value
:
null
,
show
:
true
}
}
}
};
},
methods
:
{
handleClose
()
{
this
.
$emit
(
"on-close"
);
},
l
(
key
)
{
key
=
"process_case"
+
"."
+
key
;
return
this
.
$t
(
key
);
}
}
};
</
script
>
\ No newline at end of file
pages/produce/execute/ProcessCheck/components/guidance.vue
deleted
100644 → 0
View file @
d6ef13f7
<
template
>
<div
class=
""
>
<div
class=
"case_box"
>
<!--
<a
class=
"file_card div_card"
@
click=
"ditaile(item.name)"
v-for=
"(item,index) in cardlist"
:label=
"item.id"
:key=
"index"
>
<div
class=
"file"
>
<Icon
type=
"ios-paper"
v-if=
"item.id%3==0"
/>
-->
<!--
<Icon
type=
"ios-film"
v-else
/>
-->
<!--
<Icon
type=
"md-film"
v-else
/>
</div>
<div
class=
"list"
>
<ul>
<li>
{{
item
.
name
}}
</li>
<li>
{{
item
.
userName
}}
</li>
<li>
{{
item
.
time
}}
</li>
</ul>
</div>
</a>
-->
工艺提醒列表
<DataGrid
:columns=
"columns"
ref=
"grid"
style=
"height:auto"
type=
"card"
:high=
"false"
:span=
"6"
:lazy=
"true"
>
<!--
<template
slot=
"easySearch"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<FormItem
prop=
"keys"
>
<Input
search
enter-button
placeholder=
"请输入关键字项目名称"
v-model=
"easySearch.keys.value"
@
on-search=
"search"
/>
</FormItem>
</Form>
</
template
>
-->
<
template
slot=
"buttons"
>
<Button
type=
"primary"
>
新增
</Button>
</
template
>
<!--<template slot="card" slot-scope="{row}">
<!-- v-for="(item,index) in cardlist" :label="item.id" :key="index"
<div class="body">
<Row class="title-i">
<Col :span="18" class="order-code">项目名称:{{row.name}}</Col>
<Col :span="6" class="btn-click">
<a @click="edit(row.id)">
<Icon type="ios-create" @click="edit(row.id)" />
</a>
<a @click="detail(row.id)">
<Icon type="ios-paper" />
</a>
<a @click="remove(row.id)">
<Icon type="ios-trash" />
</a>
</Col>
</Row>
<div class="down-text">
<Row class="row">
<Col span="12" class="fa">主管部门:{{row.shopId}}</Col>
<Col span="12" class="fa">负责人:{{row.principal}}</Col>
</Row>
<Row class="row">
<Col span="12" class="fa">
销售阶段:
<state code="crm.project.stage" :value="row.stage" />
</Col>
<Col span="12" class="fa">
是否报备:
<state code="crm.project.isInform" :value="row.isInform" />
</Col>
</Row>
<Row class="row">
<Col span="12" class="fa">
状态:
<state code="crm.project.status" :value="row.status" />
</Col>
<Col span="12" class="fa">预算:{{row.budget}}</Col>
</Row>
</div>
</div>
</template> -->
</DataGrid>
</div>
</div>
</template>
<
script
>
import
Api
from
"./api"
;
export
default
{
name
:
'starOrder'
,
data
(){
return
{
action
:
Api
.
index
,
easySearch
:
{
keys
:
{
op
:
"name"
,
value
:
null
},
customerId
:
{
op
:
"Equal"
,
value
:
null
}
},
columns
:
[],
cardlist
:[
{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
1
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
2
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
3
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
4
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
5
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
6
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
7
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
8
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
9
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
10
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
11
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
12
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
13
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
14
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
15
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
16
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
17
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
18
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
19
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
20
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
21
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
22
,
checked
:
false
},{
name
:
'工艺文档名称'
,
userName
:
'张三'
,
time
:
'2020-02-06'
,
id
:
23
,
checked
:
false
},
],
}
},
created
()
{
// this.treeHeight = window.innerHeight - 120;
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
mounted
()
{
window
.
onresize
=
()
=>
{
///浏览器窗口大小变化
return
(()
=>
{
this
.
treeHeight
=
window
.
innerHeight
-
120
;
})();
};
},
methods
:
{
ditaile
(
name
){
this
.
$Message
.
success
(
"查看: "
+
name
+
" 详情..."
)
},
search
()
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
},
},
}
</
script
>
pages/produce/execute/ProcessCheck/guidance/index.vue
View file @
4cc501a4
<
template
>
<div
class=
"pross_case"
>
<div
class=
"pross_case
pros_check
"
>
<!-- table -->
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
:conditions=
"
conditions
"
:conditions=
"
easySearch
"
type=
"card"
:span=
"6"
:easy=
"false"
:height=
"false"
class=
"table_box"
:span=
"6"
:high=
"false"
>
<template
slot=
"easySearch"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<FormItem
prop=
"keys"
>
<Input
placeholder=
"请输入关键字名称"
v-model=
"easySearch.keys.value"
/>
</FormItem>
<FormItem>
<Button
type=
"primary"
@
click=
"search"
>
查询
</Button>
</FormItem>
</Form>
</
template
>
<
template
slot=
"buttons"
>
<Button
type=
"primary"
@
click=
"add"
>
新增
</Button>
</
template
>
...
...
@@ -56,15 +64,9 @@ export default {
data
()
{
return
{
action
:
Api
.
index
,
conditions
:
{
pageIndex
:
1
,
pageSize
:
20
,
conditions
:
[
{
fieldName
:
"type"
,
fieldValue
:
2
,
conditionalType
:
"Equal"
}
]
},
easySearch
:
{
keys
:
{
op
:
"title"
,
value
:
null
}
keys
:
{
op
:
"title"
,
value
:
null
},
type
:
{
op
:
"Equal"
,
value
:
2
}
},
modal
:
false
,
title
:
"新增"
,
...
...
@@ -198,7 +200,7 @@ export default {
};
},
mounted
()
{
console
.
log
(
this
);
//
console.log(this);
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
...
...
@@ -252,6 +254,26 @@ export default {
this
.
modal
=
false
;
},
l
(
key
)
{
/*
process_case:{
creationTime:'创建时间',
creatorUserId:'创建人',
lastModificationTime:'更新时间',
lastModifierUserId:'更新人',
isDeleted:'删除人',
deletionTime:'删除时间',
deleterUserId:'删除人',
title:'名称',
creator:'创建人',
content:'内容',
filePath:'文件路径',
filePaths:'多个文件路径',
dispatchId:'工单id',
routingDetailId:'工序id',
routingHeaderId:'工艺规程id',
type:'类型(工艺案例还是工艺提醒)',
}
*/
let
vkey
=
"process_case"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
}
...
...
pages/produce/execute/ProcessCheck/index.vue
View file @
4cc501a4
...
...
@@ -18,7 +18,7 @@
</Header>
<Layout
class=
"bottom_box"
>
<!--
<nuxt-child
keep-alive
></nuxt-child>
-->
<component
:is=
"detail"
:eid=
"id"
:uid=
"uId"
:isoutpdf=
"false"
style=
"padding:10px 30px;"
/>
<component
:is=
"detail"
:eid=
"id"
:uid=
"uId"
:isoutpdf=
"false"
/>
</Layout>
</Layout>
</div>
...
...
@@ -70,18 +70,18 @@ export default {
this
.
detail
=
()
=>
import
(
"./components/workSteps"
);
}
if
(
this
.
id
==
"4"
)
{
this
.
detail
=
()
=>
import
(
"./
components/
guidance"
);
this
.
detail
=
()
=>
import
(
"./guidance"
);
}
}
}
};
</
script
>
<
style
scoped
>
.wu_bg
.bottom_box
{
/*
.wu_bg .bottom_box {
padding: 5px 20px;
background: white;
border: 1px solid #ccc;
border-top: 0;
overflow-y: auto;
}
}
*/
</
style
>
pages/produce/execute/execute.less
View file @
4cc501a4
...
...
@@ -97,10 +97,14 @@
margin: 10px 0 0 170px;
}
}
.bottom_box{
height: calc(100vh - 145px);
overflow-y: auto;
padding: 15px 40px 0px;
}
.pross_case{
padding: 5px 50px 0;
.table_box{
height: calc(100vh - 105px);
height: calc(100vh - 105px);
.card_box {
background: #F5F6FA;
border: 1px solid #dedede7d;
...
...
@@ -116,7 +120,10 @@
.card_box:hover {
box-shadow: 4px 5px 7px #d2d2d2bd;
}
}
}
.pros_check{
height: calc(100vh - 175px);
padding: 0;
}
}
...
...
@@ -255,9 +262,6 @@
}
span{
display: block;
}
.shi{
}
.number{
font-size: 32px;
...
...
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