页面问题修改

dev-scheduling
taozi 4 days ago
parent 9404311f68
commit 53a5a2ab24
  1. 96
      src/views/energyManagement/components/waterQuota.vue
  2. 7
      src/views/energyManagement/components/waterTarget.vue
  3. 295
      src/views/energyManagement/electricityManagement.vue
  4. 52
      src/views/energyManagement/energyMonitoring.vue
  5. 115
      src/views/energyManagement/peakFlatValley.vue
  6. 36
      src/views/energyManagement/waterManagement.vue
  7. 29
      src/views/safetyManagement/equipmentInspectionPoint/index.vue
  8. 19
      src/views/safetyManagement/equipmentInspectionTask/index.vue
  9. 154
      src/views/safetyManagement/wasteGasSet/components/addEditDialogDosingRecord.vue
  10. 17
      src/views/safetyManagement/wasteGasSet/components/alarmRecord.vue
  11. 48
      src/views/safetyManagement/wasteGasSet/components/dosingRecord.vue
  12. 81
      src/views/safetyManagement/wasteGasSet/components/wasteGasRunRec.vue
  13. 4
      src/views/safetyManagement/wasteGasSet/processingRecord.vue
  14. 167
      src/views/safetyManagement/wastewater/components/addEditDialogDischargeRec.vue
  15. 174
      src/views/safetyManagement/wastewater/components/addEditDialogDosingRecord.vue
  16. 199
      src/views/safetyManagement/wastewater/components/addEditDialogTestRecord.vue
  17. 117
      src/views/safetyManagement/wastewater/components/dischargeRec.vue
  18. 69
      src/views/safetyManagement/wastewater/components/dosingRecord.vue
  19. 52
      src/views/safetyManagement/wastewater/components/testRecord.vue

