Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sgaqgl-vue
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
李苏
sgaqgl-vue
Commits
6cf559c2
Commit
6cf559c2
authored
Jan 09, 2023
by
李苏
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
履职设置
parent
bacbf533
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
542 additions
and
0 deletions
+542
-0
index.js
src/router/index.js
+14
-0
edit.vue
src/views/daily/performanceReportSet/edit.vue
+239
-0
index.vue
src/views/daily/performanceReportSet/index.vue
+161
-0
selecter.vue
src/views/daily/performanceReportSet/selecter.vue
+128
-0
No files found.
src/router/index.js
View file @
6cf559c2
...
...
@@ -727,6 +727,20 @@ export const powerRoutes=[
name
:
'performanceReport'
,
path
:
"performanceReport"
},
{
component
:
'daily/performanceReportSet/index'
,
hidden
:
false
,
meta
:{
"title"
:
"履职设置"
,
"icon"
:
""
,
"noCache"
:
false
,
"link"
:
null
,
"mkid"
:
'test'
,
},
name
:
'performanceReportSet'
,
path
:
"performanceReportSet"
},
]
},
...
...
src/views/daily/performanceReportSet/edit.vue
0 → 100644
View file @
6cf559c2
<
template
>
<RelDialog
:type=
'type'
:editApp=
'editApp'
:app=
'app'
:buttonApp=
'buttonApp'
>
<!-- 填写表单内容,slot=form必写-->
<el-form
style=
"height: 60vh;overflow: auto;overflow-x:hidden;padding-right: 30px;"
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"100px"
:rules=
"rules"
>
<Selecter
v-if=
"showDialog"
:app=
'this'
></Selecter>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务名称"
ref=
"name"
prop=
"name"
>
<el-input
:readonly=
"readonly"
v-model=
"form.name"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"所属公司"
ref=
"gsid"
prop=
"gsid"
>
<RelSelect
style=
"width: 100%;"
:readonly=
"readonly"
src=
'jcsj/common/bm/queryGs'
filterable
clearable
:match=
"
{value:'id',label:'bmmc'}" v-model='form.gsid' >
</RelSelect>
</el-form-item>
</el-col>
<!--
<el-col
:span=
"24"
>
<el-form-item
label=
"所属班组"
ref=
"bmid"
prop=
"bmid"
>
<RelSelect
linkage
:linkParams=
"
{pid:form.gsid}" style="width: 100%;" src='jcsj/common/bm/queryBz' filterable clearable :match="{value:'id',label:'bmmc'}" v-model='form.bmid' >
</RelSelect>
</el-form-item>
</el-col>
-->
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"检查周期"
ref=
"jldw"
prop=
"jldw"
>
<el-select
:readonly=
"readonly"
style=
"width: 100%;"
v-model=
"form.jldw"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
v-show=
"form.jldw&&form.jldw!='once'"
:span=
"12"
>
<el-form-item
label=
"开始时间"
ref=
"begintime"
prop=
"begintime"
>
<el-date-picker
:readonly=
"readonly"
style=
"width: 100%;"
value-format=
'timestamp'
type=
"datetime"
v-model=
"form.begintime"
></el-date-picker>
</el-form-item>
</el-col>
<!-- 重写-->
</el-row>
<el-row
:gutter=
"20"
style=
"height: 60px;padding-left: 100px;"
>
<el-col
:span=
"24"
style=
"display: flex;line-height: 30px;"
><span
v-show=
"form.jldw&&form.jldw!='once'"
>
每
</span>
<div
style=
"width: 80px;display: flex;"
v-show=
"form.jldw&&form.jldw=='year'"
><el-input
v-model=
"form.year"
type=
"number"
></el-input><span>
年
</span>
</div>
<div
style=
"width: 100px;display: flex;"
v-show=
"form.jldw&&(form.jldw=='month'||form.jldw=='year')"
>
<el-select
style=
"width: 100%;"
v-model=
"form.month"
placeholder=
"请选择"
>
<el-option
v-for=
"item in 12"
:key=
"item"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select><span>
月
</span></div>
<div
style=
"width: 80px;display: flex;"
v-show=
"form.jldw&&form.jldw=='week'"
><el-input
v-model=
"form.week"
type=
"number"
></el-input><span>
周
</span></div>
<div
style=
"width:100px;display: flex;"
v-show=
"form.jldw&&(form.jldw=='month'||form.jldw=='year'||form.jldw=='week'||form.jldw=='day')"
><el-select
:readonly=
"readonly"
style=
"width: 100%;"
v-model=
"form.day"
placeholder=
"请选择"
>
<el-option
v-for=
"item in days"
:key=
"item"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select><span>
日
</span></div>
<div
style=
"width: 80px;display: flex;"
v-show=
"form.jldw&&(form.jldw=='month'||form.jldw=='year'||form.jldw=='week'||form.jldw=='hour'||form.jldw=='day')"
>
<el-input
@
input=
"numberChange(arguments[0],24,'hour')"
@
change=
"numberChange(arguments[0],24,'hour')"
v-model=
"form.hour"
type=
"number"
></el-input><span>
时
</span></div>
<div
style=
"width: 80px;display: flex;"
v-show=
"form.jldw&&(form.jldw=='month'||form.jldw=='year'||form.jldw=='week'||form.jldw=='minute'||form.jldw=='day')"
><el-input
@
input=
"numberChange(arguments[0],59,'minute')"
@
change=
"numberChange(arguments[0],59,'minute')"
v-model=
"form.minute"
type=
"number"
></el-input><span>
分
</span></div>
<div
style=
"width: 80px;display: flex;"
v-show=
"form.jldw&&(form.jldw=='month'||form.jldw=='year'||form.jldw=='week'||form.jldw=='second'||form.jldw=='day')"
><el-input
@
input=
"numberChange(arguments[0],59,'second')"
@
change=
"numberChange(arguments[0],59,'second')"
v-model=
"form.second"
type=
"number"
></el-input><span>
秒
</span></div>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-form-item
label=
""
ref=
"year"
prop=
"year"
>
<div
style=
"height: 300px;border: 1px solid #eee;border-top: 0px;"
>
<div
style=
"display: flex;transform: translateY(-10px);"
>
<el-button
@
click
.
native=
'showDialog=true'
size=
'mini'
type=
"primary"
>
添加指标
</el-button>
</div>
<EditTable
:editTableData=
'formDetail'
staticHeader
:app=
'this'
>
<template
slot=
"tabCustom"
>
<el-table-column
style=
"border-right: 0px;"
fixed=
"right"
label=
"操作"
header-align=
"center"
>
<template
slot-scope=
"scope"
>
<el-button
style=
"text-align: center;color: red;width: 100%;"
@
click
.
native
.
prevent=
"del(scope.$index, tableData,scope)"
type=
"text"
size=
"small"
>
<i
class=
"el-icon-delete"
></i>
删除
</el-button>
</
template
>
</el-table-column>
</template>
</EditTable>
</div>
</el-form-item>
</el-row>
</el-form>
</RelDialog>
</template>
<
script
>
import
Selecter
from
'./selecter'
import
{
editMixin
}
from
'common'
export
default
{
components
:{
Selecter
},
mixins
:
[
editMixin
],
/* 存放index页面传递的额外参数*/
mounted
()
{
},
computed
:{
jldw
(){
let
jldw
=
this
.
form
.
jldw
return
jldw
}
},
watch
:{
formDetail
(
val
){
if
(
val
.
length
){
this
.
notInIds
=
[]
val
.
forEach
(
e
=>
{
this
.
notInIds
.
push
(
e
.
jcnrid
)
})
}
},
jldw
(
val
){
if
(
val
==
'week'
){
this
.
days
=
7
}
else
{
this
.
days
=
31
}
}
},
/* 组件名称*/
name
:
"aqglFxsjEdit"
,
/* 传递props模式一样必填,用于index,button,REdialog之间的组件通信*/
data
()
{
return
{
notInIds
:[],
formDetail
:[],
showDialog
:
false
,
DialogTitle
:
'排查标准'
,
days
:
31
,
/* 额外初始化,根据需求*/
options
:
[{
value
:
'year'
,
label
:
'年'
},
{
value
:
'month'
,
label
:
'月'
},
{
value
:
'week'
,
label
:
'周'
},
{
value
:
'day'
,
label
:
'天'
},
{
value
:
'hour'
,
label
:
'时'
},
{
value
:
'minute'
,
label
:
'分'
},
{
value
:
'second'
,
label
:
'秒'
},
{
value
:
'once'
,
label
:
'一次'
}],
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form
:
{
// bmid:'',
gsid
:
''
,
table
:
'FXSZMX'
,
name
:
''
,
jldw
:
''
,
begintime
:
''
,
/* 每几年*/
year
:
''
,
month
:
''
,
day
:
1
,
week
:
''
},
/* form提交时的规则,具体规则参考官网*/
rules
:
{
},
/* 多表表头*/
editTableTitle
:[
{
label
:
"检查内容"
,
prop
:
"nr"
,
fieldType
:
"ftString"
,
width
:
300
},
{
label
:
"岗位"
,
prop
:
"scgwName"
,
fieldType
:
"ftString"
,
width
:
150
},
{
label
:
"任务类型"
,
prop
:
"rwlxName"
,
fieldType
:
"ftString"
,
width
:
150
},
{
label
:
"检查人"
,
prop
:
"fzrName"
,
fieldType
:
"ftString"
,
width
:
150
},
]
}
},
methods
:
{
del
(
index
){
if
(
this
.
type
==
'view'
){
return
}
this
.
formDetail
.
splice
(
index
,
1
)
},
numberChange
(
val
,
maxNum
,
str
)
{
//转换数字类型
this
.
form
[
str
]
=
Number
(
val
)
//重新渲染
this
.
$nextTick
(()
=>
{
//比较输入的值和最大值,返回小的
let
num
=
Math
.
min
(
Number
(
val
),
maxNum
)
//输入负值的情况下, = 0(可根据实际需求更该)
if
(
num
<
0
)
{
this
.
form
[
str
]
=
0
}
else
{
//反之
this
.
form
[
str
]
=
num
}
})
},
jcrSelected
(
row
){
console
.
log
(
row
)
this
.
form
.
jcrid
=
row
.
id
},
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
span
{
padding-left
:
5px
;
padding-right
:
5px
;
font-size
:
12px
;
}
</
style
>
src/views/daily/performanceReportSet/index.vue
0 → 100644
View file @
6cf559c2
<
template
>
<div
class=
"min_full"
>
<!-- 查询条件-->
<div
class=
"search"
v-condition
>
<SearchButton
:app=
'app'
></SearchButton>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-col
:span=
"6"
class=
"search-col"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
名称:
</span>
<el-input
v-model=
"queryParams.name"
></el-input>
</div>
</el-col>
</el-row>
</div>
<!-- 按钮操作-->
<el-row
class=
"tool-bar"
>
<!--
<PrintButton
:app=
'app'
></PrintButton>
-->
<ViewButton
ref=
"view"
:app=
'app'
></ViewButton>
<AddButton
ref=
"add"
:app=
'app'
></AddButton>
<CopyButton
ref=
"copy"
:app=
'app'
></CopyButton>
<EditButton
ref=
"edit"
:app=
'app'
></EditButton>
<!--
<FieldButton
:app=
'app'
></FieldButton>
<ExcelButton
:app=
'app'
></ExcelButton>
-->
<el-button
@
click=
"doStart"
size=
'mini'
type=
"primary"
>
启动
</el-button>
<el-button
@
click=
"doStop"
size=
'mini'
type=
"primary"
>
停止
</el-button>
<el-button
@
click=
"doExcute"
size=
'mini'
type=
"primary"
>
立即执行
</el-button>
<!-- 额外按钮-->
</el-row>
<!-- 表格-->
<div
class=
"tablePagers"
>
<TablePager
@
getData=
'getData'
:ref=
"'TablePager'"
:app=
'app'
:query=
'query'
@
selectItem=
'selectItem'
@
getRow=
'getRow'
>
</TablePager>
</div>
</div>
</
template
>
<
script
>
/* 引入需要的接口*/
import
{
doQuery
,
doAdd
,
doUpdate
,
doDelete
,
doQueryDetail
,
start
,
stop
,
excute
}
from
'@/api/riskPrecontrol/riskSet'
;
/* edit页面*/
import
Edit
from
'./edit'
import
{
tableMixin
}
from
'common'
export
default
{
mixins
:
[
tableMixin
],
name
:
'maintenanceRisk'
,
/* 初始额外赋值*/
async
mounted
()
{
this
.
$refs
[
'TablePager'
].
pageQuery
()
},
data
()
{
return
{
/*需要的额外参数 */
showDialog
:
false
,
DialogName
:
''
,
type
:
''
,
DialogTitle
:
''
,
/* 基础url*/
baseUrl
:
'/aqgl/fxsj'
,
/* 查询参数*/
queryParams
:
{
name
:
''
,
},
/* 表格标题对应参数*/
tableTitle
:
[
{
label
:
"名称"
,
prop
:
"name"
,
width
:
230
},
{
label
:
"公司"
,
prop
:
"gsName"
,
width
:
230
},
{
label
:
"描述"
,
prop
:
"desc"
,
width
:
230
},
{
label
:
"上次执行时间"
,
prop
:
"pretime"
,
width
:
200
},
{
label
:
"下次执行时间"
,
prop
:
"nexttime"
,
width
:
200
},
{
label
:
"状态"
,
prop
:
"status"
,
width
:
90
,
formatter
:
function
(
a
,
b
,
value
)
{
var
map
=
{
1
:
"正在运行"
,
0
:
"停止"
};
return
map
[
value
]
||
map
[
0
];
}},
{
label
:
"执行结果"
,
prop
:
"result"
,
width
:
390
}
]
}
},
methods
:
{
doStart
(){
if
(
this
.
app
.
selectOne
||
this
.
app
.
clickOne
)
{
this
.
singleItem
.
id
&&
start
(
this
.
singleItem
.
id
).
then
(
e
=>
{
if
(
e
.
success
){
this
.
$success
(
'操作成功'
)
this
.
$refs
[
'TablePager'
].
reLoad
()
}
})
}
else
{
this
.
$warning
(
'请选中一行操作'
);
}
},
doStop
(){
if
(
this
.
app
.
selectOne
||
this
.
app
.
clickOne
)
{
this
.
singleItem
.
id
&&
stop
(
this
.
singleItem
.
id
).
then
(
e
=>
{
if
(
e
.
success
){
this
.
$success
(
'操作成功'
)
this
.
$refs
[
'TablePager'
].
reLoad
()
}
})
}
else
{
this
.
$warning
(
'请选中一行操作'
);
}
},
doExcute
(){
if
(
this
.
app
.
selectOne
||
this
.
app
.
clickOne
)
{
this
.
singleItem
.
id
&&
excute
(
this
.
singleItem
.
id
).
then
(
e
=>
{
if
(
e
.
success
){
this
.
$success
(
'操作成功'
)
this
.
$refs
[
'TablePager'
].
reLoad
()
this
}
})
}
else
{
this
.
$warning
(
'请选中一行操作'
);
}
},
query
:
doQuery
,
/* 基础增*/
apiAdd
:
doAdd
,
/* 基础更新*/
apiUpdate
:
doUpdate
,
/* 删除操作*/
apiDelete
:
doDelete
,
/* 初始化赋值操作*/
queryDetail
:
doQueryDetail
,
init
()
{
},
},
components
:
{
Edit
,
}
}
</
script
>
<
style
scoped
>
</
style
>
src/views/daily/performanceReportSet/selecter.vue
0 → 100644
View file @
6cf559c2
<
template
>
<DefaultDialog
:app=
'app'
>
<div
slot=
"form"
style=
"height: 70vh;"
>
<!-- 按钮-->
<div
class=
"min_full"
style=
'height:100%;width: 100%;'
>
<div
class=
"search"
v-condition
>
<SearchButton
:app=
'this'
></SearchButton>
<el-row
:gutter=
"20"
class=
"search-row-1"
>
<el-col
:span=
"12"
class=
"search-col"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
任务类型:
</span>
<RelSelect
style=
"width: 100%;"
src=
'aqgl/fxyk/fxpc/init/rwlx'
clearable
:match=
"
{value:'id',label:'name'}" v-model='queryParams.rwlx' >
</RelSelect>
</div>
</el-col>
<el-col
:span=
"12"
class=
"search-col"
>
<div
class=
"search-item"
>
<span
class=
"search-span"
>
人员:
</span>
<el-input
v-model=
'queryParams.condition'
></el-input>
</div>
</el-col>
</el-row>
</div>
<div
class=
"tablePagers"
>
<TablePager
showSelection
:delButton=
'false'
@
getData=
'getData'
:ref=
"'TablePager'"
:app=
'this'
:query=
'query'
@
selectItem=
'selectItem'
@
getRow=
'getRow'
>
</TablePager>
</div>
</div>
<!-- 表格-->
</div>
<div
slot=
"reFooter"
class=
"refooter"
>
<span
slot=
"footer"
class=
"dialog-footer"
style=
"position: absolute;right: 10px;top: 12px;"
>
<el-button
@
click=
"app.showDialog=false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"save()"
>
保 存
</el-button>
</span>
</div>
</DefaultDialog>
</
template
>
<
script
>
import
{
doQuery
,
doAdd
,
doUpdate
,
doDelete
,
doQueryJcnr
,
doAddJcnr
,
doUpdateJcnr
,
doDeleteJcnr
,
doAutoGen
,
doQueryScgw
}
from
"@/api/riskPrecontrol/screeningCriteria.js"
;
import
{
tableMixin_noapp
}
from
'common'
export
default
{
mixins
:[
tableMixin_noapp
],
props
:
{
app
:
{
type
:
Object
,
default
:
{}
}
},
async
mounted
()
{
this
.
$nextTick
(()
=>
{
this
.
queryParams
.
gsid
=
this
.
app
.
form
.
gsid
this
.
queryParams
.
notInIds
=
this
.
app
.
notInIds
// this.queryParams.bmid=this.app.form.bmid
this
.
$refs
[
'TablePager'
].
pageQuery
()
})
},
methods
:
{
query
:
doQueryJcnr
,
/* 基础增*/
apiAdd
:
doAdd
,
/* 基础更新*/
apiUpdate
:
doUpdate
,
/* 删除操作*/
apiDelete
:
doDelete
,
save
(){
if
(
this
.
multipleSelection
.
length
==
0
){
this
.
$warning
(
'请勾选一条数据'
)
return
}
else
{
let
idList
=
[]
this
.
app
.
formDetail
.
forEach
(
e
=>
{
idList
.
push
(
e
.
id
)
})
this
.
multipleSelection
.
forEach
(
item
=>
{
item
.
jcnrid
=
item
.
id
item
.
id
=
''
})
let
addData
=
this
.
multipleSelection
.
filter
((
item
)
=>
{
if
(
idList
.
indexOf
(
item
.
jcnrid
)
==-
1
){
return
true
}
else
{
return
false
}
})
this
.
app
.
formDetail
=
[...
this
.
app
.
formDetail
,...
addData
]
console
.
log
(
this
.
app
.
formDetail
)
this
.
app
.
showDialog
=
false
}
}
},
data
()
{
return
{
queryParams
:{
gwid
:
''
,
condition
:
''
,
rwlx
:
''
,
notInIds
:[]
},
tableTitle
:
[
{
label
:
"检查内容"
,
prop
:
"nr"
,
fieldType
:
"ftString"
,
width
:
300
},
{
label
:
"岗位"
,
prop
:
"scgwName"
,
fieldType
:
"ftString"
,
width
:
150
},
{
label
:
"任务类型"
,
prop
:
"rwlxName"
,
fieldType
:
"ftString"
,
width
:
150
},
{
label
:
"检查人"
,
prop
:
"fzrName"
,
fieldType
:
"ftString"
,
width
:
150
},
],
baseUrl
:
'/aqgl/fxyk/fxbz'
,
}
}
}
</
script
>
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