<template>
|
<a-card
|
:bordered="false"
|
:class="'cust-erp-sub-tab'"
|
>
|
<!-- 查询区域 -->
|
<div class="table-page-search-wrapper">
|
<a-form
|
layout="inline"
|
@keyup.enter.native="searchQuery"
|
>
|
<a-row :gutter="24">
|
</a-row>
|
</a-form>
|
</div>
|
<!-- 查询区域-END -->
|
|
<!-- 操作按钮区域 -->
|
<div
|
class="table-operator"
|
v-if="mainId"
|
>
|
<!-- <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> -->
|
<!-- <a-button type="primary" icon="download" @click="handleExportXls('设备精度')">导出</a-button>
|
<a-upload
|
name="file"
|
:showUploadList="false"
|
:multiple="false"
|
:headers="tokenHeader"
|
:action="importExcelUrl"
|
@change="handleImportExcel">
|
<a-button type="primary" icon="import">导入</a-button>
|
</a-upload> -->
|
<a-dropdown
|
v-if="selectedRowKeys.length > 0"
|
v-has="'accountSons:add&edit&delete&submit'"
|
>
|
<a-menu slot="overlay">
|
<a-menu-item
|
key="1"
|
@click="batchDel"
|
><a-icon type="delete" />删除</a-menu-item>
|
<!-- <a-menu-item key="1" @click="handleSubmitBatch"><a-icon type="to-top" />提交</a-menu-item> -->
|
</a-menu>
|
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
|
</a-dropdown>
|
</div>
|
|
<!-- table区域-begin -->
|
<div>
|
<div
|
class="ant-alert ant-alert-info"
|
style="margin-bottom: 16px;"
|
>
|
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
<a
|
style="margin-left: 24px"
|
@click="onClearSelected"
|
>清空</a>
|
</div>
|
|
<a-table
|
ref="table"
|
size="middle"
|
bordered
|
rowKey="id"
|
:scroll="{x:true}"
|
:columns="columns"
|
:dataSource="dataSource"
|
:pagination="ipagination"
|
:loading="loading"
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
@change="handleTableChange"
|
>
|
|
<!-- <template
|
v-for="col in columns"
|
:slot="col.dataIndex"
|
slot-scope='text, record, index'
|
> -->
|
<!-- <div :key="col.dataIndex">
|
<span v-if="col.dataIndex == 'remark'">
|
<j-ellipsis
|
:value="text"
|
:length="10"
|
/>
|
</span>
|
<a-input-number
|
:value="text"
|
v-if="col.dataIndex == 'upperLimit'"
|
@change="(e)=>handleChange(e, record.key, col, index)"
|
style="width: 100%"
|
:disabled="!isOpen"
|
title="开启精度参数管理后可填写"
|
/>
|
<a-input-number
|
:value="text"
|
v-if="col.dataIndex == 'lowerLimit'"
|
@change="(e)=>handleChange(e, record.key, col, index)"
|
style="width: 100%"
|
:disabled="!isOpen"
|
title="开启精度参数管理后可填写"
|
/>
|
<a-input-number
|
:value="text"
|
v-if="col.dataIndex == 'actualValue'"
|
@change="(e)=>handleChange(e, record.key, col, index)"
|
:disabled="!isOpen"
|
style="width: 100%"
|
title="开启精度参数管理后可填写"
|
/>
|
<span v-if="col.dataIndex == 'action'">
|
<a-button
|
type="primary"
|
@click="handleEdit(record)"
|
v-has="'accountSons:add&edit&delete&submit'"
|
:disabled="!isOpen"
|
title="开启精度参数管理后可点击"
|
>提交</a-button>
|
</span>
|
</div> -->
|
<!-- </template> -->
|
|
<!-- <span slot="action" slot-scope="text, record">
|
<a @click="handleEdit(record)">编辑</a>
|
<a-divider type="vertical" />
|
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
|
<a>删除</a>
|
</a-popconfirm>
|
</span> -->
|
|
</a-table>
|
</div>
|
|
<equipmentPrecisionParameters-modal
|
ref="modalForm"
|
@ok="modalFormOk"
|
:mainId="mainId"
|
></equipmentPrecisionParameters-modal>
|
</a-card>
|
</template>
|
|
<script>
|
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
import EquipmentPrecisionParametersModal from './EquipmentPrecisionParametersModal'
|
import { postAction, putAction } from '../../../../api/manage'
|
|
export default {
|
name: "EquipmentPrecisionParametersList",
|
mixins: [JeecgListMixin],
|
components: { EquipmentPrecisionParametersModal },
|
props: {
|
mainId: {
|
type: String,
|
default: '',
|
required: false
|
},
|
isOpen: {
|
type: Boolean,
|
default: true,
|
required: false
|
}
|
},
|
watch: {
|
mainId: {
|
immediate: true,
|
handler(val) {
|
if (!this.mainId) {
|
this.clearList()
|
} else {
|
this.queryParam['precisionParametersTemplateId'] = val
|
this.loadData(1);
|
}
|
}
|
}
|
},
|
data() {
|
return {
|
description: '设备台账管理页面',
|
disableMixinCreated: true,
|
// 表头
|
columns: [
|
{
|
title: '#',
|
dataIndex: '',
|
key: 'rowIndex',
|
width: 100,
|
align: "center",
|
customRender: function (t, r, index) {
|
return parseInt(index) + 1;
|
}
|
},
|
{
|
title: '检验项目名称',
|
align: "center",
|
dataIndex: 'precisionParametersName',
|
width: 400
|
},
|
{
|
title: '位置',
|
align: "center",
|
dataIndex: 'precisionParametersUda1',
|
width: 400
|
},
|
{
|
title: '允差(mm)',
|
align: "center",
|
dataIndex: 'tolerance',
|
width: 400
|
},
|
// {
|
// title:'实测值',
|
// align:"center",
|
// dataIndex: 'actualValue',
|
// width:400
|
// },
|
],
|
url: {
|
list: '/eam/precisionParametersTemplateDetail/listByPrecisionParametersTemplateId',
|
edit: "/eam/equipmentPrecisionParameters/edit",
|
submitBatch: "/eam/equipmentPrecisionParameters/submitBatch",
|
// delete: "/new/equipment/deleteEquipmentPrecisionParameters",
|
// deleteBatch: "/new/equipment/deleteBatchEquipmentPrecisionParameters",
|
// exportXlsUrl: "/new/equipment/exportEquipmentPrecisionParameters",
|
// importUrl: "/new/equipment/importEquipmentPrecisionParameters",
|
},
|
dictOptions: {
|
}
|
}
|
},
|
created() {
|
},
|
computed: {
|
importExcelUrl() {
|
return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
|
}
|
},
|
methods: {
|
clearList() {
|
this.dataSource = []
|
this.selectedRowKeys = []
|
this.selectionRows = []
|
this.ipagination.current = 1
|
},
|
handleChange(value, key, column, index) {
|
let that = this;
|
const temp = [...that.dataSource];
|
const target = temp.filter(item => key === item.key)[index];
|
if (target) {
|
target[column.dataIndex] = value;
|
if ('actualValue' == column.dataIndex) {
|
target['actualValue'] = value;
|
}
|
if ('upperLimit' == column.dataIndex) {
|
target['upperLimit'] = value;
|
}
|
if ('lowerLimit' == column.dataIndex) {
|
target['lowerLimit'] = value;
|
}
|
//显示带过来的数据
|
that.dataSource = temp;
|
}
|
},
|
handleEdit(record) {
|
this.loading = true;
|
if (record.actualValue === "" || record.actualValue === null) {
|
this.$message.warning("参考值不能为空!")
|
this.loading = false;
|
return
|
}
|
postAction(this.url.edit, record).then((res) => {
|
if (res.success) {
|
this.$message.success(res.message);
|
this.loadData()
|
} else {
|
this.$message.warning(res.message);
|
}
|
}).finally(() => {
|
this.loading = false;
|
});
|
},
|
|
modalFormOk() {
|
this.loadData(1);
|
},
|
handleSubmitBatch() {
|
for (var i = 0; i < this.selectionRows.length; i++) {
|
let upperLimit = this.selectionRows[i].upperLimit;
|
let lowerLimit = this.selectionRows[i].lowerLimit;
|
let actualValue = this.selectionRows[i].actualValue;
|
if (upperLimit == null || upperLimit == undefined || upperLimit == '') {
|
this.$message.warning("请先填写选择项的上限值再提交")
|
return false;
|
}
|
if (lowerLimit == null || lowerLimit == undefined || lowerLimit == '') {
|
this.$message.warning("请先填写选择项的下限值再提交")
|
return false;
|
}
|
if (actualValue == null || actualValue == undefined || actualValue == '') {
|
this.$message.warning("请先填写选择项的实际值再提交")
|
return false;
|
}
|
}
|
let that = this;
|
this.$confirm({
|
title: '设备精度确认提交!',
|
content: '确认提交吗!',
|
okText: '确认',
|
cancelText: '取消',
|
onOk() {
|
that.loading = true;
|
putAction(that.url.submitBatch, that.selectionRows).then((res) => {
|
if (res.success) {
|
that.$message.success("提交成功!")
|
that.loadData(1)
|
} else {
|
that.$message.warning("提交失败!")
|
}
|
}).finally(() => {
|
that.loading = false;
|
that.clearList();
|
})
|
},
|
})
|
},
|
onSelectChange(selectedRowKeys, selectionRows) {
|
this.selectedRowKeys = selectedRowKeys;
|
this.selectionRows = selectionRows;
|
},
|
|
},
|
mounted() {
|
this.$bus.$on('loadData', (data) => {
|
this.loadData();
|
});
|
}
|
}
|
</script>
|
<style scoped>
|
@import '~@assets/less/common.less';
|
</style>
|