bonus-ui/src/views/material/part/partLease/component/addToolsApply.vue

368 lines
9.5 KiB
Vue
Raw Normal View History

2024-12-31 10:57:45 +08:00
<template>
<div>
<el-form
:model="maForm"
ref="maForm"
size="small"
:inline="true"
label-width="120px"
>
<el-form-item label="申请人:" prop="createBy">
<el-input
v-model="maForm.createBy"
placeholder="请输入申请人"
clearable
maxlength="50"
style="width: 240px"
disabled
/>
</el-form-item>
<el-form-item label="领料单号:" prop="repairNum">
<el-input
v-model="maForm.repairNum"
placeholder="请输入领料单号"
clearable
maxlength="50"
style="width: 240px"
disabled
/>
</el-form-item>
<el-form-item label="备注:" prop="remark">
<el-input
v-model="maForm.remark"
clearable
maxlength="200"
style="width: 240px"
disabled
/>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-check"
size="mini"
:disabled="multiple"
@click="handlePassAll"
>通过</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-close"
size="mini"
:disabled="multiple"
@click="handleFailAll"
>驳回</el-button
>
</el-col>
</el-row>
<el-table
v-loading="loading"
:data="equipmentList"
row-key="id"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
width="55"
align="center"
:selectable="selectable"
/>
<el-table-column label="序号" align="center" type="index" />
<el-table-column
label="配件类型"
align="center"
prop="machineTypeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="配件名称"
align="center"
prop=""
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
label="规格型号"
align="center"
prop="specificationType"
:show-overflow-tooltip="true"
/>
<el-table-column
label="预领数量"
align="center"
prop="repairNum"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
label="审核状态"
align="center"
prop="status"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<div v-if="scope.row.status == '0'" style="color: #e6a23c">
{{ "未审核" }}
</div>
<div v-if="scope.row.status == '1'" style="color: #67c23a">
{{ "已审核" }}
</div>
<div v-if="scope.row.status == '2'" style="color: #f56c6c">
{{ "驳回" }}
</div>
<!-- <div v-else style="color: red;"></div> -->
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="300">
<template slot-scope="scope">
<el-button
size="mini"
style="margin-bottom: 10px"
type="success"
v-if="scope.row.status == '0'"
@click="handlePass(scope.row)"
>通过
</el-button>
<el-button
size="mini"
type="danger"
@click="handleFail(scope.row)"
v-if="scope.row.status == '0'"
>驳回
</el-button>
<div v-if="scope.row.status != '0'">-</div>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="maForm.pageNum"
:limit.sync="maForm.pageSize"
@pagination="getTaskInfo"
/>
</div>
</template>
<script>
import { getAuditInfo, auditPass } from "@/api/repair/testExamine";
import { getToken } from "@/utils/auth";
export default {
name: "AddTools",
components: {
// UploadImg,
},
props: {
isEdit: {
type: Boolean,
default: () => {
return false;
},
},
queryTaskId: {
type: [String, Number],
default: () => {
return "";
},
},
queryId: {
type: [String, Number],
default: () => {
return "";
},
},
param: {
type: Object,
default: () => {
return "";
},
},
},
data() {
return {
paramTemp: {},
//任务ID
taskId: "",
// 遮罩层
loading: true,
total: 0,
//租赁单位
uniteList: [],
//租赁工程
projectList: [],
// 表格数据
equipmentList: [],
passTemp: [],
faliTemp: [],
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 是否显示弹出层
open: false,
rowData: {},
maForm: {
pageNum: 1,
pageSize: 10,
unitName: undefined,
projectName: undefined,
repairNum: undefined,
},
};
},
computed: {},
mounted() {
this.taskId = this.queryTaskId;
this.paramTemp = this.param;
this.getTaskInfo();
},
methods: {
//是否可用勾选框
selectable(row) {
if (row.status == "0") {
return true;
} else {
return false;
}
},
// 多选框选中数据
handleSelectionChange(selection) {
this.passTemp = [];
this.failTemp = [];
this.ids = selection.map((item) => item.id);
selection.forEach((item) => {
this.passTemp.push({ id: item.id, status: "1",specificationType: item.specificationType,machineTypeName:item.machineTypeName,
unitName:item.unitName,repairNum:item.repairNum,repairedNum:item.repairedNum,typeId:item.typeId,taskId:item.taskId,
auditId:item.id,repairId:item.repairId,maId:item.maId, });
});
selection.forEach((item) => {
this.failTemp.push({ id: item.id, status: "2",specificationType: item.specificationType,machineTypeName:item.machineTypeName,
unitName:item.unitName,repairNum:item.repairNum,repairedNum:item.repairedNum,typeId:item.typeId,taskId:item.taskId,
auditId:item.id,repairId:item.repairId,maId:item.maId, });
});
this.single = selection.length != 1;
this.multiple = !selection.length;
console.log(this.multiple)
},
//获取任务详情-列表数据
getTaskInfo() {
2025-01-08 16:37:02 +08:00
// this.loading = true;
// getAuditInfo({ taskId: this.taskId }).then((response) => {
// this.maForm = this.paramTemp;
// this.equipmentList = response.rows;
// this.total = response.total;
2024-12-31 10:57:45 +08:00
this.loading = false;
2025-01-08 16:37:02 +08:00
// });
2024-12-31 10:57:45 +08:00
},
//单个通过
handlePass(row) {
const param = [];
param.push({ id: row.id, status: "1",specificationType: row.specificationType,machineTypeName:row.machineTypeName,
unitName:row.unitName,repairNum:row.repairNum,repairedNum:row.repairedNum,typeId:row.typeId,taskId:row.taskId,
auditId:row.id,repairId:row.repairId,maId:row.maId, });
this.$modal
.confirm("是否确认通过所选择的数据项?")
.then(function () {
return auditPass(param);
})
.then(() => {
this.getTaskInfo();
this.$modal.msgSuccess("通过成功");
})
.catch(() => {});
},
//单个驳回
handleFail(row) {
const param = [];
param.push({ id: row.id, status: "2",specificationType: row.specificationType,machineTypeName:row.machineTypeName,
unitName:row.unitName,repairNum:row.repairNum,repairedNum:row.repairedNum,typeId:row.typeId,taskId:row.taskId,
auditId:row.id,repairId:row.repairId,maId:row.maId,
});
this.$modal
.confirm("是否确认驳回所选择的数据项?")
.then(function () {
return auditPass(param);
})
.then(() => {
this.getTaskInfo();
this.$modal.msgSuccess("驳回成功");
})
.catch(() => {});
},
//多个通过
handlePassAll() {
if (this.ids.length == 0) {
this.$alert("请至少勾选一条审核数据", "提示", {
type: "warning",
confirmButtonText: "确定",
});
return;
} else {
auditPass(this.passTemp).then((response) => {
if (response.code == 200) {
this.$modal.msgSuccess("通过成功");
}
this.getTaskInfo();
});
}
},
//多个驳回
handleFailAll() {
if (this.ids.length == 0) {
this.$alert("请至少勾选一条审核数据", "提示", {
type: "warning",
confirmButtonText: "确定",
});
return;
} else {
auditPass(this.failTemp).then((response) => {
if (response.code == 200) {
this.$modal.msgSuccess("驳回成功");
}
this.getTaskInfo();
});
}
},
},
};
</script>
<style lang="scss" scoped>
::v-deep.el-table .fixed-width .el-button--mini {
width: 60px !important;
margin-bottom: 10px;
}
//隐藏图片上传框的css
::v-deep.disabled {
.el-upload--picture-card {
display: none;
}
}
.custom-textarea {
width: 300px;
height: 100px;
}
.accept-img {
color: #409eff;
.a-two {
margin-left: 20px;
}
}
.left-tip {
font-size: 16px;
letter-spacing: 1px;
}
</style>