@ -1,39 +1,22 @@
<template>
<div>
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<template #menu-left>
<el-button type="danger" icon="el-icon-delete" @click="handleDelete"
>删除
</el-button>
</template>
<template #menu-right>
<el-button type="primary" icon="el-icon-upload" @click="handleImport"
>导入
</el-button>
</template>
<template #menu="scope"> </template>
</avue-crud>
<!-- 导入 -->
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
<template #menu-left>
<el-button type="danger" icon="el-icon-delete" @click="handleDelete">删除
</el-button>
</template>
<template #menu-right>
<el-button type="primary" icon="el-icon-upload" @click="handleImport">导入
</el-button>
</template>
<template #menu="scope"> </template>
</avue-crud>
<!-- 导入 -->
<basic-import v-if="isShowImport" title="导入" :isShow="isShowImport"
templateUrl="/blade-desk/QA/CycleTestItem/download-excel-template"
templateName="试验项目模板.xlsx"
importUrl="/blade-desk/QA/CycleTestItem/import-excel"
@closeDialog="closeDialog"></basic-import>
templateUrl="/blade-desk/QA/CycleTestItem/download-excel-template" templateName="试验项目模板.xlsx"
importUrl="/blade-desk/QA/CycleTestItem/import-excel" @closeDialog="closeDialog"></basic-import>
</div>
</template>
<script>
@ -44,7 +27,7 @@ export default {
},
data() {
return {
isShowImport:false,
isShowImport: false,
selectionList: [],
option: {
height: "auto",
@ -102,10 +85,15 @@ export default {
filter: true,
span: 24,
search: true,
type: "select",
dicData: [
{ label: "化学镀镍作业中心", value: "化学镀镍作业中心" },
{ label: "电镀作业中心", value: "电镀作业中心" },
{ label: "喷涂作业中心", value: "喷涂作业中心" }],
rules: [
{
required: true,
message: "请输入日期",
message: "请选择作业中心",
trigger: "blur",
},
],
@ -118,6 +106,28 @@ export default {
sortable: true,
filter: true,
span: 24,
type: "select",
dicData: [
{ label: "化学镀镍", value: "化学镀镍" },
{ label: "电镀设备", value: "电镀设备" },
{ label: "喷涂设备", value: "喷涂设备" },
],
rules: [
{
required: true,
message: "请选择设备",
trigger: "blur",
},
],
},
{
label: "日期",
prop: "uqDate",
search: true,
sortable: true,
filter: true,
span: 24,
type: 'datetime',
rules: [
{
required: true,
@ -127,17 +137,19 @@ export default {
],
},
{
label: "日期",
prop: "uqDate",
search: true,
label: "月份",
prop: "pfvMonth",
sortable: true,
filter: true,
span: 24,
search: true,
width: 220,
type: 'month',
rules: [
{
required: true,
message: "请输入日期",
trigger: "blur",
message: "请选择月份",
trigger: "change",
},
],
},
@ -182,7 +194,7 @@ export default {
};
},
methods: {
closeDialog(){
closeDialog() {
this.isShowImport = false
},
handleImport() {
@ -197,7 +209,7 @@ export default {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {});
}).then(() => { });
},
//
selectionChange(list) {

@ -33,7 +33,7 @@
templateUrl="/blade-desk/QA/CycleTestItem/download-excel-template"
templateName="试验项目模板.xlsx"
importUrl="/blade-desk/QA/CycleTestItem/import-excel"
@closeDialog="closeDialog"></basic-import>
@closeDialog="closeDialog"></basic-import>
</div>
</template>
<script>
@ -96,16 +96,17 @@ export default {
column: [
{
label: "日期",
label: "月份",
prop: "uqDate",
search: true,
sortable: true,
filter: true,
span: 24,
type: "month",
rules: [
{
required: true,
message: "请输入日期",
message: "请输入月份",
trigger: "blur",
},
],

@ -1,22 +1,81 @@
<template>
<basic-container>
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
<!-- 自定义开关列 -->
<template #switch="scope">
<el-switch
v-model="scope.row.switch"
active-text="显示"
inactive-text="不显示"
@change="handleSwitchChange(scope.row)"
>
</el-switch>
</template>
<!-- 自定义操作列 -->
<template #menu="scope">
<el-button type="text" size="small" icon="el-icon-view" @click="handleElectricDetail(scope.row)">用电明细</el-button>
</template>
</avue-crud>
<!-- 用电明细弹窗 -->
<el-dialog
title="用电明细"
v-model="detailDialogVisible"
width="60%"
:before-close="closeDetailDialog"
>
<div >
<div >
<h3>{{ currentWorkCenter }} - 用电明细</h3>
<div >
<el-form :inline="true">
<el-form-item label="产线选择:">
<el-select v-model="selectedProductionLine" placeholder="请选择产线" @change="handleProductionLineChange" style="width: 200px;">
<el-option
v-for="item in productionLines"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="时间范围:">
<el-date-picker
v-model="dateRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="handleDateRangeChange"
>
</el-date-picker>
</el-form-item>
<!-- <el-form-item>
<el-button type="primary" @click="refreshDetailData">查询</el-button>
</el-form-item> -->
</el-form>
</div>
</div>
<!-- 设备用电明细表格 -->
<div >
<h4>设备用电明细</h4>
<avue-crud
:option="detailOption"
:data="detailData"
ref="detailCrud"
>
</avue-crud>
</div>
</div>
<template #footer>
<span >
<el-button @click="closeDetailDialog">关闭</el-button>
<el-button type="primary" @click="saveDetailData">保存</el-button>
</span>
</template>
</el-dialog>
</basic-container>
</template>
@ -32,6 +91,69 @@ export default {
currentPage: 1,
total: 0,
},
//
detailDialogVisible: false,
currentWorkCenter: '',
selectedProductionLine: '',
dateRange: [],
productionLines: [],
detailData: [],
totalPowerConsumption: 0,
avgPowerConsumption: 0,
peakPowerConsumption: 0,
deviceCount: 0,
statisticsData: [],
detailOption: {
border: true,
index: true,
viewBtn: false,
editBtn: false,
addBtn: false,
delBtn: false,
menu: false,
column: [
{
label: "设备编号",
prop: "deviceCode",
width: 120,
},
{
label: "设备名称",
prop: "deviceName",
width: 180,
},
{
label: "设备型号",
prop: "deviceModel",
width: 150,
},
// {
// label: "(kW)",
// prop: "ratedPower",
// width: 120,
// type: "number",
// },
// {
// label: "(h)",
// prop: "runningTime",
// width: 120,
// type: "number",
// },
{
label: "用电量(kWh)",
prop: "powerConsumption",
width: 120,
type: "number",
editDisplay: false,
calculate: true,
},
{
label: "备注",
prop: "remark",
editDisplay: true,
},
],
},
option: {
columnSort: true,
tip: false,
@ -54,8 +176,8 @@ export default {
addBtn: false,
labelWidth: 120,
searchLabelWidth: 120,
menu: false,
menuWidth: 200,
menu: true,
menuWidth: 120,
dialogWidth: 600,
dialogClickModal: false,
searchEnter: true,
@ -74,7 +196,6 @@ export default {
viewBtnIcon: " ",
delBtnIcon: " ",
editBtnIcon: " ",
column: [
{
label: "作业中心",
@ -82,6 +203,7 @@ export default {
span: 24,
overflow: true,
search: true,
hide: true,
rules: [
{
required: true,
@ -164,13 +286,140 @@ export default {
},
],
},
{
label: '是否大屏显示',
prop: 'switch',
type: 'switch',
cell: true,
activeValue: true,
inactiveValue: false,
activeText: '显示',
inactiveText: '不显示',
change: ({ value, row }) => {
//
console.log(`大屏显示状态变更为: ${value ? '开启' : '关闭'}, 数据:`, row);
}
},
],
},
};
},
mounted() {},
methods: {},
};
mounted() { },
methods: {
//
handleElectricDetail(row) {
this.currentWorkCenter = "作业中心";
this.detailDialogVisible = true;
this.$nextTick(() => {
this.initProductionLines();
this.setDefaultDateRange();
this.loadDetailData();
this.loadStatisticsData();
this.drawPowerChart();
});
},
initProductionLines() {
this.productionLines = [
{ label: "全部产线", value: "all" },
{ label: "产线A", value: "lineA" },
{ label: "产线B", value: "lineB" },
{ label: "产线C", value: "lineC" },
];
this.selectedProductionLine = "all";
},
setDefaultDateRange() {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
this.dateRange = [start, end];
},
// 线
handleProductionLineChange(value) {
console.log("产线变化:", value);
// 线
this.refreshDetailData();
},
//
loadDetailData() {
this.detailData = [
{
id: 1,
deviceCode: "EQ001",
deviceName: "冲压机A",
deviceModel: "CP-2000",
ratedPower: 15.5,
runningTime: 8,
powerConsumption: 124,
remark: "运行正常"
},
{
id: 2,
deviceCode: "EQ002",
deviceName: "冲压机B",
deviceModel: "CP-2000",
ratedPower: 15.5,
runningTime: 7.5,
powerConsumption: 116.25,
remark: "运行正常"
},
{
id: 3,
deviceCode: "EQ003",
deviceName: "传送带",
deviceModel: "CV-500",
ratedPower: 3.2,
runningTime: 8,
powerConsumption: 25.6,
remark: "偶尔异响"
},
{
id: 4,
deviceCode: "EQ004",
deviceName: "焊接机器人",
deviceModel: "WR-1000",
ratedPower: 8.7,
runningTime: 6,
powerConsumption: 52.2,
remark: "运行正常"
}
];
},
//
closeDetailDialog() {
this.detailDialogVisible = false;
},
onLoad() {
this.loading = true;
this.data = [
{
createTime: "2025-12-01",
workArea: 2568.50,
quoTapUee: 0.85,
reaTapUse: 0.82,
reaTotalUse: 2106.17,
switch: true
},
{
createTime: "2025-12-02",
workArea: 3210.75,
quoTapUee: 1.20,
reaTapUse: 1.18,
reaTotalUse: 3788.69,
switch: false
},
];
this.page.total = this.data.length;
this.loading = false;
},
}
}
</script>
<style></style>
<style lang="scss" scoped>
</style>

@ -34,7 +34,7 @@
templateUrl="/blade-desk/QA/CycleTestItem/download-excel-template"
templateName="试验项目模板.xlsx"
importUrl="/blade-desk/QA/CycleTestItem/import-excel"
@closeDialog="closeDialog"></basic-import>
@closeDialog="closeDialog"></basic-import>
</basic-container>
</template>
<script>
@ -69,7 +69,7 @@ export default {
delBtnIcon: " ",
editBtnIcon: " ",
viewBtnText: "详情",
labelWidth: 120,
labelWidth: 160,
menuWidth: 180,
dialogWidth: 1040,
dialogClickModal: false,
@ -94,7 +94,6 @@ export default {
delBtnIcon: " ",
editBtnIcon: " ",
align: "center",
column: [
{
label: "日期",
@ -104,11 +103,18 @@ export default {
span: 12,
search: true,
width: 130,
type: 'datetimerange',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
startPlaceholder: '开始日期',
endPlaceholder: '结束日期',
rangeSeparator: '至',
searchRange: true,
rules: [
{
required: true,
message: "请输入日期",
trigger: "blur",
message: "请选择日期范围",
trigger: "change",
},
],
},
@ -229,24 +235,24 @@ export default {
span: 12,
width: 200,
},
{
label: "创建人",
prop: "userName",
search: false,
sortable: true,
filter: true,
span: 12,
width: 140,
},
{
label: "创建时间",
prop: "uploadTime",
search: false,
sortable: true,
filter: true,
span: 12,
width: 140,
},
// {
// label: "",
// prop: "userName",
// search: false,
// sortable: true,
// filter: true,
// span: 12,
// width: 140,
// },
// {
// label: "",
// prop: "uploadTime",
// search: false,
// sortable: true,
// filter: true,
// span: 12,
// width: 140,
// },
],
},
form: {},

@ -1,24 +1,10 @@
<template>
<basic-container>
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
<template #menu-left>
<el-button type="danger" icon="el-icon-delete" @click="handleDelete"
>删除
<el-button type="danger" icon="el-icon-delete" @click="handleDelete">删除
</el-button>
</template>
<template #menu-right> </template>
@ -85,34 +71,41 @@ export default {
prop: "pfvMonth",
sortable: true,
filter: true,
span: 12,
span: 24,
search: true,
width: 110,
width: 220,
type: 'month',
rules: [
{
required: true,
message: "请输入姓名",
message: "请输入月份",
trigger: "blur",
},
],
},
{
label: "尖时一开始",
prop: "fengTimeStartOne",
label: "尖时一开始",
prop: "jianTimeStartOne",
search: false,
sortable: true,
filter: true,
span: 12,
width: 140,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "尖峰时一结束",
prop: "fengTimeEndOne",
label: "尖时一结束",
prop: "jianTimeEndOne",
search: false,
sortable: true,
filter: true,
span: 12,
width: 140,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "峰时一开始",
@ -121,7 +114,10 @@ export default {
sortable: true,
filter: true,
span: 12,
width: 130,
width: 140,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "峰时一结束",
@ -131,6 +127,9 @@ export default {
filter: true,
span: 12,
width: 130,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "平时一开始",
@ -140,6 +139,9 @@ export default {
filter: true,
span: 12,
width: 130,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "平时一结束",
@ -149,6 +151,9 @@ export default {
filter: true,
span: 12,
width: 130,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "谷时一开始",
@ -158,6 +163,9 @@ export default {
filter: true,
span: 12,
width: 130,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "谷时一结束",
@ -167,67 +175,84 @@ export default {
filter: true,
span: 12,
width: 130,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "峰时二开始",
prop: "fengTimeStartTwo",
label: "时二开始",
prop: "jianTimeStartTwo",
search: false,
sortable: true,
filter: true,
span: 12,
display: false,
width: 130,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "峰时二结束",
prop: "fengTimeEndTwo",
label: "时二结束",
prop: "jianTimeEndTwo",
search: false,
sortable: true,
filter: true,
span: 12,
display: false,
width: 130,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "平时二开始",
prop: "pingTimeStartTwo",
label: "时二开始",
prop: "fengTimeStartTwo",
search: false,
sortable: true,
filter: true,
span: 12,
display: false,
width: 130,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "平时二结束",
prop: "pingTimeEndTwo",
label: "时二结束",
prop: "fengTimeEndTwo",
search: false,
sortable: true,
filter: true,
span: 12,
display: false,
width: 130,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "谷时二开始",
prop: "guTimeStartTwo",
label: "时二开始",
prop: "pingTimeStartTwo",
search: false,
sortable: true,
filter: true,
span: 12,
display: false,
width: 130,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
{
label: "谷时二结束",
prop: "guTimeEndTwo",
label: "时二结束",
prop: "pingTimeEndTwo",
search: false,
sortable: true,
filter: true,
span: 12,
display: false,
width: 130,
type: "time",
format: 'HH:mm:ss',
valueFormat: 'HH:mm:ss',
},
],
},
form: {},
@ -248,7 +273,7 @@ export default {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {});
}).then(() => { });
},
//
selectionChange(list) {

@ -1,21 +1,8 @@
<template>
<basic-container>
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
</avue-crud>
</basic-container>
</template>
@ -215,11 +202,26 @@ export default {
},
],
},
{
label: '是否大屏显示',
prop: 'switch',
type: 'switch',
cell: true,
activeValue: true,
inactiveValue: false,
activeText: '显示',
inactiveText: '不显示',
change: ({ value, row }) => {
//
console.log(`大屏显示状态变更为: ${value ? '开启' : '关闭'}, 数据:`, row);
// API
}
},
],
},
};
},
mounted() {},
mounted() { },
methods: {},
};
</script>

@ -22,9 +22,6 @@
</el-button>
</template>
<template #menu-right>
<el-button type="primary" icon="el-icon-printer" @click="handleDelete"
>打印
</el-button>
<el-button type="primary" icon="el-icon-upload" @click="handleImport"
>导入
</el-button>
@ -35,7 +32,7 @@
templateUrl="/blade-desk/QA/CycleTestItem/download-excel-template"
templateName="试验项目模板.xlsx"
importUrl="/blade-desk/QA/CycleTestItem/import-excel"
@closeDialog="closeDialog"></basic-import>
@closeDialog="closeDialog"></basic-import>
</basic-container>
</template>
@ -138,6 +135,11 @@ export default {
span: 24,
search: true,
searchLabelWidth: 90,
type: 'select',
dicData: [
{ label: '废水巡检点', value: '废水巡检点' },
{ label: '废气巡检点', value: '废气巡检点' },
],
rules: [
{
required: false,
@ -145,6 +147,23 @@ export default {
trigger: "blur",
},
],
},
{
label: "巡检周期(h)",
prop: "InspectionCycle",
sortable: true,
filter: true,
span: 24,
search: false,
searchLabelWidth: 90,
// type: 'number',
rules: [
{
required: false,
message: "请输入巡检周期(h)",
trigger: "blur",
},
],
},
{
label: "上次检验日期",
@ -416,6 +435,8 @@ export default {
head: 0,
jobName: "实施",
keyValue: 89,
ldapName: "hak",
mail: null,
mobile: null,

@ -78,6 +78,13 @@ export default {
searchMenuPosition: "right",
align: "center",
column: [
{
label: "任务状态",
prop: "lastInsCycle",
sortable: true,
filter: true,
search: true,
},
{
label: "巡检点编号",
prop: "patrolRegister",
@ -102,6 +109,11 @@ export default {
span: 24,
search: true,
searchLabelWidth: 90,
type: 'select',
dicData: [
{ label: '废水巡检点', value: '废水巡检点' },
{ label: '废气巡检点', value: '废气巡检点' },
],
rules: [
{
required: false,
@ -149,13 +161,6 @@ export default {
filter: true,
search: true,
},
{
label: "任务状态",
prop: "lastInsCycle",
sortable: true,
filter: true,
search: true,
},
{
label: "备注",
prop: "memo",

@ -0,0 +1,154 @@
<template>
<el-dialog title="新增" append-to-body v-model="openShow" width="70%" @close="closeDialog">
<div style="margin-bottom: 12px" v-if="moldAddMore">
<el-button type="primary" @click="addTable">插入一行</el-button>
<el-button type="danger" @click="delTable">删除行</el-button>
</div>
<el-table :data="tableData" style="width: 100%" border :cell-style="{ padding: '5px' }">
<!-- 设施 -->
<el-table-column prop="device" label="设施" align="center" width="150">
<template #header>
<span><i style="color: red">*</i>设施</span>
</template>
<template #default="scope">
<el-input v-model="scope.row.device" placeholder="请输入" />
</template>
</el-table-column>
<el-table-column prop="drug" label="药品" align="center" width="150">
<template #header>
<span><i style="color: red">*</i>药品</span>
</template>
<template #default="scope">
<el-input v-model="scope.row.drug" placeholder="请输入" />
</template>
</el-table-column>
<el-table-column prop="dose" label="剂量(kg)" align="center" width="150">
<template #header>
<span><i style="color: red">*</i>剂量(kg)</span>
</template>
<template #default="scope">
<el-input v-model="scope.row.dose" placeholder="请输入" />
</template>
</el-table-column>
<el-table-column prop="dosingTime" label="加药时间" align="center" width="210">
<template #header>
<span><i style="color: red" >*</i>加药时间</span>
</template>
<template #default="scope">
<el-date-picker v-model="scope.row.dosingTime" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期" style="width: 100%" />
</template>
</el-table-column>
<el-table-column prop="dosingMan" label="加药人" align="center" width="150">
<template #header>
<span><i style="color: red">*</i>加药人</span>
</template>
<template #default="scope">
<el-select v-model="scope.row.dosingMan" placeholder="请选择" style="width: 100%">
<el-option label="崔殿龙" value="541" />
</el-select>
</template>
</el-table-column>
<el-table-column prop="memo" label="备注" align="center">
<template #default="scope">
<el-input v-model="scope.row.memo" />
</template>
</el-table-column>
</el-table>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</template>
</el-dialog>
</template>
<script>
export default {
props: {
showDialog: {
type: Boolean,
default: false,
},
moldAddMore: {
type: Boolean,
default: false,
},
},
data() {
return {
openShow: false,
tableData: [
//
{
device: null,
dosingTime: null,
dosingMan: null,
drug: null,
dose: null,
memo: '',
},
],
};
},
watch: {
//
showDialog: {
handler(newVal) {
this.openShow = newVal;
},
immediate: true
},
},
methods: {
closeDialog() {
this.openShow = false;
this.$emit('closeDialog');
},
//
addTable() {
this.tableData.push({
device: null,
dosingTime: null,
dosingMan: null,
drug: null,
dose: null,
memo: '',
});
},
//
delTable() {
if (this.tableData.length <= 1) {
this.$message.warning('至少保留一行数据');
return;
}
this.tableData.pop(); //
},
//
submit() {
const isValid = this.tableData.every(row => {
//
if (!row.device || !row.dosingTime || !row.dosingMan || !row.drug || !row.dose) {
//
const missingFields = [];
if (!row.device) missingFields.push("设施");
if (!row.dosingTime) missingFields.push("加药时间");
if (!row.dosingMan) missingFields.push("加药人");
if (!row.drug) missingFields.push("药品");
if (!row.dose) missingFields.push("剂量(kg)");
this.$message.error(`请完善必填项: ${missingFields.join(", ")}`);
return false;
}
return true;
});
if (isValid) {
//
console.log(this.tableData, 'this.tableData');
this.$emit('submitData', this.tableData);
this.closeDialog(); //
}
},
},
};
</script>
<style lang="scss" scoped></style>

@ -77,6 +77,13 @@ export default {
searchMenuPosition: "right",
align: "center",
column: [
{
label: "状态",
prop: "alarm",
search: true,
sortable: true,
filter: true,
},
{
label: "编码",
prop: "code",
@ -85,11 +92,12 @@ export default {
search: true,
},
{
label: "时间",
label: "日期",
prop: "startTime",
search: true,
sortable: true,
filter: true,
searchType: 'date',
},
{
label: "错误点",
@ -105,13 +113,6 @@ export default {
sortable: true,
filter: true,
},
{
label: "状态",
prop: "alarm",
search: true,
sortable: true,
filter: true,
},
{
label: "持续时间",
prop: "endTime",

@ -17,6 +17,7 @@
@on-load="onLoad"
>
<template #menu-left>
<el-button type="primary" @click="moldAddFn(null, true)">新增</el-button>
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete">
</el-button> -->
</template>
@ -34,20 +35,34 @@
importUrl="/blade-safety/wasteGasDosingRecord/import-excel"
@closeDialog="closeDialog"
></basic-import>
<!-- 新增 -->
<addEditDialogDosingRecord
v-if="addOpen"
:showDialog="addOpen"
@closeDialog="closeDialog"
:moldAddMore="moldAddMore"
@submitData="handleSubmitData">
</addEditDialogDosingRecord>
</div>
</template>
<script>
import basicImport from '@/components/basic-import/main.vue';
import addEditDialogDosingRecord from './addEditDialogDosingRecord.vue';
export default {
components: {
basicImport,
addEditDialogDosingRecord
},
data() {
return {
addOpen: false, //
moldAddMore: false,
isShowImport: false,
loading: false,
selectionList: [],
option: {
addBtn: false,
height: 'auto',
calcHeight: 32,
tip: false,
@ -101,7 +116,7 @@ export default {
rules: [
{
required: true,
message: '请输入编码',
message: '请输入设施',
trigger: 'blur',
},
],
@ -116,7 +131,7 @@ export default {
rules: [
{
required: true,
message: '请输入名称',
message: '请输入药品',
trigger: 'blur',
},
],
@ -131,7 +146,7 @@ export default {
rules: [
{
required: true,
message: '请输入药品名称',
message: '请输入剂量(kg)',
trigger: 'blur',
},
],
@ -143,10 +158,13 @@ export default {
sortable: true,
filter: true,
span: 12,
type: 'datetime',
// format: 'yyyy-MM-dd HH:mm:ss',
// valueFormat: 'yyyy-MM-dd HH:mm:ss',
rules: [
{
required: true,
message: '请输入报警阙值',
message: '请选择加药时间',
trigger: 'blur',
},
],
@ -159,10 +177,16 @@ export default {
sortable: true,
filter: true,
span: 12,
type: 'select',
valueKey: 'userId',
labelKey: 'userName',
dicData: [
{ label: '测试', value: 521 },
],
rules: [
{
required: true,
message: '请输入PH报警点位',
message: '请选择加药人',
trigger: 'blur',
},
],
@ -186,6 +210,20 @@ export default {
};
},
methods: {
//
moldAddFn(row, flag) {
this.addOpen = true
this.moldAddMore = flag
},
//
closeDialog() {
this.addOpen = false
},
//
handleSubmitData(data) {
this.$message.success("数据提交成功!");
this.addOpen = false;
},
//
handleImport() {
this.isShowImport = true

@ -1,25 +1,11 @@
<template>
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-update="rowUpdate" @row-del="rowDel" @row-save="rowSave" @search-change="searchChange"
@search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
@size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
<template #menu-left> </template>
<template #menu-right>
<span
>备注: 1运行状态正常时默认运行异常时停止2pH值为正常运行的平均值</span
>
<span>备注: 1运行状态正常时默认运行异常时停止2pH值为正常运行的平均值</span>
</template>
<template #fanText="scope">
@ -76,9 +62,11 @@ export default {
index: true,
selection: false,
viewBtn: false,
delBtn: false,
delBtn: true,
editBtn: true,
addBtn: false,
editBtnText: "修改",
delBtnText: "删除",
addBtnIcon: " ",
viewBtnIcon: " ",
delBtnIcon: " ",
@ -97,7 +85,7 @@ export default {
columnSort: true,
index: false,
showOverflowTooltip: true,
menu: false,
menu: true,
searchLabelPosition: "left",
searchLabelPosition: "left",
searchGutter: 24,
@ -121,6 +109,21 @@ export default {
search: false,
sortable: true,
filter: true,
type: "date",
format: "YYYY-MM-DD",
valueFormat: "YYYY-MM-DD",
width: 120,
},
{
label: "运行时间",
prop: "runTime",
sortable: true,
filter: true,
width: 120,
},
{
label: "运行时长",
prop: "runTimeLong",
},
{
label: "开始时间",
@ -129,6 +132,9 @@ export default {
sortable: true,
filter: true,
width: 120,
type: 'datetime',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
},
{
label: "结束时间",
@ -137,6 +143,9 @@ export default {
sortable: true,
filter: true,
width: 120,
type: 'datetime',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
},
{
label: "运行时间(H)",
@ -251,6 +260,36 @@ export default {
};
},
methods: {
//
rowSave(row, done, loading) {
//
this.data.push(row);
//
this.page.total = this.data.length;
this.$message.success('新增成功');
done();
},
//
rowUpdate(row, index, done, loading) {
//
this.data.splice(index, 1, row);
this.$message.success('修改成功');
done();
},
//
rowDel(row, index) {
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
//
this.data.splice(index, 1);
//
this.page.total = this.data.length;
this.$message.success('删除成功');
});
},
//
selectionChange(list) {
this.selectionList = list;

@ -61,8 +61,8 @@ export default {
search: true,
dicUrl: '/blade-desk/bsWorkCenter/getList',
props: {
label: 'wcName',
value: 'id',
label: 'wcName',
value: 'id',
},
rules: [
{

@ -0,0 +1,167 @@
<template>
<el-dialog title="新增" append-to-body v-model="openShow" width="70%" @close="closeDialog">
<div style="margin-bottom: 12px" v-if="moldAddMore">
<el-button type="primary" @click="addTable">插入一行</el-button>
<el-button type="danger" @click="delTable">删除行</el-button>
</div>
<el-table :data="tableData" style="width: 100%" border :cell-style="{padding: '5px'}">
<!-- 报废槽液类型可选择 -->
<el-table-column prop="wasteType" label="报废槽液类型" align="center" width="170">
<template #header>
<span><i style="color: red">*</i>报废槽液类型</span>
</template>
<template #default="scope">
<el-select v-model="scope.row.wasteType" placeholder="请选择" style="width: 100%">
<el-option label="预镀镍废液" value="预镀镍废液" />
<el-option label="除油废液" value="除油废液" />
<el-option label="其它废液" value="其它废液" />
</el-select>
</template>
</el-table-column>
<!-- 排放班组可选择 -->
<el-table-column prop="teamName" label="排放班组" align="center" width="170">
<template #header>
<span><i style="color: red">*</i>排放班组</span>
</template>
<template #default="scope">
<el-select v-model="scope.row.teamName" placeholder="请选择" style="width: 100%">
<el-option label="化学镀镍二班" value="化学镀镍二班" />
<el-option label="零件管理班" value="零件管理班" />
</el-select>
</template>
</el-table-column>
<!-- 排放量输入框 -->
<el-table-column prop="amount" label="排放量(单位:L)" align="center" width="170">
<template #header>
<span><i style="color: red">*</i>排放量</span>
</template>
<template #default="scope">
<el-input v-model.number="scope.row.amount" placeholder="请输入" />
</template>
</el-table-column>
<!-- 日期日期选择器 -->
<el-table-column prop="dirDate" label="日期" align="center" width="170">
<template #header>
<span><i style="color: red" >*</i>日期</span>
</template>
<template #default="scope">
<el-date-picker v-model="scope.row.dirDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="date" placeholder="选择日期" style="width: 100%" />
</template>
</el-table-column>
<!-- 备注输入框 -->
<el-table-column prop="memo" label="备注" align="center" >
<template #default="scope">
<el-input v-model="scope.row.memo" placeholder="请输入备注" />
</template>
</el-table-column>
</el-table>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</template>
</el-dialog>
</template>
<script>
export default {
props: {
showDialog: {
type: Boolean,
default: false,
},
moldAddMore: {
type: Boolean,
default: false,
},
},
data() {
return {
openShow: false,
tableData: [
//
{
wasteType: null, //
teamName: null, //
amount: null, //
dirDate: null, //
memo: '', //
},
],
};
},
watch: {
//
showDialog: {
handler(newVal) {
this.openShow = newVal;
},
immediate: true
},
},
methods: {
closeDialog() {
this.openShow = false;
this.$emit('closeDialog');
//
this.tableData = [{ wasteType: null, teamName: null, amount: null, dirDate: null, memo: '' }];
},
//
addTable() {
this.tableData.push({
wasteType: null,
teamName: null,
amount: null,
dirDate: null,
memo: '',
});
},
//
delTable() {
if (this.tableData.length <= 1) {
this.$message.warning('至少保留一行数据');
return;
}
this.tableData.pop(); //
},
//
submit() {
//
const isValid = this.tableData.every(row => {
//
console.log("验证数据:", {
wasteType: row.wasteType,
teamName: row.teamName,
amount: row.amount,
dirDate: row.dirDate
});
//
if (!row.wasteType || !row.teamName || !row.amount || !row.dirDate) {
//
const missingFields = [];
if (!row.wasteType) missingFields.push("报废槽液类型");
if (!row.teamName) missingFields.push("排放班组");
if (!row.amount) missingFields.push("排放量");
if (!row.dirDate) missingFields.push("日期");
this.$message.error(`请完善必填项: ${missingFields.join(", ")}`);
return false;
}
return true;
});
if (isValid) {
//
this.$emit('submitData', this.tableData);
this.closeDialog(); //
}
},
},
};
</script>
<style lang="scss" scoped></style>

@ -0,0 +1,174 @@
<template>
<el-dialog title="新增" append-to-body v-model="openShow" width="70%" @close="closeDialog">
<div style="margin-bottom: 12px" v-if="moldAddMore">
<el-button type="primary" @click="addTable">插入一行</el-button>
<el-button type="danger" @click="delTable">删除行</el-button>
</div>
<el-table :data="tableData" style="width: 100%" border :cell-style="{padding: '5px'}">
<!-- 设施 -->
<el-table-column prop="device" label="设施" align="center" width="170">
<template #header>
<span><i style="color: red">*</i>设施</span>
</template>
<template #default="scope">
<el-input v-model="scope.row.device" placeholder="请输入" />
</template>
</el-table-column>
<!-- 药品 -->
<el-table-column prop="drug" label="药品" align="center" width="170">
<template #header>
<span><i style="color: red">*</i>药品</span>
</template>
<template #default="scope">
<el-input v-model="scope.row.drug" placeholder="请输入" />
</template>
</el-table-column>
<!-- 剂量 -->
<el-table-column prop="dose" label="剂量(kg)" align="center" width="170">
<template #header>
<span><i style="color: red">*</i>剂量(kg)</span>
</template>
<template #default="scope">
<el-input v-model.number="scope.row.dose" placeholder="请输入" />
</template>
</el-table-column>
<!-- 加药人 -->
<el-table-column prop="dosingMan" label="加药人" align="center" width="170">
<template #header>
<span><i style="color: red">*</i>加药人</span>
</template>
<template #default="scope">
<el-select v-model="scope.row.dosingMan" placeholder="请选择" style="width: 100%">
<el-option label="崔殿龙" value="541" />
</el-select>
</template>
</el-table-column>
<!-- 加药时间 -->
<el-table-column prop="dosingTime" label="加药时间" align="center" width="210">
<template #header>
<span><i style="color: red">*</i>加药时间</span>
</template>
<template #default="scope">
<el-date-picker v-model="scope.row.dosingTime" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择时间" style="width: 100%" />
</template>
</el-table-column>
<!-- 备注输入框 -->
<el-table-column prop="memo" label="备注" align="center" >
<template #default="scope">
<el-input v-model="scope.row.memo" placeholder="请输入备注" />
</template>
</el-table-column>
</el-table>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</template>
</el-dialog>
</template>
<script>
export default {
props: {
showDialog: {
type: Boolean,
default: false,
},
moldAddMore: {
type: Boolean,
default: false,
},
},
data() {
return {
openShow: false,
tableData: [
//
{
device: null,
drug: null,
dose: null,
dosingTime: null,
dosingMan: null,
memo: '', //
},
],
};
},
watch: {
//
showDialog: {
handler(newVal) {
this.openShow = newVal;
},
immediate: true
},
},
methods: {
closeDialog() {
this.openShow = false;
this.$emit('closeDialog');
//
this.tableData =
[{ device: null, drug: null, dose: null, dosingTime: null, dosingMan: null, memo: '' }];
},
//
addTable() {
this.tableData.push({
device: null,
drug: null,
dose: null,
dosingTime: null,
dosingMan: null,
memo: '', //
});
},
//
delTable() {
if (this.tableData.length <= 1) {
this.$message.warning('至少保留一行数据');
return;
}
this.tableData.pop(); //
},
//
submit() {
//
const isValid = this.tableData.every(row => {
//
console.log("验证数据:", {
device: row.device,
drug: row.drug,
dose: row.dose,
dosingTime: row.dosingTime,
dosingMan: row.dosingMan
});
//
if (!row.device || !row.drug || !row.dose || !row.dosingTime || !row.dosingMan) {
//
const missingFields = [];
if (!row.device) missingFields.push("设施");
if (!row.drug) missingFields.push("药品");
if (!row.dose) missingFields.push("剂量(kg)");
if (!row.dosingTime) missingFields.push("加药时间");
if (!row.dosingMan) missingFields.push("加药人");
this.$message.error(`请完善必填项: ${missingFields.join(", ")}`);
return false;
}
return true;
});
if (isValid) {
//
this.$emit('submitData', this.tableData);
this.closeDialog(); //
}
},
},
};
</script>
<style lang="scss" scoped></style>

@ -0,0 +1,199 @@
<template>
<el-dialog title="新增" append-to-body v-model="openShow" width="70%" @close="closeDialog">
<div style="margin-bottom: 12px" v-if="moldAddMore">
<el-button type="primary" @click="addTable">插入一行</el-button>
<el-button type="danger" @click="delTable">删除行</el-button>
</div>
<el-table :data="tableData" style="width: 100%" border :cell-style="{ padding: '5px' }">
<!-- 设施 -->
<el-table-column prop="device" label="设施" align="center" width="150">
<template #header>
<span><i style="color: red">*</i>设施</span>
</template>
<template #default="scope">
<el-input v-model="scope.row.device" placeholder="请输入" />
</template>
</el-table-column>
<el-table-column prop="dosingTime" label="化验时间" align="center" width="150">
<template #header>
<span><i style="color: red">*</i>化验时间</span>
</template>
<template #default="scope">
<el-date-picker v-model="scope.row.dosingTime"
format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
type="datetime" placeholder="选择时间"
style="width: 100%" />
</template>
</el-table-column>
<el-table-column prop="dosingMan" label="化验人" align="center" width="150">
<template #header>
<span><i style="color: red">*</i>化验人</span>
</template>
<template #default="scope">
<el-select v-model="scope.row.dosingMan" placeholder="请选择" style="width: 100%">
<el-option label="崔殿龙" value="541" />
</el-select>
</template>
</el-table-column>
<el-table-column prop="itNi" label="镍" align="center" width="100">
<template #header>
<span></span>
</template>
<template #default="scope">
<el-input v-model="scope.row.itNi" />
</template>
</el-table-column>
<el-table-column prop="itCu" label="铜" align="center" width="100">
<template #header>
<span></span>
</template>
<template #default="scope">
<el-input v-model="scope.row.itCu" />
</template>
</el-table-column>
<el-table-column prop="itCr" label="六价铬" align="center" width="100">
<template #header>
<span>六价铬</span>
</template>
<template #default="scope">
<el-input v-model="scope.row.itCr" />
</template>
</el-table-column>
<el-table-column prop="itCn2" label="氰化物" align="center" width="100">
<template #header>
<span>氰化物</span>
</template>
<template #default="scope">
<el-input v-model="scope.row.itCn2" />
</template>
</el-table-column>
<el-table-column prop="itPh" label="PH" align="center" width="80">
<template #header>
<span>PH</span>
</template>
<template #default="scope">
<el-input v-model="scope.row.itPh" />
</template>
</el-table-column>
<!-- 备注输入框 -->
<el-table-column prop="memo" label="备注" align="center" >
<template #default="scope">
<el-input v-model="scope.row.memo"/>
</template>
</el-table-column>
</el-table>
<template #footer>
<span class="dialog-footer">
<el-button @click="closeDialog"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</template>
</el-dialog>
</template>
<script>
export default {
props: {
showDialog: {
type: Boolean,
default: false,
},
moldAddMore: {
type: Boolean,
default: false,
},
},
data() {
return {
openShow: false,
tableData: [
//
{
device: null,
dosingTime: null,
dosingMan: null,
itNi: null,
itCu: null,
itCr: null,
itCn2: null,
itPh: null,
memo: '',
},
],
};
},
watch: {
//
showDialog: {
handler(newVal) {
this.openShow = newVal;
},
immediate: true
},
},
methods: {
closeDialog() {
this.openShow = false;
this.$emit('closeDialog');
//
this.tableData =
[{
device: null,
dosingTime: null,
dosingMan: null,
itNi: null,
itCu: null,
itCr: null,
itCn2: null,
itPh: null,
memo: '',
}];
},
//
addTable() {
this.tableData.push({
device: null,
dosingTime: null,
dosingMan: null,
itNi: null,
itCu: null,
itCr: null,
itCn2: null,
itPh: null,
memo: '',
});
},
//
delTable() {
if (this.tableData.length <= 1) {
this.$message.warning('至少保留一行数据');
return;
}
this.tableData.pop(); //
},
//
submit() {
const isValid = this.tableData.every(row => {
//
if (!row.device || !row.dosingTime || !row.dosingMan) {
//
const missingFields = [];
if (!row.device) missingFields.push("设施");
if (!row.dosingTime) missingFields.push("化验时间");
if (!row.dosingMan) missingFields.push("化验人");
this.$message.error(`请完善必填项: ${missingFields.join(", ")}`);
return false;
}
return true;
});
if (isValid) {
//
console.log(this.tableData, 'this.tableData');
this.$emit('submitData', this.tableData);
this.closeDialog(); //
}
},
},
};
</script>
<style lang="scss" scoped></style>

@ -1,55 +1,50 @@
<template>
<div>
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<template #menu-left>
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete">
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
<template #menu-left>
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete">
</el-button> -->
</template>
<template #menu-right>
<el-button type="success" icon="el-icon-upload" @click="handleImport"
>导入
</el-button>
</template>
</avue-crud>
<el-button type="primary" @click="moldAddFn(null, true)">新增</el-button>
</template>
<template #menu-right>
<el-button type="success" icon="el-icon-upload" @click="handleImport">导入
</el-button>
</template>
</avue-crud>
<!-- 新增 -->
<addEditDialogDischargeRec
v-if="addOpen"
:showDialog="addOpen"
@closeDialog="closeDialog"
:moldAddMore="moldAddMore"
@submitData="handleSubmitData">
</addEditDialogDischargeRec>
<!-- 导入 -->
<basic-import
v-if="isShowImport"
title="导入"
:isShow="isShowImport"
templateUrl="/blade-safety/wasteWaterDischargeRecord/download-excel-template"
templateName="废水排放记录模板.xlsx"
importUrl="/blade-safety/wasteWaterDischargeRecord/import-excel"
@closeDialog="closeDialog"
></basic-import>
<basic-import v-if="isShowImport" title="导入" :isShow="isShowImport"
templateUrl="/blade-safety/wasteWaterDischargeRecord/download-excel-template" templateName="废水排放记录模板.xlsx"
importUrl="/blade-safety/wasteWaterDischargeRecord/import-excel" @closeDialog="closeDialog"></basic-import>
</div>
</template>
<script>
import basicImport from '@/components/basic-import/main.vue';
import addEditDialogDischargeRec from './addEditDialogDischargeRec.vue';
export default {
components: {
basicImport,
addEditDialogDischargeRec,
},
data() {
return {
addOpen: false, //
moldAddMore: false,
isShowImport: false,
loading: false,
selectionList: [],
option: {
addBtn: false,
height: "auto",
calcHeight: 32,
tip: false,
@ -92,32 +87,47 @@ export default {
gridBtn: false,
searchMenuPosition: "right",
align: "center",
handleManList: [], //
column: [
{
label: "报废槽液类型",
prop: "wasteType.wtName",
prop: "wasteType.wtId",
bind: "wasteType.wtName",
sortable: true,
filter: true,
span: 12,
search: true,
searchLabelWidth: 140,
searchLabelWidth: 120,
type: 'select',
dicData: [
{ label: '预镀镍废液', value: '预镀镍废液' },
{ label: '测试1', value: '测试1' },
],
valueKey: 'wtId',
labelKey: 'wtName',
rules: [
{
required: true,
message: "请输入编码",
message: "请选择报废槽液类型",
trigger: "blur",
},
],
},
{
label: "排放班组",
prop: "bsTeamSet.tsName",
prop: "bsTeamSet.tsId",
bind: "bsTeamSet.tsName",
search: true,
sortable: true,
filter: true,
span: 12,
type: 'select',
dicData: [
{ label: '化学镀镍二班', value: '化学镀镍二班' },
{ label: '零件管理班', value: '零件管理班' },
],
valueKey: 'tsId',
labelKey: 'tsName',
rules: [
{
required: true,
@ -149,6 +159,7 @@ export default {
sortable: true,
filter: true,
span: 12,
type: "datetime",
rules: [
{
required: true,
@ -159,12 +170,19 @@ export default {
},
{
label: "水处理工",
prop: "handleMan.userName",
prop: "handleMan.userId",
bind: "handleMan.userName",
search: true,
sortable: true,
filter: true,
span: 12,
type: "select",
dicData: [
{ label: '测试2', value: '测试2' },
{ label: '测试', value: '测试' },
],
valueKey: "userId",
labelKey: "userName",
rules: [
{
required: true,
@ -192,6 +210,21 @@ export default {
};
},
methods: {
//
moldAddFn(row, flag) {
this.addOpen = true
this.moldAddMore = flag
},
//
closeDialog() {
this.addOpen = false
},
//
handleSubmitData(data) {
//
this.$message.success("数据提交成功!");
this.addOpen = false;
},
//
handleImport() {
this.isShowImport = true
@ -205,17 +238,19 @@ export default {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {});
}).then(() => { });
},
//
selectionChange(list) {
this.selectionList = list;
},
onLoad() {
this.loading = true;
this.data = [
{
amount: 12.0,
aaaaaa:'2222222',
bsTeamSet: {
bsClassesSet: null,
bsWorkCenter: null,
@ -423,12 +458,14 @@ export default {
},
},
];
this.page.total = this.data.length;
this.loading = false;
setTimeout(() => {
this.selectionClear();
}, 500);
},
},
};
</script>

@ -1,53 +1,44 @@
<template>
<div>
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
@row-del="rowDel"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
<template #menu-left>
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete">
</el-button> -->
<el-button type="primary" @click="moldAddFn(null, true)">新增</el-button>
</template>
<template #menu-right>
<el-button type="success" icon="el-icon-upload" @click="handleImport">导入 </el-button>
</template>
</avue-crud>
<!-- 新增弹窗 -->
<addEditDialogDosingRecord v-if="addOpen" :showDialog="addOpen" @closeDialog="closeDialog"
:moldAddMore="moldAddMore" @submitData="handleSubmitData">
</addEditDialogDosingRecord>
<!-- 导入 -->
<basic-import
v-if="isShowImport"
title="导入"
:isShow="isShowImport"
templateUrl="/blade-safety/wasteWaterDosingRecord/download-excel-template"
templateName="废水加药记录模板.xlsx"
importUrl="/blade-safety/wasteWaterDosingRecord/import-excel"
@closeDialog="closeDialog"
></basic-import>
<basic-import v-if="isShowImport" title="导入" :isShow="isShowImport"
templateUrl="/blade-safety/wasteWaterDosingRecord/download-excel-template" templateName="废水加药记录模板.xlsx"
importUrl="/blade-safety/wasteWaterDosingRecord/import-excel" @closeDialog="closeDialog"></basic-import>
</div>
</template>
<script>
import basicImport from '@/components/basic-import/main.vue';
import addEditDialogDosingRecord from './addEditDialogDosingRecord.vue';
export default {
components: {
basicImport,
addEditDialogDosingRecord
},
data() {
return {
addOpen: false, //
moldAddMore: false,
isShowImport: false,
loading: false,
selectionList: [],
option: {
addBtn: false,
height: 'auto',
calcHeight: 32,
tip: false,
@ -102,7 +93,7 @@ export default {
rules: [
{
required: true,
message: '请输入编码',
message: '请输入设施',
trigger: 'blur',
},
],
@ -145,6 +136,7 @@ export default {
sortable: true,
filter: true,
span: 12,
type: 'datetime',
rules: [
{
required: true,
@ -155,12 +147,16 @@ export default {
},
{
label: '加药人',
prop: 'dosingMan.userName',
prop: 'dosingMan.userId',
bind: 'dosingMan.userName',
search: true,
sortable: true,
filter: true,
span: 12,
type: "select",
dicData: [
{ label: '崔殿龙', value: '541' },
],
rules: [
{
required: true,
@ -188,6 +184,23 @@ export default {
};
},
methods: {
//
moldAddFn(row, flag) {
console.log(1)
this.addOpen = true
this.moldAddMore = flag
},
//
closeDialog() {
this.addOpen = false
},
//
handleSubmitData(data) {
console.log("提交的数据:", data);
//
this.$message.success("数据提交成功!");
this.addOpen = false;
},
//
handleImport() {
this.isShowImport = true
@ -201,7 +214,7 @@ export default {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {});
}).then(() => { });
},
//
selectionChange(list) {

@ -19,6 +19,7 @@
<template #menu-left>
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete">
</el-button> -->
<el-button type="primary" @click="moldAddFn(null, true)">新增</el-button>
</template>
<template #menu-right>
<el-button type="success" icon="el-icon-upload" @click="handleImport">导入 </el-button>
@ -34,16 +35,28 @@
importUrl="/blade-safety/wasteWaterDosingRecord/import-excel"
@closeDialog="closeDialog"
></basic-import>
<!-- 新增 -->
<addEditDialogTestRecord
v-if="addOpen"
:showDialog="addOpen"
@closeDialog="closeDialog"
:moldAddMore="moldAddMore"
@submitData="handleSubmitData">
</addEditDialogTestRecord>
</div>
</template>
<script>
import basicImport from '@/components/basic-import/main.vue';
import addEditDialogTestRecord from './addEditDialogTestRecord.vue';
export default {
components: {
basicImport,
addEditDialogTestRecord
},
data() {
return {
addOpen: false, //
moldAddMore: false,
isShowImport: false,
loading: false,
selectionList: [],
@ -63,6 +76,7 @@ export default {
selection: true,
viewBtn: false,
delBtn: false,
addBtn: false,
editBtnText: '修改',
addBtnIcon: ' ',
viewBtnIcon: ' ',
@ -102,7 +116,7 @@ export default {
rules: [
{
required: true,
message: '请输入编码',
message: '请输入设施',
trigger: 'blur',
},
],
@ -114,27 +128,35 @@ export default {
sortable: true,
filter: true,
span: 12,
type: "datetime",
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
rules: [
{
required: true,
message: '请输入名称',
message: '请选择化验时间',
trigger: 'blur',
},
],
},
{
label: '化验人',
prop: 'dosingMan.userName',
prop: 'dosingMan.userId',
bind: 'dosingMan.userName',
search: true,
sortable: true,
filter: true,
span: 12,
searchLabelWidth: 140,
type: 'select',
dicData: [
{ label: '测试', value: '测试' },
{ label: '测试1', value: '测试1' },
],
rules: [
{
required: true,
message: '请输入药品名称',
message: '请选择化验人',
trigger: 'blur',
},
],
@ -164,13 +186,13 @@ export default {
rules: [
{
required: true,
message: '请输入PH报警点位',
message: '请输入',
trigger: 'blur',
},
],
},
{
label: '六价',
label: '六价',
prop: 'itCr',
search: false,
sortable: true,
@ -179,7 +201,7 @@ export default {
rules: [
{
required: true,
message: '请输入PH报警点位',
message: '请输入六价铬',
trigger: 'blur',
},
],
@ -194,7 +216,7 @@ export default {
rules: [
{
required: true,
message: '请输入PH报警点位',
message: '请输入氰化物',
trigger: 'blur',
},
],
@ -233,6 +255,20 @@ export default {
};
},
methods: {
//
moldAddFn(row, flag) {
this.addOpen = true
this.moldAddMore = flag
},
//
closeDialog() {
this.addOpen = false
},
//
handleSubmitData(data) {
this.$message.success("数据提交成功!");
this.addOpen = false;
},
//
handleImport() {
this.isShowImport = true

Loading…
Cancel
Save