<formlist
v-if="dictLoaded"
:form="form"
:form2="formData"
:dictData="dictData"
ref="formList"
:readonly="true"
:width="'120px'"
/>
</template>
<template slot="GasMeasurement">
<gas-detection
ref="GasMeasurementRef"
:equipment-id="currentEquipmentId"
@on-new="handleNewDetection"
@on-delete="handleDeleteDetection"
/>
</template>
<template v-slot:footer>
<el-form
:inline="true"
:model="dataForm"
ref="form"
@keyup.enter.native="getDataList()"
>
<el-form-item label="读数录入时间">
<el-date-picker
v-model="readingTimeList"
type="daterange"
range-separator="-"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder=" 结束日期"
></el-date-picker>
</el-form-item>
<el-form-item label="类型(空跑/检测/计费)" prop="measurementType">
<el-select
v-model="dataForm.measurementType"
:placeholder="'请选择类型(空跑/检测/计费)'"
>
<el-option
v-for="(item, index) in measurement_type"
:key="item.cId"
:label="item.entryname"
:value="item.entrycode"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
v-if="isAuth('cmmsGasMeasurement:cmmsGasMeasurement:list')"
@click="getDataList()"
type="primary"
>查询</el-button
>
<el-button
v-if="isAuth('cmmsGasMeasurement:cmmsGasMeasurement:list')"
@click="resetForm('form')"
>重置</el-button
>
<el-button
v-if="isAuth('cmmsGasMeasurement:cmmsGasMeasurement:add')"
type="primary"
@click="addOrUpdateHandle()"
>新增</el-button
>
<el-button
v-if="isAuth('cmmsGasMeasurement:cmmsGasMeasurement:remove')"
type="danger"
@click="deleteHandle()"
>批量删除</el-button
>
</el-form-item>
</el-form>
<EproTable
class="m-t-10"
:tableData="dataList"
:titleData="titleForm"
:optionData="optionData"
:disselected="false"
@tableSelect="getTableSelect"
v-loading="tableLoading"
>
<el-table-column
slot="action"
fixed="right"
label="操作"
align="center"
width="110"
>
<template slot-scope="scope">
<el-tooltip
content="编辑"
placement="top"
v-if="isAuth('cmmsGasMeasurement:cmmsGasMeasurement:edit')"
>
</el-tooltip>
<el-tooltip
content="删除"
placement="top"
v-if="isAuth('cmmsGasMeasurement:cmmsGasMeasurement:remove')"
>
</el-tooltip>
</template>
</el-table-column>
</EproTable>
<el-pagination
background
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalCount"
layout="total, sizes, prev, pager, next, jumper"
>
</el-pagination>
<add-or-update
v-if="addOrUpdateVisible"
ref="addOrUpdate"
@refreshDataList="getDataList"
></add-or-update>
</template>
<script>
import AddOrUpdate from "./cmmsGasMeasurementAddAndUpdate";
import {
listCmmsGasMeasurement,
delCmmsGasMeasurement,
} from "@/api/cmmsGasMeasurement/cmmsGasMeasurement.js";
import EproTable from "@/components/epro-table/epro-table";
import { getDictionaries } from "@/utils";
export default {
data() {
return {
dataList: [],
pageIndex: 1,
pageSize: 10,
totalCount: 0,
tableLoading: false,
dataListSelections: [],
addOrUpdateVisible: false,
readingTimeList: [],
measurement_stage: [],
measurement_type: [],
optionData: {
readingValue: { width: "150px" },
readingTime: { width: "150px" },
stageDict: { width: "150px" },
measurementTypeDict: { width: "150px" },
gasVolume: { width: "150px" },
},
titleForm: {
readingValue: "读数",
readingTime: "读数录入时间",
stageDict: "阶段(出库/检测后/检测前/入库/拆表后)",
measurementTypeDict: "类型(空跑/检测/计费)",
gasVolume: "气量",
},
dataForm: {
readingTime: null,
measurementType: null,
},
};
},
components: {
AddOrUpdate,
EproTable,
},
activated() {
this.getDataList();
this.getDictionaries();
},
methods: {
// 获取table数据
getTableSelect(val) {
this.dataListSelections = val;
},
// 获取数据列表
getDataList() {
this.$set(this.dataForm, "page", this.pageIndex);
this.$set(this.dataForm, "limit", this.pageSize);
this.$set(this.dataForm, "beginreadingTime", this.readingTimeList[0]);
this.$set(this.dataForm, "endreadingTime", this.readingTimeList[1]);
this.tableLoading = true;
listCmmsGasMeasurement(this.dataForm).then(({ data }) => {
this.dataList = data.page.list;
this.totalCount = data.page.totalCount;
this.tableLoading = false;
});
},
// 获取字典
getDictionaries() {
return new Promise((resolve) => {
let arr = ["measurement_stage", "measurement_type"];
getDictionaries(arr).then((data) => {
this.measurement_stage = data["measurement_stage"];
this.measurement_type = data["measurement_type"];
resolve();
});
});
},
// 每页数
sizeChangeHandle(val) {
this.pageSize = val;
this.pageIndex = 1;
this.getDataList();
},
// 当前页
currentChangeHandle(val) {
this.pageIndex = val;
this.getDataList();
},
//重置表格
resetForm(formName) {
this.$refs[formName].resetFields();
this.readingTimeList = [];
this.getDataList();
},
// 新增 / 修改
addOrUpdateHandle(data) {
this.addOrUpdateVisible = true;
this.$nextTick(() => {
this.$refs.addOrUpdate.init(data);
});
},
// 删除
deleteHandle(id) {
if (this.dataListSelections.length === 0 && !id) {
this.$message({
message: "请选择数据",
type: "warning",
});
return;
}
var ids = id
? [id]
: this.dataListSelections.map((item) => {
return item.id;
});
this.$confirm(
`确定对[id=${ids.join(",")}]进行[${
ids.length == 1 ? "删除" : "批量删除"
}]操作?`,
"提示",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
).then(() => {
delCmmsGasMeasurement(ids).then(({ data }) => {
if (data.code === 0) {
this.getDataList();
this.$message.success("删除成功");
} else {
this.$message.error(data.msg);
}
});
});
},
},
};
</script>