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

332 lines
8.4 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="creator">
<el-input
v-model="maForm.creator"
placeholder="请输入申请人"
clearable
maxlength="50"
style="width: 240px"
disabled
/>
</el-form-item>
<el-form-item label="领料单号:" prop="code">
<el-input
v-model="maForm.code"
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="partType" :show-overflow-tooltip="true"/>
<el-table-column label="配件名称" align="center" prop="partName" :show-overflow-tooltip="true"></el-table-column>
<el-table-column label="规格型号" align="center" prop="partModel" :show-overflow-tooltip="true"/>
<el-table-column label="预领数量" align="center" prop="preNum" :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 {
getPartLeaseByTaskIdApi,auditApi
} from "@/api/part/partLease";
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(item);
});
selection.forEach((item) => {
this.failTemp.push(item);
});
this.single = selection.length != 1;
this.multiple = !selection.length;
console.log(this.multiple)
},
//获取任务详情-列表数据
getTaskInfo() {
this.loading = true;
getPartLeaseByTaskIdApi({ taskId: this.taskId }).then((response) => {
this.maForm = this.paramTemp;
this.equipmentList = response.data;
this.loading = false;
});
},
//单个通过
handlePass(row) {
let param={
taskId:this.taskId,
taskStatus:1,
partLeaseDetailsList:[row]
}
this.$modal
.confirm("是否确认通过所选择的数据项")
.then(function () {
return auditApi(param);
})
.then(() => {
this.getTaskInfo();
this.$modal.msgSuccess("通过成功");
})
.catch(() => {});
},
//单个驳回
handleFail(row) {
let param={
taskId:this.taskId,
taskStatus:2,
partLeaseDetailsList:[row]
}
this.$modal
.confirm("是否确认驳回所选择的数据项")
.then(function () {
return auditApi(param);
})
.then(() => {
this.getTaskInfo();
this.$modal.msgSuccess("驳回成功");
})
.catch(() => {});
},
//多个通过
handlePassAll() {
if (this.ids.length == 0) {
this.$alert("请至少勾选一条审核数据", "提示", {
type: "warning",
confirmButtonText: "确定",
});
return;
} else {
let param={
taskId:this.taskId,
taskStatus:1,
partLeaseDetailsList:this.passTemp
}
auditApi(param).then((response) => {
if (response.code == 200) {
this.$modal.msgSuccess("通过成功");
}
this.getTaskInfo();
});
}
},
//多个驳回
handleFailAll() {
if (this.ids.length == 0) {
this.$alert("请至少勾选一条审核数据", "提示", {
type: "warning",
confirmButtonText: "确定",
});
return;
} else {
let param={
taskId:this.taskId,
taskStatus:2,
partLeaseDetailsList:this.failTemp
}
auditApi(param).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>