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

368 lines
9.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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() {
// this.loading = true;
// getAuditInfo({ taskId: this.taskId }).then((response) => {
// this.maForm = this.paramTemp;
// this.equipmentList = response.rows;
// this.total = response.total;
this.loading = false;
// });
},
//单个通过
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>