bonus-ui/src/views/material/repair/scrapManage/component/homeApply.vue

408 lines
10 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="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="100px"
>
<el-form-item label="日期">
<el-date-picker
v-model="queryParams.time"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 240px"
>
</el-date-picker>
</el-form-item>
<el-form-item label="关键字" prop="keyWord">
<el-input
v-model="queryParams.keyWord"
placeholder="请输入关键字"
clearable
maxlength="50"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="请选择状态"
clearable
filterable
style="width: 240px"
>
<el-option
v-for="dict in statusList"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置
</el-button>
</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"
@click="handlePassAll"
>通过
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-close"
size="mini"
@click="handleFailAll"
>驳回
</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出
</el-button>
</el-col> -->
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="tableList"
row-key="id"
@selection-change="handleSelectionChange"
border
>
<el-table-column
type="selection"
width="55"
align="center"
:selectable="selectable"
/>
<el-table-column width="60" align="center" label="序号" type="index" />
<el-table-column
align="center"
width="160"
label="退料单位"
prop="backUnit"
:show-overflow-tooltip="true"
/>
<el-table-column
label="退料工程"
width="150"
align="center"
prop="backPro"
:show-overflow-tooltip="true"
/>
<el-table-column
label="报废单号"
align="center"
prop="scrapCode"
:show-overflow-tooltip="true"
/>
<el-table-column
label="维修单号"
align="center"
prop="repairCode"
:show-overflow-tooltip="true"
/>
<el-table-column
label="物资类型"
align="center"
prop="type"
:show-overflow-tooltip="true"
/>
<el-table-column
label="提交人"
align="center"
prop="createName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="提交时间"
align="center"
prop="createTime"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
label="审核人"
align="center"
prop="auditByName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="审核时间"
align="center"
prop="auditTime"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
label="状态"
align="center"
prop="taskStatusName"
:show-overflow-tooltip="true"
>
</el-table-column>
<!-- <el-table-column
label="备注"
align="center"
width="150"
prop="remark"
:show-overflow-tooltip="true"
/> -->
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button
size="mini"
style="margin-bottom: 10px"
type="normal"
@click="handleView(scope.row)"
>查看
</el-button>
<el-button
size="mini"
style="margin-bottom: 10px"
type="primary"
@click="handleUpdate(scope.row)"
v-if="scope.row.taskStatus == '0'"
>审核
</el-button>
<!-- <el-button
size="mini"
type="danger"
@click="handleDeletePurchase(scope.row)"
v-if="scope.row.status == '0'"
>驳回
</el-button> -->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import {
getScrapApplyListApi,batchRejectApi, batchPassApi
} from "@/api/repair/scrapManage";
export default {
name: "Home",
dicts: ['repair_task_status'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 字典表格数据
tableList: [],
// 日期范围
dateRange: [],
statusList: [{value:"0",label:"进行中"},{value:"1",label:"已审核"},{value:"2",label:"驳回"},],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
time: null,
keyWord: "",
status: undefined,
},
passTemp: [],
failTemp: [],
};
},
created() {
this.getList();
},
methods: {
// 多选框选中数据
handleSelectionChange(selection) {
this.passTemp = [];
this.failTemp = [];
this.ids = selection.map((item) => item.taskId);
selection.forEach((item) => {
this.passTemp.push({ agreementId:item.agreementId,taskId:item.taskId });
});
selection.forEach((item) => {
this.failTemp.push({ agreementId:item.agreementId,taskId:item.taskId, });
});
this.single = selection.length != 1;
this.multiple = !selection.length;
},
//是否可用勾选框
selectable(row) {
if (row.status == "1") {
return false;
} else {
return true;
}
},
getList() {
this.loading = true;
const params = {
keyWord: this.queryParams.keyWord,
status: this.queryParams.status,
startTime: this.queryParams.time && this.queryParams.time[0],
endTime: this.queryParams.time && this.queryParams.time[1],
pageSize: this.queryParams.pageSize,
pageNum: this.queryParams.pageNum,
};
getScrapApplyListApi(params).then((response) => {
this.tableList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.time = [];
this.resetForm("queryForm");
this.queryParams.keyWord = "";
this.handleQuery();
},
/** 通过按钮操作 */
handlePassAll() {
if (this.ids.length == 0) {
this.$alert("请至少勾选一条审核数据", "提示", {
type: "warning",
confirmButtonText: "确定",
});
return;
} else {
batchPassApi({'scrapTaskListVoList':this.passTemp}).then((response) => {
if (response.code == 200) {
this.$modal.msgSuccess("通过成功");
}
this.queryParams.pageNum = 1;
this.getList();
});
}
},
/** 驳回按钮操作 */
handleFailAll() {
if (this.ids.length == 0) {
this.$alert("请至少勾选一条审核数据", "提示", {
type: "warning",
confirmButtonText: "确定",
});
return;
} else {
batchRejectApi({'scrapTaskListVoList':this.failTemp}).then((response) => {
if (response.code == 200) {
this.$modal.msgSuccess("驳回成功");
}
this.queryParams.pageNum = 1;
this.getList();
});
}
},
/** 查看按钮操作 */
handleView(row) {
this.$emit("queryTools", row.taskId, row.id, row);
},
/** 修改按钮操作 */
handleUpdate(row) {
this.$emit("addTools", row.taskId, row.id,row);
},
// ---------------------------------------
/** 删除按钮操作 */
handleDeletePurchase(row) {
// console.log(row)
let ids = [];
ids.push(row.id);
console.log("ids", ids);
this.$modal
.confirm("是否确认删除所选择的数据项")
.then(function () {
return applyRemove(ids);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download(
"/material/repair_audit_details/export",
{
...this.queryParams,
startTime: this.queryParams.time && this.queryParams.time[0],
endTime: this.queryParams.time && this.queryParams.time[1],
},
`修试审核_${new Date().getTime()}.xlsx`
);
},
},
};
</script>
<style lang="scss" scoped>
::v-deep.el-table .fixed-width .el-button--mini {
width: 70px !important;
margin-bottom: 10px;
}
</style>