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
e7c84fbe
Commit
e7c84fbe
authored
Oct 26, 2020
by
周远喜
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'product' of
http://git.mes123.com/zhouyx/mes-ui
into product
parents
073a6da5
4f89e496
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
830 additions
and
658 deletions
+830
-658
timeDifference.vue
components/page/timeDifference.vue
+79
-35
zh-CN.js
i18n/locale/zh-CN.js
+1
-1
speed.vue
pages/order/monitoring/speed.vue
+377
-396
suspend.vue
pages/order/monitoring/suspend.vue
+16
-7
add.vue
pages/project/project/add.vue
+20
-15
edit.vue
pages/project/project/edit.vue
+35
-7
index.vue
pages/project/project/index.vue
+25
-12
add.vue
pages/project/record/add.vue
+43
-8
index1.vue
pages/project/record/index1.vue
+34
-6
add.vue
pages/project/task/add.vue
+28
-55
detail.vue
pages/project/task/detail.vue
+18
-12
edit.vue
pages/project/task/edit.vue
+32
-58
index.vue
pages/project/task/index.vue
+28
-30
add.vue
pages/technology/details/add.vue
+48
-8
edit.vue
pages/technology/details/edit.vue
+46
-8
No files found.
components/page/timeDifference.vue
View file @
e7c84fbe
<
template
>
<
template
>
<div
class=
"time-view"
>
{{
date
}}
</div>
<div
class=
"time-view"
v-if=
"timeValue.startDate && timeValue.endDate"
>
<span>
{{
timeValue
.
startDate
}}
</span
>
<span
class=
"line"
>
————
</span>
<!--
{{
date
}}
-->
<span>
{{
timeValue
.
endDate
}}
</span>
<div
class=
"jian-tou"
></div>
<div
class=
"day-time"
>
{{
date
}}
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
...
@@ -8,14 +15,18 @@ export default {
...
@@ -8,14 +15,18 @@ export default {
return
{};
return
{};
},
},
props
:
{
props
:
{
// model: {
// prop: "value",
// event: "on-change",
// },
timeValue
:
{
timeValue
:
{
type
:
[
String
,
Object
],
type
:
[
String
,
Object
],
default
:
""
,
default
:
""
,
},
},
// mode
: {
work
:
{
// type: [String, Object],
type
:
[
String
,
Number
],
//传入的work为0,转换为小时,1为天,2为周,3为月
// default: ""
,
default
:
0
,
//
},
},
},
},
computed
:
{
computed
:
{
date
()
{
date
()
{
...
@@ -24,33 +35,42 @@ export default {
...
@@ -24,33 +35,42 @@ export default {
var
date3
=
0
;
var
date3
=
0
;
date3
=
date2
-
date1
;
date3
=
date2
-
date1
;
var
timeSpanStr
;
//
var timeSpanStr;
if
(
date3
<=
1000
*
60
*
1
)
{
//
if (date3
<=
1000
*
60
*
1
)
{
timeSpanStr
=
"刚刚"
;
//
timeSpanStr = "刚刚";
}
else
if
(
1000
*
60
*
1
<
date3
&&
date3
<=
1000
*
60
*
60
)
{
//
} else if (1000 * 60 * 1
<
date3
&&
date3
<=
1000
*
60
*
60
)
{
timeSpanStr
=
Math
.
round
(
date3
/
(
1000
*
60
))
+
"分钟"
;
//
timeSpanStr = Math.round(date3 / (1000 * 60)) + "分钟";
}
else
if
(
1000
*
60
*
60
*
1
<
date3
&&
date3
<=
1000
*
60
*
60
*
24
)
{
//
} else if (1000 * 60 * 60 * 1
<
date3
&&
date3
<=
1000
*
60
*
60
*
24
)
{
timeSpanStr
=
Math
.
round
(
date3
/
(
1000
*
60
*
60
))
+
"小时"
;
//
timeSpanStr = Math.round(date3 / (1000 * 60 * 60)) + "小时";
}
else
if
(
//
} else if (
1000
*
60
*
60
*
24
<
//
1000 * 60 * 60 * 24
<
date3
//
date3
// && date3
<=
1000
*
60
*
60
*
24
*
30
//
// && date3
<=
1000
*
60
*
60
*
24
*
30
)
{
//
) {
timeSpanStr
=
Math
.
round
(
date3
/
(
1000
*
60
*
60
*
24
))
+
"天"
;
//
timeSpanStr = Math.round(date3 / (1000 * 60 * 60 * 24)) + "天";
}
//
}
return
timeSpanStr
;
//
return timeSpanStr;
// var result = "";
var
result
=
""
;
// var minute = 1000 * 60;
var
minute
=
1000
*
60
;
// var hour = minute * 60;
var
hour
=
minute
*
60
;
// var day = hour * 24;
var
day
=
hour
*
24
;
// var month = day * 30;
var
month
=
day
*
30
;
// if (date3
<
0
)
return
;
if
(
date3
<
0
)
return
;
// var monthC = date3 / month;
var
monthC
=
date3
/
month
;
// var weekC = date3 / (7 * day);
var
weekC
=
date3
/
(
7
*
day
);
// var dayC = date3 / day;
var
dayC
=
date3
/
day
;
// var hourC = date3 / hour;
var
hourC
=
date3
/
hour
;
// var minC = date3 / minute;
var
minC
=
date3
/
minute
;
if
(
this
.
work
==
3
)
{
result
=
""
+
parseInt
(
monthC
)
+
"月"
;
}
else
if
(
this
.
work
==
2
)
{
result
=
""
+
parseInt
(
weekC
)
+
"周"
;
}
else
if
(
this
.
work
==
1
)
{
result
=
""
+
parseInt
(
dayC
)
+
"天"
;
}
else
if
(
this
.
work
==
0
)
{
result
=
""
+
parseInt
(
hourC
)
+
"小时"
;
}
// if (monthC >= 1) {
// if (monthC >= 1) {
// result = "" + parseInt(monthC) + "月";
// result = "" + parseInt(monthC) + "月";
// } else if (weekC >= 1) {
// } else if (weekC >= 1) {
...
@@ -59,12 +79,14 @@ export default {
...
@@ -59,12 +79,14 @@ export default {
// result = "" + parseInt(dayC) + "天";
// result = "" + parseInt(dayC) + "天";
// } else if (hourC >= 1) {
// } else if (hourC >= 1) {
// result = "" + parseInt(hourC) + "小时";
// result = "" + parseInt(hourC) + "小时";
// } else if (minC >= 1) {
// }
// else if (minC >= 1) {
// result = "" + parseInt(minC) + "分钟";
// result = "" + parseInt(minC) + "分钟";
// } else {
// result = "刚刚";
// }
// }
// return result;
else
{
result
=
"0"
;
}
return
result
;
},
},
},
},
mounted
()
{},
mounted
()
{},
...
@@ -73,4 +95,26 @@ export default {
...
@@ -73,4 +95,26 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.time-view {
width: 300px;
position: relative;
.day-time {
position: absolute;
bottom: 11px;
left: 83px;
}
.line {
font-size: 18px;
}
.jian-tou {
position: absolute;
bottom: 9px;
left: 144px;
width: 7px;
height: 7px;
border-top: 2px solid #666;
border-right: 2px solid #666;
transform: rotate(45deg);
}
}
</
style
>
</
style
>
i18n/locale/zh-CN.js
View file @
e7c84fbe
...
@@ -1244,7 +1244,7 @@ export default {
...
@@ -1244,7 +1244,7 @@ export default {
remark
:
'备注'
,
remark
:
'备注'
,
extend
:
'扩展字段'
,
extend
:
'扩展字段'
,
outsideTime
:
'外协工期'
,
outsideTime
:
'外协工期'
,
performanceHours
:
'绩效工时'
,
performanceHours
:
'绩效
单件
工时'
,
isImportantResources
:
'关重资源'
,
isImportantResources
:
'关重资源'
,
schedulingWorkingHours
:
'*排产准结工时'
,
//准备工时?
schedulingWorkingHours
:
'*排产准结工时'
,
//准备工时?
realWorkingHours
:
'实作准结工时'
,
realWorkingHours
:
'实作准结工时'
,
...
...
pages/order/monitoring/speed.vue
View file @
e7c84fbe
This diff is collapsed.
Click to expand it.
pages/order/monitoring/suspend.vue
View file @
e7c84fbe
...
@@ -23,7 +23,10 @@
...
@@ -23,7 +23,10 @@
</Col>
</Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
<FormItem
:label=
"l('relatedPerson')"
prop=
"relatedPerson"
>
<FormItem
:label=
"l('relatedPerson')"
prop=
"relatedPerson"
>
<UserSelect
v-model=
"entity.relatedPerson"
placeholder=
"请选择相关人员"
></UserSelect>
<UserSelect
v-model=
"entity.relatedPerson"
placeholder=
"请选择相关人员"
></UserSelect>
</FormItem>
</FormItem>
</Col>
</Col>
</Row>
</Row>
...
@@ -53,7 +56,12 @@ export default {
...
@@ -53,7 +56,12 @@ export default {
remark
:
""
,
remark
:
""
,
},
},
rules
:
{
rules
:
{
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
pauseCause
:
[
{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
,
type
:
"number"
},
],
relatedPerson
:
[
{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
,
type
:
"number"
},
],
},
},
};
};
},
},
...
@@ -127,10 +135,11 @@ export default {
...
@@ -127,10 +135,11 @@ export default {
return
this
.
$t
(
key
);
return
this
.
$t
(
key
);
},
},
},
},
// watch: {
watch
:
{
// v() {
"entity.relatedPerson"
(
v
)
{
// this.entity = this.$u.clone(this.v)
alert
(
typeof
v
);
// }
// this.entity = this.$u.clone(this.v)
// }
},
},
};
};
</
script
>
</
script
>
\ No newline at end of file
pages/project/project/add.vue
View file @
e7c84fbe
<
template
>
<
template
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"
9
0"
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"
10
0"
>
<Row>
<Row>
<Col
span=
"8"
class=
"projct-img"
>
<Col
span=
"8"
class=
"projct-img"
>
<FormItem
:label=
"l('picture')"
prop=
"picture"
>
<FormItem
:label=
"l('picture')"
prop=
"picture"
>
...
@@ -72,29 +72,28 @@
...
@@ -72,29 +72,28 @@
><FormItem
:label=
"l('state')"
prop=
"state"
>
><FormItem
:label=
"l('state')"
prop=
"state"
>
<Dictionary
<Dictionary
code=
"project.main.state"
code=
"project.main.state"
type=
"radio"
v-model=
"entity.state"
v-model=
"entity.state"
></Dictionary>
</FormItem
></Dictionary>
</FormItem
></Col>
></Col>
<Col
:span=
"12"
<Col
:span=
"12"
>
><FormItem
:label=
"l('startDate')"
prop=
"startD
ate"
>
<FormItem
label=
"开始结束时间"
prop=
"d
ate"
>
<DatePicker
<DatePicker
type=
"date"
type=
"datetimerange"
v-model=
"entity.startDate"
format=
"yyyy-MM-dd"
v-model=
"date"
placeholder=
"请选择时间范围"
@
on-change=
"changeFormat"
style=
"width: 300px"
></DatePicker>
</FormItem
></DatePicker>
</FormItem
></Col>
></Col>
<Col
:span=
"12"
<!--
<TimeDifference
:timeValue=
"timeValue"
:wrok=
"1"
></TimeDifference>
-->
><FormItem
:label=
"l('endDate')"
prop=
"endDate"
>
<DatePicker
type=
"date"
v-model=
"entity.endDate"
></DatePicker>
</FormItem
></Col>
<TimeDifference
:timeValue=
"timeValue"
></TimeDifference>
<Col
:span=
"12"
<Col
:span=
"12"
><FormItem
:label=
"l('type')"
prop=
"type"
>
><FormItem
:label=
"l('type')"
prop=
"type"
>
<Dictionary
<Dictionary
code=
"project.main.type"
code=
"project.main.type"
v-model=
"entity.type"
v-model=
"entity.type"
type=
"radio"
></Dictionary>
</FormItem
></Dictionary>
</FormItem
></Col>
></Col>
<!--
<!--
...
@@ -144,6 +143,7 @@ export default {
...
@@ -144,6 +143,7 @@ export default {
},
},
imgName
:
""
,
imgName
:
""
,
avatorPath
:
""
,
avatorPath
:
""
,
date
:
[],
entity
:
{
entity
:
{
// creationTime: null,
// creationTime: null,
creatorUserId
:
this
.
$store
.
state
.
userInfo
.
userId
,
creatorUserId
:
this
.
$store
.
state
.
userInfo
.
userId
,
...
@@ -154,11 +154,12 @@ export default {
...
@@ -154,11 +154,12 @@ export default {
// deleterUserId: null,
// deleterUserId: null,
title
:
""
,
title
:
""
,
note
:
""
,
note
:
""
,
state
:
null
,
state
:
1
,
type
:
null
,
type
:
0
,
picture
:
""
,
picture
:
""
,
attachment
:
""
,
attachment
:
""
,
phase
:
null
,
phase
:
null
,
startDate
:
""
,
startDate
:
""
,
endDate
:
""
,
endDate
:
""
,
businessUnits
:
""
,
businessUnits
:
""
,
...
@@ -187,6 +188,10 @@ export default {
...
@@ -187,6 +188,10 @@ export default {
this
.
parms
.
eid
=
this
.
$u
.
guid
();
this
.
parms
.
eid
=
this
.
$u
.
guid
();
},
},
methods
:
{
methods
:
{
changeFormat
(
val
)
{
this
.
entity
.
startDate
=
val
[
0
];
this
.
entity
.
endDate
=
val
[
1
];
},
imgUrl
()
{
imgUrl
()
{
window
.
open
(
this
.
avatorPath
,
"_blank"
);
window
.
open
(
this
.
avatorPath
,
"_blank"
);
},
},
...
...
pages/project/project/edit.vue
View file @
e7c84fbe
<
template
>
<
template
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"
9
0"
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"
10
0"
>
<Row>
<Row>
<Col
span=
"8"
class=
"projct-img"
>
<Col
span=
"8"
class=
"projct-img"
>
<FormItem
:label=
"l('picture')"
prop=
"picture"
>
<FormItem
:label=
"l('picture')"
prop=
"picture"
>
...
@@ -30,10 +30,21 @@
...
@@ -30,10 +30,21 @@
<Dictionary
<Dictionary
code=
"project.main.state"
code=
"project.main.state"
v-model=
"entity.state"
v-model=
"entity.state"
type=
"radio"
></Dictionary>
</FormItem
></Dictionary>
</FormItem
></Col>
></Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
<FormItem
label=
"开始结束时间"
prop=
"date"
>
<DatePicker
type=
"datetimerange"
format=
"yyyy-MM-dd"
v-model=
"date"
placeholder=
"请选择时间范围"
@
on-change=
"changeFormat"
style=
"width: 300px"
></DatePicker>
</FormItem
></Col>
<!--
<Col
:span=
"12"
><FormItem
:label=
"l('startDate')"
prop=
"startDate"
>
><FormItem
:label=
"l('startDate')"
prop=
"startDate"
>
<DatePicker
<DatePicker
type=
"date"
type=
"date"
...
@@ -46,12 +57,13 @@
...
@@ -46,12 +57,13 @@
type=
"date"
type=
"date"
v-model=
"entity.endDate"
v-model=
"entity.endDate"
></DatePicker>
</FormItem
></DatePicker>
</FormItem
></Col>
></Col>
-->
<Col
:span=
"12"
<Col
:span=
"12"
><FormItem
:label=
"l('type')"
prop=
"type"
>
><FormItem
:label=
"l('type')"
prop=
"type"
>
<Dictionary
<Dictionary
code=
"project.main.type"
code=
"project.main.type"
v-model=
"entity.type"
v-model=
"entity.type"
type=
"radio"
></Dictionary>
</FormItem
></Dictionary>
</FormItem
></Col>
></Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
...
@@ -96,7 +108,11 @@ export default {
...
@@ -96,7 +108,11 @@ export default {
return
{
return
{
imgName
:
""
,
imgName
:
""
,
avatorPath
:
""
,
avatorPath
:
""
,
entity
:
{},
entity
:
{
state
:
1
,
type
:
0
,
},
date
:
[],
rules
:
{
rules
:
{
title
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
title
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
},
},
...
@@ -116,6 +132,11 @@ export default {
...
@@ -116,6 +132,11 @@ export default {
this
.
$refs
.
refmovieFile1
.
inputShow
=
false
;
this
.
$refs
.
refmovieFile1
.
inputShow
=
false
;
},
},
methods
:
{
methods
:
{
changeFormat
(
val
)
{
// console.log(val)
this
.
entity
.
startDate
=
val
[
0
];
this
.
entity
.
endDate
=
val
[
1
];
},
imgUrl
()
{
imgUrl
()
{
window
.
open
(
this
.
avatorPath
,
"_blank"
);
window
.
open
(
this
.
avatorPath
,
"_blank"
);
},
},
...
@@ -123,14 +144,21 @@ export default {
...
@@ -123,14 +144,21 @@ export default {
Api
.
get
({
id
:
v
}).
then
((
r
)
=>
{
Api
.
get
({
id
:
v
}).
then
((
r
)
=>
{
this
.
entity
=
r
.
result
;
this
.
entity
=
r
.
result
;
this
.
avatorPath
=
fileUrlDown
+
r
.
result
.
picture
;
this
.
avatorPath
=
fileUrlDown
+
r
.
result
.
picture
;
this
.
imgName
=
r
.
result
.
picture
;
if
(
r
.
result
.
picture
)
{
this
.
imgName
=
r
.
result
.
picture
;
}
if
(
r
.
result
.
attachment
&&
r
.
result
.
attachment
!=
""
)
{
if
(
r
.
result
.
attachment
&&
r
.
result
.
attachment
!=
""
)
{
this
.
parms
.
eid
=
r
.
result
.
attachment
;
this
.
parms
.
eid
=
r
.
result
.
attachment
;
}
else
{
}
else
{
this
.
parms
.
eid
=
this
.
$u
.
guid
();
this
.
parms
.
eid
=
this
.
$u
.
guid
();
}
}
this
.
entity
.
attachment
=
this
.
parms
.
eid
;
this
.
entity
.
attachment
=
this
.
parms
.
eid
;
// this.entity.creatorUserId = r.result.creatorUserId;
// let data0 = r.result.startDate.slice(0, 10);
// let data1 = r.result.endDate.slice(0, 10);
// this.date[0] = JSON.parse(data0);
// this.date[1] = JSON.parse(data1);
// console.log(this.date);
// console.log(typeof this.date[1]);
});
});
},
},
handleSubmit
()
{
handleSubmit
()
{
...
...
pages/project/project/index.vue
View file @
e7c84fbe
...
@@ -214,6 +214,16 @@ export default {
...
@@ -214,6 +214,16 @@ export default {
align
:
"left"
,
align
:
"left"
,
easy
:
true
,
easy
:
true
,
high
:
true
,
high
:
true
,
render
:
(
h
,
params
)
=>
{
return
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
},
on
:
{
click
:
()
=>
this
.
view
(
params
.
row
.
id
)
},
},
params
.
row
.
title
);
},
},
},
{
{
key
:
"state"
,
key
:
"state"
,
...
@@ -322,14 +332,14 @@ export default {
...
@@ -322,14 +332,14 @@ export default {
align
:
"center"
,
align
:
"center"
,
render
:
(
h
,
params
)
=>
{
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
},
[
return
h
(
"div"
,
{
class
:
"action"
},
[
h
(
//
h(
"op"
,
//
"op",
{
//
{
attrs
:
{
oprate
:
"detail"
},
//
attrs: { oprate: "detail" },
on
:
{
click
:
()
=>
this
.
view
(
params
.
row
.
id
)
},
//
on: { click: () => this.view(params.row.id) },
},
//
},
"查看"
//
"查看"
),
//
),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
//h('op', { attrs: { oprate: 'copy' }, on: { click: () => this.copy(params.row.id) } }, '克隆'),
h
(
h
(
"op"
,
"op"
,
...
@@ -424,10 +434,13 @@ export default {
...
@@ -424,10 +434,13 @@ export default {
}
}
},
},
viewFiles
(
row
)
{
viewFiles
(
row
)
{
console
.
log
(
row
);
// console.log(row.attachment);
this
.
parms
.
eid
=
row
.
attachment
;
if
(
row
.
attachment
)
{
this
.
parms
.
eid
=
row
.
attachment
;
this
.
modal1
=
true
;
this
.
modal1
=
true
;
}
else
{
this
.
$Message
.
error
(
"暂没上传附件"
);
}
},
},
ok
()
{
ok
()
{
this
.
$refs
.
grid
.
load
();
this
.
$refs
.
grid
.
load
();
...
...
pages/project/record/add.vue
View file @
e7c84fbe
...
@@ -8,20 +8,18 @@
...
@@ -8,20 +8,18 @@
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('status')"
prop=
"status"
>
<Dictionary
code=
"mes.project_plan_record.Status"
v-model=
"entity.status"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('title')"
prop=
"title"
>
<Input
v-model=
"entity.title"
>
</Input>
<FormItem
:label=
"l('title')"
prop=
"title"
>
<Input
v-model=
"entity.title"
>
</Input>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"24"
>
<FormItem
:label=
"l('note')"
prop=
"note"
>
<Input
v-model=
"entity.note"
>
</Input>
<FormItem
:label=
"l('note')"
prop=
"note"
>
<i-quill
v-model=
"entity.note"
:height=
"300"
v-paste=
"handleImg"
/></Input>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('attachment')"
prop=
"attachment"
>
<Input
v-model=
"entity.attachment"
>
</Input>
<FormItem
:label=
"l('attachment')"
prop=
"attachment"
>
<files
ref=
"refFile"
:parms=
"parms"
files
/>
</Input>
</FormItem>
</FormItem>
</Col>
</Col>
</Row>
</Row>
...
@@ -34,8 +32,12 @@
...
@@ -34,8 +32,12 @@
<
script
>
<
script
>
import
Api
from
'./api'
import
Api
from
'./api'
import
iQuill
from
'@/components/quill'
export
default
{
export
default
{
name
:
'Add'
,
name
:
'Add'
,
components
:
{
iQuill
},
data
()
{
data
()
{
return
{
return
{
disabled
:
false
,
disabled
:
false
,
...
@@ -56,6 +58,12 @@ export default {
...
@@ -56,6 +58,12 @@ export default {
attachment
:
""
,
attachment
:
""
,
taskId
:
""
taskId
:
""
},
},
parms
:
{
app
:
"taskRecord"
,
eid
:
null
,
name
:
""
,
field
:
""
,
},
rules
:
{
rules
:
{
name
:
[{
name
:
[{
required
:
true
,
required
:
true
,
...
@@ -72,12 +80,18 @@ export default {
...
@@ -72,12 +80,18 @@ export default {
mounted
()
{
mounted
()
{
if
(
this
.
eid
!=
""
)
{
if
(
this
.
eid
!=
""
)
{
this
.
load
(
this
.
eid
);
this
.
load
(
this
.
eid
);
this
.
parms
.
eid
=
this
.
$u
.
guid
();
}
}
},
},
methods
:
{
methods
:
{
handleSubmit
()
{
handleSubmit
()
{
this
.
$refs
.
form
.
validate
((
v
)
=>
{
this
.
$refs
.
form
.
validate
((
v
)
=>
{
if
(
v
)
{
if
(
v
)
{
if
(
this
.
$refs
.
refFile
.
nameList
.
length
>
0
)
{
this
.
entity
.
attachment
=
this
.
parms
.
eid
;
}
else
{
this
.
entity
.
attachment
=
""
;
}
this
.
disabled
=
true
;
this
.
disabled
=
true
;
this
.
entity
.
taskId
=
this
.
eid
this
.
entity
.
taskId
=
this
.
eid
Api
.
create
(
this
.
entity
).
then
((
r
)
=>
{
Api
.
create
(
this
.
entity
).
then
((
r
)
=>
{
...
@@ -107,6 +121,27 @@ export default {
...
@@ -107,6 +121,27 @@ export default {
this
.
entity
.
id
=
0
;
this
.
entity
.
id
=
0
;
});
});
},
},
handleImg
(
e
)
{
console
.
warn
(
e
)
let
file
=
null
if
(
e
.
clipboardData
&&
e
.
clipboardData
.
items
[
0
]
&&
e
.
clipboardData
.
items
[
0
].
type
&&
e
.
clipboardData
.
items
[
0
].
type
.
indexOf
(
'image'
)
>
-
1
)
{
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file
=
e
.
clipboardData
.
items
[
0
].
getAsFile
()
let
reader
=
new
FileReader
()
reader
.
readAsDataURL
(
file
)
setTimeout
(()
=>
{
var
img
=
'<img src="'
+
reader
.
result
+
'" alt=""/>'
this
.
entity
.
note
+=
img
},
1000
)
// new R
}
},
l
(
key
)
{
l
(
key
)
{
key
=
"project_plan_record"
+
"."
+
key
;
key
=
"project_plan_record"
+
"."
+
key
;
return
this
.
$t
(
key
)
return
this
.
$t
(
key
)
...
...
pages/project/record/index1.vue
View file @
e7c84fbe
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<FormItem>
<FormItem>
<div
class=
"taskMenu"
>
<div
class=
"taskMenu"
>
<Menu
mode=
"horizontal"
active-name=
"2"
@
on-select=
"onSelect"
>
<Menu
mode=
"horizontal"
active-name=
"2"
>
<MenuItem
name=
"1"
>
<MenuItem
name=
"1"
>
所有
所有
</MenuItem>
</MenuItem>
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
</div>
</div>
</FormItem>
</FormItem>
<FormItem
style=
"float:right"
>
<FormItem
style=
"float:right"
>
<Button
type=
"primary"
@
click=
"add"
>
新增
</Button>
<Button
type=
"primary"
@
click=
"add"
>
新增
记录
</Button>
</FormItem>
</FormItem>
</Form>
</Form>
</div>
</div>
...
@@ -73,14 +73,28 @@
...
@@ -73,14 +73,28 @@
</Col>
</Col>
<Col
span=
"19"
>
<Col
span=
"19"
>
<div
class=
"boxBoder"
>
<div
class=
"boxBoder"
>
<Timeline>
<Timeline
v-if=
"recordList&&recordList.length>0"
>
<TimelineItem
v-for=
"(item,index) in recordList"
:key=
"index"
>
<TimelineItem
v-for=
"(item,index) in recordList"
:key=
"index"
v-if=
"recordList&&recordList.length>0"
>
<p
class=
"content"
>
{{item.creationTime}}
</p>
<p
class=
"content"
>
{{item.creationTime}}
</p>
<p
class=
"content"
>
<p
class=
"content"
>
<User
:value=
"item.creatorUserId"
></User>
关闭了 任务 1089 测试任务
<User
:value=
"item.creatorUserId"
></User>
新增:{{item.title}}
<!--
<Tooltip max-width="400" v-if="item.note">
<a>详细信息</a>
<div slot="content">
<div v-html=" item.note"></div>
</div>
</Tooltip>
-->
</p>
</p>
<p
v-if=
"item.note"
>
<div
class=
"pl10"
v-html=
"item.note"
></div>
</p>
<p
class=
"pl10"
v-if=
"item.attachment"
><a
@
click=
"viewFiles(item.attachment)"
>
查看附件
</a></p>
</TimelineItem>
</TimelineItem>
</Timeline>
</Timeline>
<p
class=
"content"
v-else
>
暂无数据
</p>
</div>
</div>
</Col>
</Col>
</Row>
</Row>
...
@@ -89,6 +103,9 @@
...
@@ -89,6 +103,9 @@
<Modal
v-model=
"modal"
:title=
"title"
width=
"1200"
footer-hide
>
<Modal
v-model=
"modal"
:title=
"title"
width=
"1200"
footer-hide
>
<component
:is=
"detail"
:eid=
"curId"
@
on-close=
"cancel"
@
on-ok=
"ok"
/>
<component
:is=
"detail"
:eid=
"curId"
@
on-close=
"cancel"
@
on-ok=
"ok"
/>
</Modal>
</Modal>
<Modal
v-model=
"modalFiles"
title=
"查看附件"
width=
"800"
footer-hide
:mask-closable=
"false"
>
<FilesView
ref=
"refFile"
:parms=
"parms"
/>
</Modal>
</div>
</div>
</template>
</template>
...
@@ -117,6 +134,7 @@ export default {
...
@@ -117,6 +134,7 @@ export default {
value
:
null
value
:
null
}
}
},
},
modalFiles
:
false
,
modal
:
false
,
modal
:
false
,
title
:
"新增"
,
title
:
"新增"
,
detail
:
null
,
detail
:
null
,
...
@@ -258,7 +276,13 @@ export default {
...
@@ -258,7 +276,13 @@ export default {
}
}
},
},
],
],
recordList
:
[]
recordList
:
[],
parms
:
{
app
:
"taskRecord"
,
eid
:
null
,
name
:
""
,
field
:
""
,
},
}
}
},
},
mounted
()
{
mounted
()
{
...
@@ -335,6 +359,10 @@ export default {
...
@@ -335,6 +359,10 @@ export default {
this
.
curId
=
0
;
this
.
curId
=
0
;
this
.
modal
=
false
this
.
modal
=
false
},
},
viewFiles
(
val
)
{
this
.
parms
.
eid
=
val
;
this
.
modalFiles
=
true
;
},
l
(
key
)
{
l
(
key
)
{
let
vkey
=
"project_plan_record"
+
"."
+
key
;
let
vkey
=
"project_plan_record"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
return
this
.
$t
(
vkey
)
||
key
...
...
pages/project/task/add.vue
View file @
e7c84fbe
...
@@ -5,71 +5,19 @@
...
@@ -5,71 +5,19 @@
<FormItem
:label=
"l('title')"
prop=
"title"
>
<Input
v-model=
"entity.title"
>
</Input>
<FormItem
:label=
"l('title')"
prop=
"title"
>
<Input
v-model=
"entity.title"
>
</Input>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('level')"
prop=
"level"
>
<FormItem
:label=
"l('level')"
prop=
"level"
>
<Dictionary
code=
"project.task.level"
v-model=
"entity.level"
></Dictionary>
<Dictionary
code=
"project.task.level"
v-model=
"entity.level"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('projectTitle')"
prop=
"projectTitle"
>
<Input
v-model=
"entity.projectTitle"
>
</Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('planTitle')"
prop=
"planTitle"
>
<Input
v-model=
"entity.planTitle"
>
</Input>
</FormItem>
</Col>
<Col
:span=
"12"
v-if=
"false"
>
<FormItem
:label=
"l('planId')"
prop=
"planId"
>
<Input
v-model=
"entity.planId"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
v-if=
"false"
>
<FormItem
:label=
"l('projectId')"
prop=
"projectId"
>
<Input
v-model=
"entity.projectId"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('userId')"
prop=
"userId"
>
<FormItem
:label=
"l('userId')"
prop=
"userId"
>
<UserSelect
ref=
"userSelected"
v-model=
"entity.userId"
/>
</Input>
<UserSelect
ref=
"userSelected"
v-model=
"entity.userId"
/>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
<FormItem
:label=
"l('userIds')"
prop=
"userIds"
>
<Input
v-model=
"entity.userIds"
type=
"textarea"
:rows=
"5"
></Input>
<FormItem
:label=
"l('note')"
prop=
"note"
>
</FormItem>
<i-quill
v-model=
"entity.note"
:height=
"300"
v-paste=
"handleImg"
/>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('startDate')"
prop=
"startDate"
>
<DatePicker
type=
"date"
v-model=
"entity.startDate"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('endDate')"
prop=
"endDate"
>
<DatePicker
type=
"date"
v-model=
"entity.endDate"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('plansToStartDate')"
prop=
"plansToStartDate"
>
<DatePicker
type=
"date"
v-model=
"entity.plansToStartDate"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('plansToEndTime')"
prop=
"plansToEndTime"
>
<DatePicker
type=
"date"
v-model=
"entity.plansToEndTime"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('completePercentage')"
prop=
"completePercentage"
>
<InputNumber
v-model=
"entity.completePercentage"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('note')"
prop=
"note"
>
<Input
v-model=
"entity.note"
>
</Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('upTaskId')"
prop=
"upTaskId"
>
<InputNumber
v-model=
"entity.upTaskId"
></InputNumber>
</FormItem>
</FormItem>
</Col>
</Col>
</Row>
</Row>
...
@@ -82,8 +30,12 @@
...
@@ -82,8 +30,12 @@
<
script
>
<
script
>
import
Api
from
'./api'
import
Api
from
'./api'
import
iQuill
from
'@/components/quill'
export
default
{
export
default
{
name
:
'Add'
,
name
:
'Add'
,
components
:
{
iQuill
},
data
()
{
data
()
{
return
{
return
{
disabled
:
false
,
disabled
:
false
,
...
@@ -169,6 +121,27 @@ export default {
...
@@ -169,6 +121,27 @@ export default {
this
.
entity
.
id
=
0
;
this
.
entity
.
id
=
0
;
});
});
},
},
handleImg
(
e
)
{
console
.
warn
(
e
)
let
file
=
null
if
(
e
.
clipboardData
&&
e
.
clipboardData
.
items
[
0
]
&&
e
.
clipboardData
.
items
[
0
].
type
&&
e
.
clipboardData
.
items
[
0
].
type
.
indexOf
(
'image'
)
>
-
1
)
{
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file
=
e
.
clipboardData
.
items
[
0
].
getAsFile
()
let
reader
=
new
FileReader
()
reader
.
readAsDataURL
(
file
)
setTimeout
(()
=>
{
var
img
=
'<img src="'
+
reader
.
result
+
'" alt=""/>'
this
.
entity
.
note
+=
img
},
1000
)
// new R
}
},
l
(
key
)
{
l
(
key
)
{
key
=
"project_task"
+
"."
+
key
;
key
=
"project_task"
+
"."
+
key
;
return
this
.
$t
(
key
)
return
this
.
$t
(
key
)
...
...
pages/project/task/detail.vue
View file @
e7c84fbe
<
template
>
<
template
>
<div
class=
"detail"
>
<div
class=
"detail"
style=
"width:100%"
>
<Row
style=
"height:
180
px"
>
<Row
style=
"height:
284
px"
>
<Filed
:span=
"6"
:name=
"l('creationTime')"
>
{{
entity
.
creationTime
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('creationTime')"
>
{{
entity
.
creationTime
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('creatorUserId')"
>
<Filed
:span=
"6"
:name=
"l('creatorUserId')"
>
<User
:value=
"entity.creatorUserId"
></User>
<User
:value=
"entity.creatorUserId"
></User>
</Filed>
</Filed>
<Filed
:span=
"6"
:name=
"l('title')"
>
{{
entity
.
title
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('title')"
>
{{
entity
.
title
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('level')"
>
{{
entity
.
level
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('level')"
>
<Filed
:span=
"6"
:name=
"l('status')"
>
{{
entity
.
status
}}
</Filed>
<state
code=
"project.task.level"
:value=
"entity.level"
type=
"text"
></state>
<Filed
:span=
"6"
:name=
"l('projectTitle')"
>
{{
entity
.
projectTitle
}}
</Filed>
</Filed>
<Filed
:span=
"6"
:name=
"l('planTitle')"
>
{{
entity
.
planTitle
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('status')"
>
<Filed
:span=
"6"
:name=
"l('userIds')"
>
{{
entity
.
userIds
}}
</Filed>
<state
code=
"project.task.status"
:value=
"entity.status"
type=
"text"
></state>
</Filed>
<Filed
:span=
"6"
:name=
"l('userId')"
>
{{
entity
.
userId
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('userId')"
>
{{
entity
.
userId
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('endDate')"
>
{{
entity
.
endDate
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('endDate')"
>
{{
entity
.
endDate
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('note')"
>
{{
entity
.
note
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('startDate')"
>
{{
entity
.
startDate
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('startDate')"
>
{{
entity
.
startDate
}}
</Filed>
<Filed
:span=
"6"
:name=
"l('plansToStartDate')"
>
{{
entity
.
plansToStartDate
}}
</Filed>
<Filed
:span=
"24"
:name=
"l('note')"
>
<Filed
:span=
"6"
:name=
"l('plansToEndTime')"
>
{{
entity
.
plansToEndTime
}}
</Filed>
<div
style=
"height:200px"
v-html=
"entity.note"
class=
"tex_in10"
></div>
<Filed
:span=
"6"
:name=
"l('completePercentage')"
>
{{
entity
.
completePercentage
}}
</Filed>
</Filed>
<Filed
:span=
"6"
:name=
"l('upTaskId')"
>
{{
entity
.
upTaskId
}}
</Filed>
</Row>
</Row>
<component
:is=
"detail"
:eid=
"curId"
/>
<component
:is=
"detail"
:eid=
"curId"
/>
</div>
</div>
...
@@ -84,3 +83,10 @@ export default {
...
@@ -84,3 +83,10 @@ export default {
}
}
}
}
</
script
>
</
script
>
<
style
scoped
>
.tex_in10
{
text-indent
:
12px
;
text-align
:
inherit
!important
;
}
</
style
>
pages/project/task/edit.vue
View file @
e7c84fbe
...
@@ -6,74 +6,19 @@
...
@@ -6,74 +6,19 @@
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('planId')"
prop=
"planId"
>
<Input
v-model=
"entity.planId"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('projectId')"
prop=
"projectId"
>
<Input
v-model=
"entity.projectId"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('level')"
prop=
"level"
>
<FormItem
:label=
"l('level')"
prop=
"level"
>
<Dictionary
code=
"project.task.level"
v-model=
"entity.level"
></Dictionary>
<Dictionary
code=
"project.task.level"
v-model=
"entity.level"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('status')"
prop=
"status"
>
<Dictionary
code=
"project.task.status"
v-model=
"entity.status"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('projectTitle')"
prop=
"projectTitle"
>
<Input
v-model=
"entity.projectTitle"
>
</Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('planTitle')"
prop=
"planTitle"
>
<Input
v-model=
"entity.planTitle"
>
</Input>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('userIds')"
prop=
"userIds"
>
<Input
v-model=
"entity.userIds"
type=
"textarea"
:rows=
"5"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('userId')"
prop=
"userId"
>
<FormItem
:label=
"l('userId')"
prop=
"userId"
>
<UserSelect
ref=
"userSelected"
v-model=
"entity.userId"
/></Input>
<UserSelect
ref=
"userSelected"
v-model=
"entity.userId"
/></Input>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('startDate')"
prop=
"startDate"
>
<DatePicker
type=
"date"
v-model=
"entity.startDate"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('endDate')"
prop=
"endDate"
>
<DatePicker
type=
"date"
v-model=
"entity.endDate"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('plansToStartDate')"
prop=
"plansToStartDate"
>
<DatePicker
type=
"date"
v-model=
"entity.plansToStartDate"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('plansToEndTime')"
prop=
"plansToEndTime"
>
<DatePicker
type=
"date"
v-model=
"entity.plansToEndTime"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('completePercentage')"
prop=
"completePercentage"
>
<InputNumber
v-model=
"entity.completePercentage"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
<FormItem
:label=
"l('note')"
prop=
"note"
>
<Input
v-model=
"entity.note"
>
</Input>
<FormItem
:label=
"l('note')"
prop=
"note"
>
</FormItem>
<i-quill
v-model=
"entity.note"
:height=
"300"
v-paste=
"handleImg"
/></Input>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('upTaskId')"
prop=
"upTaskId"
>
<Input
v-model=
"entity.upTaskId"
></Input>
</FormItem>
</FormItem>
</Col>
</Col>
</Row>
</Row>
...
@@ -85,9 +30,16 @@
...
@@ -85,9 +30,16 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
replace
}
from
'lodash'
;
import
Api
from
'./api'
import
Api
from
'./api'
import
iQuill
from
'@/components/quill'
export
default
{
export
default
{
name
:
'Edit'
,
name
:
'Edit'
,
components
:
{
iQuill
},
data
()
{
data
()
{
return
{
return
{
disabled
:
false
,
disabled
:
false
,
...
@@ -121,6 +73,7 @@ export default {
...
@@ -121,6 +73,7 @@ export default {
id
:
v
id
:
v
}).
then
(
r
=>
{
}).
then
(
r
=>
{
this
.
entity
=
r
.
result
;
this
.
entity
=
r
.
result
;
this
.
entity
.
userId
=
parseInt
(
r
.
result
.
userId
)
})
})
},
},
handleSubmit
()
{
handleSubmit
()
{
...
@@ -146,6 +99,27 @@ export default {
...
@@ -146,6 +99,27 @@ export default {
handleClose
()
{
handleClose
()
{
this
.
$emit
(
'on-close'
)
this
.
$emit
(
'on-close'
)
},
},
handleImg
(
e
)
{
console
.
warn
(
e
)
let
file
=
null
if
(
e
.
clipboardData
&&
e
.
clipboardData
.
items
[
0
]
&&
e
.
clipboardData
.
items
[
0
].
type
&&
e
.
clipboardData
.
items
[
0
].
type
.
indexOf
(
'image'
)
>
-
1
)
{
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file
=
e
.
clipboardData
.
items
[
0
].
getAsFile
()
let
reader
=
new
FileReader
()
reader
.
readAsDataURL
(
file
)
setTimeout
(()
=>
{
var
img
=
'<img src="'
+
reader
.
result
+
'" alt=""/>'
this
.
entity
.
note
+=
img
},
1000
)
// new R
}
},
l
(
key
)
{
l
(
key
)
{
key
=
"project_task"
+
"."
+
key
;
key
=
"project_task"
+
"."
+
key
;
return
this
.
$t
(
key
)
return
this
.
$t
(
key
)
...
...
pages/project/task/index.vue
View file @
e7c84fbe
...
@@ -108,12 +108,14 @@ export default {
...
@@ -108,12 +108,14 @@ export default {
detail
:
null
,
detail
:
null
,
curId
:
''
,
curId
:
''
,
fullScreen
:
false
,
fullScreen
:
false
,
columns
:
[{
columns
:
[
key
:
"selection"
,
// {
type
:
"selection"
,
// key: "selection",
width
:
50
,
// type: "selection",
align
:
"center"
// width: 50,
},
{
// align: "center"
// },
{
key
:
"id"
,
key
:
"id"
,
title
:
this
.
$t
(
"id"
),
title
:
this
.
$t
(
"id"
),
align
:
"left"
,
align
:
"left"
,
...
@@ -131,7 +133,7 @@ export default {
...
@@ -131,7 +133,7 @@ export default {
oprate
:
'detail'
oprate
:
'detail'
},
},
on
:
{
on
:
{
click
:
()
=>
this
.
add
Record
(
params
.
row
.
id
)
click
:
()
=>
this
.
view
Record
(
params
.
row
.
id
)
}
}
},
params
.
row
.
title
)
},
params
.
row
.
title
)
}
}
...
@@ -179,34 +181,12 @@ export default {
...
@@ -179,34 +181,12 @@ export default {
title
:
this
.
l
(
"startDate"
),
title
:
this
.
l
(
"startDate"
),
align
:
"center"
,
align
:
"center"
,
high
:
true
,
high
:
true
,
type
:
'date'
},
},
{
{
key
:
"endDate"
,
key
:
"endDate"
,
title
:
this
.
l
(
"endDate"
),
title
:
this
.
l
(
"endDate"
),
align
:
"center"
,
align
:
"center"
,
high
:
true
,
high
:
true
,
type
:
'date'
},
{
key
:
"plansToStartDate"
,
title
:
this
.
l
(
"plansToStartDate"
),
align
:
"center"
,
high
:
true
,
type
:
'date'
},
{
key
:
"plansToEndTime"
,
title
:
this
.
l
(
"plansToEndTime"
),
align
:
"center"
,
high
:
true
,
type
:
'date'
},
{
key
:
"completePercentage"
,
title
:
this
.
l
(
"completePercentage"
),
align
:
"left"
,
high
:
true
},
},
{
{
key
:
"note"
,
key
:
"note"
,
...
@@ -272,6 +252,17 @@ export default {
...
@@ -272,6 +252,17 @@ export default {
click
:
()
=>
params
.
row
.
status
!=
0
?
this
.
updatestatus
(
params
.
row
.
id
,
3
)
:
null
click
:
()
=>
params
.
row
.
status
!=
0
?
this
.
updatestatus
(
params
.
row
.
id
,
3
)
:
null
}
}
}),
}),
h
(
'op'
,
{
attrs
:
{
icon
:
"md-add"
,
type
:
"icon"
,
title
:
params
.
row
.
status
!=
3
?
"新增记录"
:
"无法操作"
,
color
:
params
.
row
.
status
!=
3
?
"#19be6b"
:
"#ccc"
,
},
on
:
{
click
:
()
=>
params
.
row
.
status
!=
0
?
this
.
addRecord
(
params
.
row
.
id
)
:
null
}
}),
h
(
'op'
,
{
h
(
'op'
,
{
attrs
:
{
attrs
:
{
icon
:
"ios-create-outline"
,
icon
:
"ios-create-outline"
,
...
@@ -408,11 +399,18 @@ export default {
...
@@ -408,11 +399,18 @@ export default {
onSelect
(
val
)
{
onSelect
(
val
)
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
)
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
)
},
},
viewRecord
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"查看记录"
;
this
.
fullScreen
=
true
;
this
.
detail
=
()
=>
import
(
'./detail'
)
this
.
modal
=
true
;
},
addRecord
(
id
)
{
addRecord
(
id
)
{
this
.
curId
=
id
;
this
.
curId
=
id
;
this
.
title
=
"新增记录"
;
this
.
title
=
"新增记录"
;
this
.
fullScreen
=
true
;
this
.
fullScreen
=
true
;
this
.
detail
=
()
=>
import
(
'.
/detail
'
)
this
.
detail
=
()
=>
import
(
'.
./record/add
'
)
this
.
modal
=
true
;
this
.
modal
=
true
;
},
},
l
(
key
)
{
l
(
key
)
{
...
...
pages/technology/details/add.vue
View file @
e7c84fbe
...
@@ -85,22 +85,39 @@
...
@@ -85,22 +85,39 @@
</Col>
</Col>
<Col
:span=
"6"
>
<Col
:span=
"6"
>
<FormItem
:label=
"l('equipType')"
prop=
"equipTypeId"
>
<FormItem
:label=
"l('equipType')"
prop=
"equipTypeId"
>
<EquipTypeSelect
v-model=
"entity.equipTypeId"
@
on-change=
"equipChange"
></EquipTypeSelect>
<EquipTypeSelect
v-model=
"entity.equipTypeId"
@
on-change=
"equipChange"
></EquipTypeSelect>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"6"
>
<Col
:span=
"6"
>
<FormItem
:label=
"l('resourceType')"
prop=
"resourceType"
>
<FormItem
:label=
"l('resourceType')"
prop=
"resourceType"
>
<ResourceSelect
v-model=
"entity.resource"
@
on-change=
"resourceChange"
></ResourceSelect>
<ResourceSelect
v-model=
"entity.resource"
@
on-change=
"resourceChange"
></ResourceSelect>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"6"
>
<Col
:span=
"6"
>
<FormItem
:label=
"l('isImportant')"
prop=
"isImportant"
>
<FormItem
:label=
"l('isImportant')"
prop=
"isImportant"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isImportant"
type=
"radio"
></Dictionary>
<Dictionary
code=
"Process.state"
v-model=
"entity.isImportant"
type=
"radio"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"6"
>
<Col
:span=
"6"
>
<FormItem
:label=
"l('isParticipateIntime')"
prop=
"isParticipateIntime"
>
<FormItem
<Dictionary
code=
"Process.state"
v-model=
"entity.isParticipateIntime"
type=
"radio"
></Dictionary>
:label=
"l('isParticipateIntime')"
prop=
"isParticipateIntime"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isParticipateIntime"
type=
"radio"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<!--
<Col
:span=
"8"
>
<!--
<Col
:span=
"8"
>
...
@@ -128,6 +145,19 @@
...
@@ -128,6 +145,19 @@
<InputTime
v-model=
"entity.realWorkingHours"
/>
<InputTime
v-model=
"entity.realWorkingHours"
/>
</FormItem>
</FormItem>
</Col>
-->
</Col>
-->
<Col
:span=
"12"
>
<FormItem
:label=
"l('performanceWorkingHours')"
prop=
"performanceWorkingHours"
>
<InputTime
v-model=
"entity.performanceWorkingHours"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('performanceHours')"
prop=
"performanceHours"
>
<InputTime
v-model=
"entity.performanceHours"
/>
</FormItem>
</Col>
<Col
:span=
"4"
>
<Col
:span=
"4"
>
<FormItem
:label=
"l('efficiencyValue')"
prop=
"efficiencyValue"
>
<FormItem
:label=
"l('efficiencyValue')"
prop=
"efficiencyValue"
>
<InputNumber
v-model=
"entity.efficiencyValue"
></InputNumber>
<InputNumber
v-model=
"entity.efficiencyValue"
></InputNumber>
...
@@ -144,11 +174,14 @@
...
@@ -144,11 +174,14 @@
code=
"Process.state"
code=
"Process.state"
v-model=
"entity.isOutside"
v-model=
"entity.isOutside"
type=
"radio"
type=
"radio"
style=
"height:20px"
style=
"height:
20px"
></Dictionary>
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
:style=
"
{visibility:entity.isOutside==1?'visible':'hidden'}">
<Col
:span=
"12"
:style=
"
{ visibility: entity.isOutside == 1 ? 'visible' : 'hidden' }"
>
<FormItem
:label=
"l('outsideTime')"
prop=
"outsideTime"
>
<FormItem
:label=
"l('outsideTime')"
prop=
"outsideTime"
>
<InputTime
v-model=
"entity.outsideTime"
/>
<InputTime
v-model=
"entity.outsideTime"
/>
</FormItem>
</FormItem>
...
@@ -156,7 +189,12 @@
...
@@ -156,7 +189,12 @@
<Divider
/>
<Divider
/>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
<FormItem
:label=
"l('taskContent')"
prop=
"taskContent"
>
<FormItem
:label=
"l('taskContent')"
prop=
"taskContent"
>
<i-quill
v-model=
"entity.taskContent"
:height=
"260"
v-paste=
"handleImg"
border
/>
<i-quill
v-model=
"entity.taskContent"
:height=
"260"
v-paste=
"handleImg"
border
/>
</FormItem>
</FormItem>
</Col>
</Col>
</Row>
</Row>
...
@@ -196,6 +234,8 @@ export default {
...
@@ -196,6 +234,8 @@ export default {
realRuntime
:
0
,
realRuntime
:
0
,
isParticipateIntime
:
0
,
isParticipateIntime
:
0
,
equipType
:
""
,
equipType
:
""
,
performanceWorkingHours
:
0
,
performanceHours
:
0
,
},
},
rules
:
{
rules
:
{
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
...
...
pages/technology/details/edit.vue
View file @
e7c84fbe
...
@@ -85,22 +85,39 @@
...
@@ -85,22 +85,39 @@
</Col>
</Col>
<Col
:span=
"6"
>
<Col
:span=
"6"
>
<FormItem
:label=
"l('equipType')"
prop=
"equipTypeId"
>
<FormItem
:label=
"l('equipType')"
prop=
"equipTypeId"
>
<EquipTypeSelect
v-model=
"entity.equipTypeId"
@
on-change=
"equipChange"
></EquipTypeSelect>
<EquipTypeSelect
v-model=
"entity.equipTypeId"
@
on-change=
"equipChange"
></EquipTypeSelect>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"6"
>
<Col
:span=
"6"
>
<FormItem
:label=
"l('resourceType')"
prop=
"resourceType"
>
<FormItem
:label=
"l('resourceType')"
prop=
"resourceType"
>
<ResourceSelect
v-model=
"entity.resource"
@
on-change=
"resourceChange"
></ResourceSelect>
<ResourceSelect
v-model=
"entity.resource"
@
on-change=
"resourceChange"
></ResourceSelect>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"6"
>
<Col
:span=
"6"
>
<FormItem
:label=
"l('isImportant')"
prop=
"isImportant"
>
<FormItem
:label=
"l('isImportant')"
prop=
"isImportant"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isImportant"
type=
"radio"
></Dictionary>
<Dictionary
code=
"Process.state"
v-model=
"entity.isImportant"
type=
"radio"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"6"
>
<Col
:span=
"6"
>
<FormItem
:label=
"l('isParticipateIntime')"
prop=
"isParticipateIntime"
>
<FormItem
<Dictionary
code=
"Process.state"
v-model=
"entity.isParticipateIntime"
type=
"radio"
></Dictionary>
:label=
"l('isParticipateIntime')"
prop=
"isParticipateIntime"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isParticipateIntime"
type=
"radio"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<!--
<Col
:span=
"8"
>
<!--
<Col
:span=
"8"
>
...
@@ -128,6 +145,19 @@
...
@@ -128,6 +145,19 @@
<InputTime
v-model=
"entity.realWorkingHours"
/>
<InputTime
v-model=
"entity.realWorkingHours"
/>
</FormItem>
</FormItem>
</Col>
-->
</Col>
-->
<Col
:span=
"12"
>
<FormItem
:label=
"l('performanceWorkingHours')"
prop=
"performanceWorkingHours"
>
<InputTime
v-model=
"entity.performanceWorkingHours"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('performanceHours')"
prop=
"performanceHours"
>
<InputTime
v-model=
"entity.performanceHours"
/>
</FormItem>
</Col>
<Col
:span=
"4"
>
<Col
:span=
"4"
>
<FormItem
:label=
"l('efficiencyValue')"
prop=
"efficiencyValue"
>
<FormItem
:label=
"l('efficiencyValue')"
prop=
"efficiencyValue"
>
<InputNumber
v-model=
"entity.efficiencyValue"
></InputNumber>
<InputNumber
v-model=
"entity.efficiencyValue"
></InputNumber>
...
@@ -144,11 +174,14 @@
...
@@ -144,11 +174,14 @@
code=
"Process.state"
code=
"Process.state"
v-model=
"entity.isOutside"
v-model=
"entity.isOutside"
type=
"radio"
type=
"radio"
style=
"height:20px"
style=
"height:
20px"
></Dictionary>
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
:style=
"
{visibility:entity.isOutside==1?'visible':'hidden'}">
<Col
:span=
"12"
:style=
"
{ visibility: entity.isOutside == 1 ? 'visible' : 'hidden' }"
>
<FormItem
:label=
"l('outsideTime')"
prop=
"outsideTime"
>
<FormItem
:label=
"l('outsideTime')"
prop=
"outsideTime"
>
<InputTime
v-model=
"entity.outsideTime"
/>
<InputTime
v-model=
"entity.outsideTime"
/>
</FormItem>
</FormItem>
...
@@ -156,7 +189,12 @@
...
@@ -156,7 +189,12 @@
<Divider
/>
<Divider
/>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
<FormItem
:label=
"l('taskContent')"
prop=
"taskContent"
>
<FormItem
:label=
"l('taskContent')"
prop=
"taskContent"
>
<i-quill
v-model=
"entity.taskContent"
:height=
"260"
v-paste=
"handleImg"
border
/>
<i-quill
v-model=
"entity.taskContent"
:height=
"260"
v-paste=
"handleImg"
border
/>
</FormItem>
</FormItem>
</Col>
</Col>
</Row>
</Row>
...
...
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