设备管理

This commit is contained in:
helloDy
2023-11-11 20:49:31 +08:00
parent f9741b07c0
commit 624ed7bc27
48 changed files with 4918 additions and 432 deletions

View File

@@ -31,7 +31,7 @@
@pagination="getList" />
<!-- 对话框(添加 / 修改) -->
<base-dialog
<!-- <base-dialog
:dialogTitle="title"
:dialogVisible="open"
width="35%"
@@ -45,13 +45,20 @@
:disabled="mode == 'detail'"
:has-files="false"
:rows="rows" />
</base-dialog>
</base-dialog> -->
<addSparts
v-if="addOrUpdateVisible"
ref="addOrUpdate"
@refreshDataList="getList" />
</div>
</template>
<script>
import moment from 'moment';
import basicPageMixin from '@/mixins/lb/basicPageMixin';
import { getCorePLList } from '@/api/base/coreProductionLine';
import addSparts from './addSparts.vue';
// import { publicFormatter } from '@/utils/dict';
// const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss');
@@ -65,12 +72,18 @@ const remainBox = {
},
computed: {
value() {
const temp = this.injectData[this.injectData.prop] || null
if (temp) {
console.log('12', temp)
return temp === 'Green' ? 'green' : 'red'
}
return this.injectData[this.injectData.prop] || null;
},
color() {
if (this.value) {
const v = +this.value;
return v < 0 ? 'red' : v >= 0 && v < 2 ? 'yellow' : 'green';
// const v = +this.value;
// return v < 0 ? 'red' : v >= 0 && v < 2 ? 'yellow' : 'green';
return this.value
}
return 'unset';
},
@@ -80,8 +93,10 @@ const remainBox = {
<div
style={`background: ${
this.color
// this.color == 'Green' ? 'green' : this.color == 'Red' ? 'red' : 'yellow'
}; position:absolute; inset: 0; padding: 0 10px; display: flex; align-items: center; color: ${
this.color == 'red' ? '#fff' : 'unset'
'unset'
// this.color == 'red' ? '#fff' : 'unset'
}`}>
{this.injectData[this.injectData.prop] || ''}
</div>
@@ -97,13 +112,13 @@ const btn = {
},
methods: {
handleClick() {
this.$emit('emitData', { action: this.injectData.label, value: null });
this.$emit('emitData', { action: this.injectData.name, value: this.injectData });
},
},
render: function (h) {
return (
<el-button type="text" onClick={this.handleClick}>
{this.injectData.label}
{this.injectData.name}
</el-button>
);
},
@@ -113,11 +128,12 @@ const btn = {
export default {
name: 'EquipmentSparePartsMonitor',
components: {},
components: { addSparts },
mixins: [basicPageMixin],
data() {
return {
searchBarKeys: ['name', 'equipmentId', 'equipmentIdList'],
addOrUpdateVisible: false,
searchBarKeys: ['lineId', 'equipmentId'],
tableBtn: [
// this.$auth.hasPermi('equipment:spare-parts-config:update')
// ? {
@@ -125,36 +141,36 @@ export default {
// btnName: '详情',
// }
// : undefined,
this.$auth.hasPermi('equipment:spare-parts-config:update')
? {
type: 'edit',
btnName: '修改',
}
: undefined,
this.$auth.hasPermi('equipment:spare-parts-config:delete')
? {
type: 'delete',
btnName: '删除',
}
: undefined,
// this.$auth.hasPermi('equipment:spare-parts-config:update')
// ? {
// type: 'edit',
// btnName: '修改',
// }
// : undefined,
// this.$auth.hasPermi('equipment:spare-parts-config:delete')
// ? {
// type: 'delete',
// btnName: '删除',
// }
// : undefined,
].filter((v) => v),
tableProps: [
{ prop: 'name', label: '配置名' },
{ prop: 'lineName', label: '产线' },
{ prop: 'sectionName', label: '工段' },
{ prop: 'equipmentName', label: '设备' },
{ prop: 'lineName', label: '产线名称' },
{ prop: 'sectionName', label: '工段' },
{ prop: 'equipmentName', label: '设备名称' },
{ prop: 'responsible', label: '负责人' },
{ prop: 'equipmentCode', label: '是否超期', subcomonent: remainBox },
{ prop: 'opt1', label: '备件更换' },
{ prop: 'opt2', label: '更新记录' }, // TODO: 是否换成按钮, 群里问
{ prop: 'color', label: '是否超期', subcomponent: remainBox },
{ prop: 'opt1', label: '备件更换', name: '操作', subcomponent: btn },
{ prop: 'opt2', label: '更换记录', name: '更新记录', subcomponent: btn }, // TODO: 是否换成按钮, 群里问
// { prop: 'remark', label: '备注' },
],
searchBarFormConfig: [
{
type: 'input',
type: 'select',
label: '产线',
placeholder: '请选择产线',
param: 'name',
param: 'lineId',
},
{
type: 'select',
@@ -237,7 +253,7 @@ export default {
queryParams: {
pageNo: 1,
pageSize: 10,
name: null,
lineId: null,
equipmentId: null,
},
// 表单参数
@@ -251,7 +267,43 @@ export default {
this.getList();
},
methods: {
handleEmitFun(val) {
console.log('emit unf', val);
switch (val.action) {
// 操作
case '操作':
this.eqOperation(val.value); // 交由每个组件自己实现
break;
// 更新记录
case '更新记录':
this.updateLog(val.value);
break;
}
},
eqOperation({ id }) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id);
});
},
updateLog({ id }) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id, true);
});
},
initSearchBar() {
// 产线列表
getCorePLList().then(res => {
this.$set(
this.searchBarFormConfig[0],
'selectOptions',
res.data.map((item) => ({
name: item.name,
id: item.id
}))
);
})
this.http('/base/core-equipment/listAll', 'get').then(({ data }) => {
this.$set(
this.searchBarFormConfig[1],
@@ -267,7 +319,7 @@ export default {
getList() {
this.loading = true;
// 执行查询
this.recv(this.queryParams).then((response) => {
this.http('/base/equipment-spare-part-config/monitor', 'get', this.queryParams).then((response) => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;