|
@@ -1,65 +1,58 @@
|
|
|
<template>
|
|
|
- <div class="deviceFault">
|
|
|
+ <div class="DvFault">
|
|
|
<h2 style="margin-bottom: 20px;padding-bottom:7px;border-bottom:2px solid #ddd">设备故障</h2>
|
|
|
<header id="header">
|
|
|
- <el-row type="flex">
|
|
|
- <el-col :span="4">
|
|
|
- <el-select v-model="value" placeholder="请选择">
|
|
|
- <el-option label="1区" value="11"></el-option>
|
|
|
- <el-option label="2区" value="22"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-col>
|
|
|
+ <el-row type="flex" :gutter="20">
|
|
|
<el-col :span="4">
|
|
|
- <el-select v-model="value" placeholder="请选择">
|
|
|
- <el-option label="1舍" value="13"></el-option>
|
|
|
- <el-option label="2舍" value="24"></el-option>
|
|
|
- </el-select>
|
|
|
+ <el-input v-model="search" placeholder="请输入"></el-input>
|
|
|
</el-col>
|
|
|
<el-col :span="4">
|
|
|
- <el-select v-model="value" placeholder="请选择">
|
|
|
- <el-option label="可用" value="15"></el-option>
|
|
|
- <el-option label="可用" value="26"></el-option>
|
|
|
- </el-select>
|
|
|
+ <el-button type="primary" @click="getDvFaultList">查找</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="4">
|
|
|
- <el-button type="primary">查找</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4">
|
|
|
- <el-button type="primary">新增</el-button>
|
|
|
+ <el-button type="primary" @click="add">新增</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</header>
|
|
|
<section>
|
|
|
<article class="table">
|
|
|
- <el-table
|
|
|
- ref="multipleTable"
|
|
|
- :data="tableData"
|
|
|
- tooltip-effect="dark"
|
|
|
- style="width: 100%"
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
- >
|
|
|
- <el-table-column type="selection" width="55"></el-table-column>
|
|
|
- <el-table-column prop="a" label="屠宰批次"></el-table-column>
|
|
|
- <el-table-column prop="b" label="产品名称"></el-table-column>
|
|
|
- <el-table-column prop="c" label="排酸时间"></el-table-column>
|
|
|
- <el-table-column prop="d" label="排酸前重量"></el-table-column>
|
|
|
- <el-table-column prop="e" label="排酸后重量"></el-table-column>
|
|
|
- <el-table-column prop="f" label="排酸损耗"></el-table-column>
|
|
|
- <el-table-column prop="g" label="负责人员"></el-table-column>
|
|
|
- <!-- <el-table-column label="操作" width="150">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button @click="edit(scope.row)" type="text" size="small">编辑</el-button>
|
|
|
+ <el-table :data="tableData" tooltip-effect="dark" style="width: 100%">
|
|
|
+ <el-table-column prop="id" label="序号" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="farmId" label="农场ID"></el-table-column>
|
|
|
+ <el-table-column label="安装日期">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <span>{{ scope.row['installTime'].substr(0,10) }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="设备名称"></el-table-column>
|
|
|
+ <el-table-column label="设备类型">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <div v-for="item in $store.state['deviceType']" :key="item.value">
|
|
|
+ <span v-if="item.value == scope.row['style']">{{ item.label }}</span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="设备状态">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <div v-for="item in $store.state['deviceStatus']" :key="item.value">
|
|
|
+ <el-tag
|
|
|
+ :type="scope.row['status']==3?'danger':scope.row['status']==2?'info':''"
|
|
|
+ v-if="item.value == scope.row['status']"
|
|
|
+ size="mini"
|
|
|
+ >{{ item.label }}</el-tag>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="code" label="产品编码"></el-table-column>
|
|
|
+ <el-table-column prop="position" label="地址"></el-table-column>
|
|
|
+ <el-table-column label="操作" width="150">
|
|
|
+ <template v-slot="scope">
|
|
|
<el-popconfirm title="是否删除此设备的信息?" @onConfirm="del(scope.row)">
|
|
|
<el-button slot="reference" type="text" size="small">删除</el-button>
|
|
|
</el-popconfirm>
|
|
|
</template>
|
|
|
- </el-table-column> -->
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
- <div style="margin-top: 20px">
|
|
|
- <el-button @click="toggleSelection([tableData[1], tableData[2]])">切换第二、第三行的选中状态</el-button>
|
|
|
- <el-button @click="toggleSelection()">取消选择</el-button>
|
|
|
- <el-button @click="inStore">入待宰栏</el-button>
|
|
|
- </div>
|
|
|
|
|
|
<el-row type="flex" justify="end">
|
|
|
<el-col :span="8" class="pagination">
|
|
@@ -67,97 +60,167 @@
|
|
|
@current-change="pageChange"
|
|
|
background
|
|
|
layout="prev, pager, next"
|
|
|
- :page-count="10"
|
|
|
+ :page-count="Number(totalPages)"
|
|
|
></el-pagination>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</article>
|
|
|
</section>
|
|
|
+
|
|
|
+ <el-dialog title="新增/编辑" :visible.sync="isShow" width="40%">
|
|
|
+ <el-row type="flex">
|
|
|
+ <el-col :span="20">
|
|
|
+ <el-form ref="addDvFault" :model="formData" :rules="rules" label-width="140px">
|
|
|
+ <el-form-item label="安装日期">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="formData.installTime"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ placeholder="选择日期"
|
|
|
+ ></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="设备名称">
|
|
|
+ <el-input v-model="formData.name"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="设备类型">
|
|
|
+ <el-select v-model="formData.style" filterable placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in $store.state['deviceType']"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="产品编码">
|
|
|
+ <el-input v-model="formData.code"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="地址">
|
|
|
+ <el-input v-model="formData.position"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button @click="isShow=false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="submitForm('addDvFault')">保 存</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import { reqDvFaultList, reqAddDvFault, reqDelDvFault } from "@/api/device.js";
|
|
|
|
|
|
-const pageSize = 10
|
|
|
-const tableData = [
|
|
|
- {
|
|
|
- a: "15463",
|
|
|
- b: "胴体",
|
|
|
- c: "2020-07-14",
|
|
|
- d: "49kg",
|
|
|
- e: "48kg",
|
|
|
- f: "1.6%",
|
|
|
- g: "张小刚",
|
|
|
- },
|
|
|
- {
|
|
|
- a: "15463",
|
|
|
- b: "带骨羊前腿",
|
|
|
- c: "2020-07-14",
|
|
|
- d: "49kg",
|
|
|
- e: "48kg",
|
|
|
- f: "1.6%",
|
|
|
- g: "张小刚",
|
|
|
- },
|
|
|
- {
|
|
|
- a: "15463",
|
|
|
- b: "羔羊肉卷",
|
|
|
- c: "2020-07-14",
|
|
|
- d: "49kg",
|
|
|
- e: "48kg",
|
|
|
- f: "1.6%",
|
|
|
- g: "张小刚",
|
|
|
- },
|
|
|
- {
|
|
|
- a: "15463",
|
|
|
- b: "胴体",
|
|
|
- c: "2020-07-14",
|
|
|
- d: "49kg",
|
|
|
- e: "48kg",
|
|
|
- f: "1.6%",
|
|
|
- g: "张小刚",
|
|
|
- },
|
|
|
- {
|
|
|
- a: "15463",
|
|
|
- b: "羔羊肉卷",
|
|
|
- c: "2020-07-14",
|
|
|
- d: "49kg",
|
|
|
- e: "48kg",
|
|
|
- f: "1.6%",
|
|
|
- g: "张小刚",
|
|
|
- },
|
|
|
-
|
|
|
-
|
|
|
- ]
|
|
|
+const pageSize = 10;
|
|
|
+const rules = {};
|
|
|
+const farmId = 1;
|
|
|
|
|
|
export default {
|
|
|
+ name: "DvFault",
|
|
|
data() {
|
|
|
+ let _this = this;
|
|
|
return {
|
|
|
- value: "",
|
|
|
- multipleSelection: [],
|
|
|
- page: 1,
|
|
|
- tableData
|
|
|
+ search: "",
|
|
|
+ pageNum: 1,
|
|
|
+ tableData: [],
|
|
|
+ totalPages: 0,
|
|
|
+ isShow: false,
|
|
|
+ formData: {
|
|
|
+ farmId,
|
|
|
+ installTime: this.$moment().format("YYYY-MM-DD HH:mm:ss"),
|
|
|
+ name: "温度传感器",
|
|
|
+ style: null,
|
|
|
+ code: "6565464",
|
|
|
+ position: "分娩一舍"
|
|
|
+ },
|
|
|
+ rules
|
|
|
};
|
|
|
},
|
|
|
- created() {},
|
|
|
+ created() {
|
|
|
+ // 设备故障列表
|
|
|
+ this.getDvFaultList();
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ "formData.weight"(v, ov) {
|
|
|
+ if (Number(v).toString() == "NaN") {
|
|
|
+ this.$message.error("请输入数字");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.formData.sum = (v * this.formData.price).toFixed(2);
|
|
|
+ },
|
|
|
+ "formData.price"(v, ov) {
|
|
|
+ if (Number(v).toString() == "NaN") {
|
|
|
+ this.$message.error("请输入数字");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.formData.sum = (this.formData.weight * v).toFixed(2);
|
|
|
+ }
|
|
|
+ },
|
|
|
methods: {
|
|
|
- toggleSelection(rows) {
|
|
|
- if (rows) {
|
|
|
- rows.forEach(row => {
|
|
|
- this.$refs.multipleTable.toggleRowSelection(row);
|
|
|
+ submitForm(formName) {
|
|
|
+ this.$refs[formName].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ reqAddDvFault(this.formData)
|
|
|
+ .then(res => {
|
|
|
+ // 设备故障列表
|
|
|
+ this.getDvFaultList();
|
|
|
+ this.$message.success("成功!");
|
|
|
+ // this.isShow = false
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ console.log(err);
|
|
|
+ this.$message.error("失败!");
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 设备故障列表
|
|
|
+ getDvFaultList() {
|
|
|
+ reqDvFaultList({
|
|
|
+ searchStr: this.search,
|
|
|
+ farmId,
|
|
|
+ pageSize,
|
|
|
+ pageNum: this.pageNum
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ this.tableData = res.content;
|
|
|
+ this.totalPages = res.totalPages;
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ console.log(err);
|
|
|
});
|
|
|
- } else {
|
|
|
- this.$refs.multipleTable.clearSelection();
|
|
|
- }
|
|
|
},
|
|
|
- // 入待宰栏
|
|
|
- inStore() {},
|
|
|
- handleSelectionChange(val) {
|
|
|
- this.multipleSelection = val;
|
|
|
+ add() {
|
|
|
+ this.isShow = true;
|
|
|
+ // 有id是update 没id是add
|
|
|
+ delete this.formData.id;
|
|
|
+ },
|
|
|
+ del(row) {
|
|
|
+ console.log(row);
|
|
|
+ reqDelDvFault(row.id)
|
|
|
+ .then(res => {
|
|
|
+ // 设备故障列表
|
|
|
+ this.getDvFaultList();
|
|
|
+ if (res.code == "success") {
|
|
|
+ this.$message.success(res.msg);
|
|
|
+ }
|
|
|
+ if (res.errCode == "delete failed") {
|
|
|
+ this.$message.error(res.errMsg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ console.log(err);
|
|
|
+ this.$message.error("删除失败!");
|
|
|
+ });
|
|
|
},
|
|
|
- edit(row) {},
|
|
|
- del(row) {},
|
|
|
pageChange(p) {
|
|
|
console.log(p);
|
|
|
+ this.pageNum = p;
|
|
|
+ // 设备故障列表
|
|
|
+ this.getDvFaultList();
|
|
|
}
|
|
|
}
|
|
|
};
|