Commit 6cf559c2 authored by 李苏's avatar 李苏 💬

履职设置

parent bacbf533
......@@ -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"
},
]
},
......
<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>
<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>
<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">人员:&nbsp;&nbsp;</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>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment