Commit e151f0f6 authored by 李苏's avatar 李苏 💬

中广核调整

parent 05a8623e
......@@ -309,6 +309,20 @@ export const powerRoutes = [
name: 'fmezbpgl',
path: "fmezbpgl",
},
{
erpComponent: false,
component: 'fmegl/fmekpigl/index',
hidden: false,
meta: {
"title": "FME-KPI管理",
"icon": "",
"noCache": false,
"link": null,
"mkid": '920050510',
},
name: 'fmekpigl',
path: "fmekpigl",
},
{
erpComponent: false,
component: 'fmegl/glqwpdj/index',
......
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
export default {
props: {
app: {
type: Object,
default: ()=>{
return {}
}
}
},
async mounted() {
},
data() {
return {
}
},
methods: {
}
}
</script>
<style scoped>
</style>
<!--
* @Description:生成基础baseEdit组件,屏蔽不必要细节
* @Author: lisu lisu@gavelinfo.com
* @Date: 2024-09-19 10:47:46
* @LastEditors: lisu lisu@gavelinfo.com
* @LastEditTime: 2024-10-30 11:02:01
* @FilePath: /zghywpc-vue/src/views/fmegl/fmekpigl/biao/edit.vue
-->
<template>
<!-- prop 穿透赋值 -->
<BaseEdit labelWidth='130px' v-bind="$attrs" :config='editConfig'>
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.editPage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面从表上方插槽 ctx.editPage来操作默认页面 -->
<!-- <el-button @click="demo(ctx.editPage)" size='mini' type="primary">示例按钮</el-button> -->
<!-- <AuxButton :dynamic='true' :queryParams="{
sbxxTreeId:that.form.sbxxTreeId,
zt:'N'
}" :component='Qxsj' rename='选择缺陷数据' code='dynamic' @save="saveQxsj" /> -->
</template>
</BaseEdit>
</template>
<script>
export default {
data() {
return {
editConfig: {
/* 生成form表单 */
editColItemList: [
{
label: "机组名称",
prop: "jzmc",
span: 12,
type: "RelSelect",
required:true,
typeConfig:{
src:'fme/ufmekpi/init/jz/type'
}
},
{
label: "FME1级别",
prop: "fmeone",
span: 12,
type: "input"
},
{
label: "FME2级别",
prop: "fmetwo",
span: 12,
type: "input"
},
{
label: "FME3级别",
prop: "fmethree",
span: 12,
type: "input"
},
{
label: "FME4级别",
prop: "fmefour",
span: 12,
type: "input"
},
{
label: "kpi",
prop: "kpi",
span: 12,
type: "inputNumber"
},
{
label: "及格kpi",
prop: "jgkpi",
span: 12,
type: "inputNumber"
},
{
label: "优秀kpi",
prop: "yxkpi",
span: 12,
type: "inputNumber"
},
{
label: "m1",
prop: "mone",
span: 12,
type: "input"
},
{
label: "m2",
prop: "mtwo",
span: 12,
type: "input"
},
{
label: "m3",
prop: "mthree",
span: 12,
type: "input"
},
{
label: "年",
prop: "year",
span: 12,
type: "year",
required:true,
},
{
label: "历史遗留",
prop: "lsyl",
span: 12, // 注意这里的span为24,因为虽然未明确说明,但假设bz类型或其他特殊情况的span为24的规则适用于width较大的字段,或根据实际需求调整
type: "inputNumber" // 假设未特殊说明的宽度较大字段默认为input类型,或根据实际业务需求调整
},
{
label: "设备缺陷",
prop: "sbqx",
span: 12,
type: "inputNumber"
},
{
label: "外部引入",
prop: "wbyr",
span: 12,
type: "inputNumber"
},
{
label: "腐蚀老化",
prop: "fslh",
span: 12,
type: "inputNumber"
},
{
label: "未取出异物",
prop: "wqcyw",
span: 12,
type: "inputNumber"
}
],
/* 生成主从表,为空数组默认不展示 */
editTableTitle: [
// {
// title: "序号",
// field: "xh",
// width: 50,
// align: "center"
// },
// {
// title: "点检部位",
// field: "bw",
// width: 180,
// },
// {
// title: "点检项目",
// field: "project",
// width: 160
// },
// {
// title: "点检标准",
// field: "standard",
// width: 140
// },
],
/* 子表名,可选 同editTableTitle一起用*/
detailTable: ''
}
}
},
methods: {
/**
* @description:示例按钮
* @param {*} ctx操作edit实例内容
* @return {*}
* @author: lisu
*/
// demo(ctx){}
}
}
</script>
<style>
</style>
<!--
* @Description: 生成基础basePage组件,屏蔽不必要细节
* @Author: lisu lisu@gavelinfo.com
* @Date: 2024-09-19 10:55:27
* @LastEditors: lisu lisu@gavelinfo.com
* @LastEditTime: 2024-10-30 09:58:21
* @FilePath: /zghywpc-vue/src/views/fmegl/fmekpigl/biao/index.vue
-->
<template>
<BasePage ref="basePage" class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<!-- <el-button @click="demo(ctx.basePage)" size='mini' type="primary">示例按钮</el-button> -->
</template>
</BasePage>
</template>
<script>
import Edit from './edit.vue'
export default {
name: 'template',
data() {
let nowYear = new Date().getFullYear()
let lastYearKpi=`${nowYear-1}年kpi`
let yearBeforeLastKpi=`${nowYear-2}年kpi`
return {
config: {
/* 基本配置*/
url: 'fme/ufmekpi',
tableTitle: [{
title: "机组名称",
field: "jzmc",
width: 130
},
{
title: "FME1级别",
field: "fmeone",
width: 130
},
{
title: "FME2级别",
field: "fmetwo",
width: 100
},
{
title: "FME3级别",
field: "fmethree",
width: 100
},
{
title: "FME4级别",
field: "fmefour",
width: 100
},
{
title: yearBeforeLastKpi,
field: "yearBeforeLastKpi",
width: 140
},
{
title: lastYearKpi,
field: "lastYearKpi",
width: 140
},
{
title: "kpi",
field: "kpi",
width: 100
},
{
title: "及格kpi",
field: "jgkpi",
width: 100
},
{
title: "优秀kpi",
field: "yxkpi",
width: 100
},
{
title: "m1",
field: "mone",
width: 140
},
{
title: "m2",
field: "mtwo",
width: 140
},
{
title: "m3",
field: "mthree",
width: 140
},
{
title: "年",
field: "year",
width: 140
},
{
title: "历史遗留",
field: "lsyl",
width: 200
},
{
title: "设备缺陷",
field: "sbqx",
width: 200
},
{
title: "外部引入",
field: "wbyr",
width: 200
},
{
title: "腐蚀老化",
field: "fslh",
width: 200
},
{
title: "未取出异物",
field: "wqcyw",
width: 200
}
],
queryParams: [
[{
label: '年度',
prop: 'year',
span: 6,
type: 'year',
value: new Date().getFullYear(),
typeConfig: {
onChange: (e) => {
let nowYear = this.$refs.basePage.queryParams.year
let lastYearKpi=`${nowYear-1}年kpi`
let yearBeforeLastKpi=`${nowYear-2}年kpi`
let list =this.$refs.basePage.$refs.TablePager.newGridList
list.forEach(item=>{
if(item.prop=='lastYearKpi'){
item.label=lastYearKpi
}
if(item.prop=='yearBeforeLastKpi'){
item.label=yearBeforeLastKpi
}
})
this.$refs.basePage.refresh()
}
}
}
]
],
/* 默认启停用 */
}
}
},
methods: {
/**
* @description:示例按钮
* @param {*} ctx操作basePage实例内容
* @return {*}
* @author: lisu
*/
// demo(ctx){}
},
components: {
Edit
}
}
</script>
<style>
</style>
<!--
* @Description: 生成基础basePage组件,屏蔽不必要细节
* @Author: lisu lisu@gavelinfo.com
* @Date: 2024-09-19 10:55:27
* @LastEditors: lisu lisu@gavelinfo.com
* @LastEditTime: 2024-10-30 10:15:06
* @FilePath: /zghywpc-vue/src/views/fmegl/fmekpigl/index.vue
-->
<template>
<div class="fmezbpgl">
<!-- 切换-->
<div class="qh">
<el-button @click="showPic=!showPic" type="success" icon="el-icon-refresh" circle></el-button>
</div>
<Tu class="leftOpt animate__animated " v-show="showPic" :class="{
'animate__fadeInLeft':showPic,
'animate__fadeOutLeft':!showPic
}" />
<Biao class="leftOpt animate__animated " v-show="!showPic" :class="{
'animate__fadeInRight':!showPic,
'animate__fadeOutRight':showPic
}" />
</div>
</template>
<script>
import Biao from './biao'
import Tu from './tu'
export default {
name: 'fmekpigl',
components: {
Biao,
Tu
},
data() {
return {
showPic: true
}
}
}
</script>
<style lang="scss" scoped>
.fmezbpgl {
position: relative
}
.qh {
position: absolute;
right: 55px;
bottom: 55px;
z-index: 9999;
font-size: 18px;
color: cornflowerblue;
}
</style>
This diff is collapsed.
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
export default {
props: {
app: {
type: Object,
default: ()=>{
return {}
}
}
},
async mounted() {
},
data() {
return {
}
},
methods: {
}
}
</script>
<style scoped>
</style>
......@@ -42,7 +42,7 @@
</div>
<div class="showYearBodyItem flex1" :class="{
'bg-green':yearItem.twoywsj<4,
'bg-yellow':yearItem.twoywsj>=4,
'bg-yellow':yearItem.twoywsj>=4&&yearItem.twoywsj<=6,
'bg-red':yearItem.twoywsj>6,
}">
<div class="showYearBodyItemTitle">
......@@ -70,7 +70,7 @@
</div>
<div class="showYearBodyItem flex1" :class="{
'bg-yellow':yearItem.wbyrywsj<=12,
'bg-yellow':yearItem.wbyrywsj<=12&&yearItem.wbyrywsj>=6,
'bg-green':yearItem.wbyrywsj<6,
'bg-red':yearItem.wbyrywsj>12,
}">
......@@ -126,7 +126,7 @@
</div>
<div class="showYearBodyItem flex1" :class="{
'bg-green':monthItem.wbyrywsj<3,
'bg-yellow':monthItem.wbyrywsj>=3,
'bg-yellow':monthItem.wbyrywsj>=3&&monthItem.wbyrywsj<=6,
'bg-red':monthItem.wbyrywsj>6,
......
<template>
<DefaultDialog :app='app'>
<el-form slot="form" ref="form" :model="form" label-width="100px" :rules="rules">
<!-- 辅助编码-->
<el-row :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
</el-row>
</el-form>
<div slot="reFooter" class="refooter">
<span slot="footer" class="dialog-footer">
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
import {
editMixin
} from 'common'
import sbxx from '@/views/auxinput/sbxx'
export default {
props: {
app: {
type: Object,
default: () => {
return {}
}
}
},
mixins: [editMixin],
async mounted() {
},
data() {
return {
readonly: false,
editColItemList: [{
label: '设备名称',
prop: 'sbxxName',
span: 12,
required: true,
type: 'AuxInput',
typeConfig: {
isRequest: false,
dynamic: true,
code: true,
component: sbxx,
label: 'sbxxName',
transform: {
value: 'id',
label: 'name'
},
give(res) {
this.form.sbxxCode = res.code
}
}
},
{
label: '设备编码',
prop: 'sbxxCode',
span: 12,
type: 'input',
required: true,
readonly: true
},
{
label: '检修作业方法',
prop: 'name',
span: 24,
type: 'input',
required: true,
},
{
label: '检修作业编码',
prop: 'code',
span: 24,
type: 'input',
required: true,
},
]
}
},
methods: {
save() {
this.$refs['form'].validate((valid) => {
if (valid) {
this.$emit('save', this.form)
}
})
}
}
}
</script>
<style scoped>
</style>
......@@ -6,6 +6,7 @@
<addgjmx @save='addgjmxbc' v-if="showDialog&&DialogTitle=='新增工具'" :app="this"></addgjmx>
<addbpbjmx @save='savebpbj' v-if="showDialog&&DialogTitle=='新增备品备件'" :app="this"></addbpbjmx>
<addhcmx @save='savehc' v-if="showDialog&&DialogTitle=='新增耗材'" :app="this"></addhcmx>
<addjxzyff @save='savejxzyff' v-if="showDialog&&DialogTitle=='新增检修作业方法'" :app="this" />
<el-row :gutter="20" :app="this">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label"
......@@ -43,6 +44,18 @@
</editTableForEdit>
</div>
</el-tab-pane>
<!-- 检修作业方法-->
<el-tab-pane label="检修作业方法" name="5">
<div style="height: 300px;">
<editTableForEdit :phsxTitle='false' :expandTitle='false' code='false' :AuxButton='false' :indexApp='app'
:type='type' ref="editTableForEdit1" :editTableTitle='editTableTitle4' :editTableData="editTableData4">
<template v-if="type!='view'" #toolbar="ctx">
<el-button @click="addjxzyff" size='mini' type="primary">新增检修作业</el-button>
</template>
</editTableForEdit>
</div>
</el-tab-pane>
<el-tab-pane label="完工附件" name="4">
<!-- 上传div-->
......@@ -120,6 +133,7 @@
import addgjmx from './addgjmx.vue'
import addbpbjmx from './addbpbjmx.vue'
import addhcmx from './addhcmx.vue'
import addjxzyff from './addjxzyff.vue'
import {
autoAttachDownload,
} from "common/src/api/system/dmgSystem.js";
......@@ -134,7 +148,8 @@
components: {
addgjmx,
addbpbjmx,
addhcmx
addhcmx,
addjxzyff
},
computed: {
sfsybpbj() {
......@@ -236,10 +251,33 @@
label: '型号',
prop: 'xh',
}
],
editTableTitle4:[{
label: '设备名称',
prop: 'sbxxName',
width: '260'
},
{
label: '设备编码',
prop: 'sbxxCode',
width: '260'
},
{
label: '检修作业方法',
prop: 'name',
width: '260'
},
{
label: '检修作业方法编码',
prop: 'code',
width: '260'
}
],
editTableData1: [],
editTableData2: [],
editTableData3: [],
editTableData4: [],
/* 调整*/
activeName: '1',
editColItemList: [{
......@@ -411,6 +449,14 @@
})
})
this.$post('jxgl/ujxzyff/query', {
mid: form.id
}).then(res => {
res.data.records.forEach(item => {
this.editTableData4.push(item)
})
})
},
save() {
......@@ -436,6 +482,10 @@
{
id: 'U_BPBJ',
records: [...this.editTableData2] || []
},
{
id: 'U_JXZYFF',
records: [...this.editTableData4] || []
}
],
master: this.form
......@@ -515,7 +565,11 @@
}
})
},
savejxzyff(data){
let ndata = _.cloneDeep(data)
this.editTableData4.push(ndata)
this.showDialog = false
},
savehc(data) {
let ndata = _.cloneDeep(data)
this.editTableData3.push(ndata)
......@@ -542,6 +596,10 @@
addhcmx() {
this.DialogTitle = '新增耗材'
this.showDialog = true
},
addjxzyff(){
this.DialogTitle = '新增检修作业方法'
this.showDialog = true
}
}
}
......
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