新购流程及综合查询修改

This commit is contained in:
hayu 2024-06-07 17:12:11 +08:00
parent 81b1458314
commit 6e6694eb27
9 changed files with 260 additions and 159 deletions

View File

@ -227,4 +227,11 @@ public interface PurchaseCheckServiceCenterMapper
* @return * @return
*/ */
int isOperateAllNot(MaInputRecord maInputRecord); int isOperateAllNot(MaInputRecord maInputRecord);
/**
* 查询审核的数据
* @param taskId
* @return
*/
List<MaInputRecord> selectPutinDetailsCheck(Long taskId);
} }

View File

@ -145,7 +145,9 @@ public class PurchaseCheckServiceCenterServiceImpl implements PurchaseCheckServi
public AjaxResult modifyManageStatus(MaInputVO maInputVO) { public AjaxResult modifyManageStatus(MaInputVO maInputVO) {
Long taskId = maInputVO.getTaskId(); Long taskId = maInputVO.getTaskId();
String checkResult = maInputVO.getCheckResult(); String checkResult = maInputVO.getCheckResult();
List<MaInputRecord> inputRecordList = maInputVO.getInputRecordList(); //查询审核的数据
List<MaInputRecord> inputRecordList = purchaseCheckServiceCenterMapper.selectPutinDetailsCheck(taskId);
// List<MaInputRecord> inputRecordList = maInputVO.getInputRecordList();
for (MaInputRecord maInputRecord : inputRecordList) { for (MaInputRecord maInputRecord : inputRecordList) {
//判断是编码设备还是数量 //判断是编码设备还是数量
if (StringHelper.isNotEmpty(maInputRecord.getMaCode())) { if (StringHelper.isNotEmpty(maInputRecord.getMaCode())) {

View File

@ -463,4 +463,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND type_id = #{typeId} AND type_id = #{typeId}
AND `status` != '4' AND `status` != '4'
</select> </select>
<select id="selectPutinDetailsCheck" resultType="com.bonus.sgzb.material.domain.MaInputRecord">
select
pmi.ma_code maCode,
pcd.type_id typeId,
pcd.task_id taskId,
mm.ma_id maId,
if(pmi.ma_code is not null, 1, pcd.check_num) checkNum
from purchase_check_details pcd
left join purchase_macode_info pmi on pmi.task_id = pcd.task_id and pmi.type_id = pcd.type_id
LEFT JOIN tm_task tt on tt.task_id=pcd.task_id
left join ma_machine mm on pmi.ma_code = mm.ma_code
left join ma_type mt on pcd.type_id = mt.type_id
left join ma_type mt1 on mt.parent_id = mt1.type_id
where pcd.task_id = #{taskId}
and pcd.`status`!=3
</select>
</mapper> </mapper>

View File

@ -81,7 +81,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM purchase_check_details pcd FROM purchase_check_details pcd
LEFT JOIN ma_type mt ON mt.type_id = pcd.type_id LEFT JOIN ma_type mt ON mt.type_id = pcd.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
LEFT JOIN tm_task tt on tt.task_id=pcd.task_id
WHERE IFNULL(pcd.check_num, 0) - IFNULL(pcd.input_num, 0) > 0 WHERE IFNULL(pcd.check_num, 0) - IFNULL(pcd.input_num, 0) > 0
and tt.task_status !=107 and tt.task_status !=106
GROUP BY mt.type_id) AS subquery4 ON subquery4.type_id = mt.type_id GROUP BY mt.type_id) AS subquery4 ON subquery4.type_id = mt.type_id
LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id
WHERE mt.`level` = 4 WHERE mt.`level` = 4

View File

@ -757,7 +757,7 @@ export default {
let param = { let param = {
taskId: this.query.taskId, taskId: this.query.taskId,
checkResult: '1', checkResult: '1',
inputRecordList: this.ids, // inputRecordList: this.ids,
} }
changePutinStatus(param).then((response) => { changePutinStatus(param).then((response) => {
if (response.code == 200) { if (response.code == 200) {
@ -810,7 +810,7 @@ export default {
let param = { let param = {
taskId: this.query.taskId, taskId: this.query.taskId,
checkResult: '2', checkResult: '2',
inputRecordList: this.ids, // inputRecordList: this.ids,
} }
changePutinStatus(param).then((response) => { changePutinStatus(param).then((response) => {

View File

@ -38,6 +38,23 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="采购状态" prop="taskState">
<el-select
v-model="queryParams.taskState"
placeholder="请选择采购状态"
clearable
filterable
style="width: 210px"
>
<el-option
v-for="statusItem in statusList"
:key="statusItem.taskState"
:label="statusItem.label"
:value="statusItem.taskState"
/>
</el-select>
</el-form-item>
<el-form-item label="关键字" prop="keyWord"> <el-form-item label="关键字" prop="keyWord">
<el-input <el-input
v-model="queryParams.keyWord" v-model="queryParams.keyWord"
@ -134,11 +151,12 @@
<el-table-column label="采购状态" align="center" prop="taskStatus"> <el-table-column label="采购状态" align="center" prop="taskStatus">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.taskStatus == '26'">已验收合格</span> <span v-if="scope.row.taskStatus == '122'">待审核</span>
<span v-if="scope.row.taskStatus == '105'">入库待审核</span> <span v-if="scope.row.taskStatus == '105'">入库审核中</span>
<span v-if="scope.row.taskStatus == '106'">已驳回</span> <span v-if="scope.row.taskStatus == '106'">已驳回</span>
<span v-if="scope.row.taskStatus == '28'">已审核</span> <span v-if="scope.row.taskStatus == '28'">已全部入库</span>
<span v-if="scope.row.taskStatus == '107'">已审核</span> <span v-if="scope.row.taskStatus == '107'">入库审核未通过</span>
<span v-if="scope.row.taskStatus == '123'">部分已入库</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -166,7 +184,7 @@
size="mini" size="mini"
type="primary" type="primary"
icon="el-icon-edit" icon="el-icon-edit"
v-if="scope.row.taskStatus == '26'" v-if="scope.row.taskStatus == '122'"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['newPurchase:service:auditing']" v-hasPermi="['newPurchase:service:auditing']"
>审核</el-button >审核</el-button
@ -233,50 +251,36 @@
<!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> --> <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8" v-if="showHandle"> <el-row :gutter="10" class="mb8" v-if="showBatchButtons">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="primary" type="primary"
plain plain
size="mini" size="mini"
:disabled="multiple" @click="passAll"
@click="passAll" >通过</el-button>
>批量通过</el-button </el-col>
> <el-col :span="1.5">
</el-col> <el-button
<el-col :span="1.5"> type="danger"
<el-button plain
type="danger" size="mini"
plain @click="refusedAll"
size="mini" >不通过</el-button>
@click="refusedAll" </el-col>
:disabled="multiple" </el-row>
>批量不通过</el-button <el-table
> v-loading="loading"
</el-col> :data="detailTableList"
<!-- <el-col :span="1.5">--> @selection-change="handleSelectionChange"
<!-- <el-button--> height="400"
<!-- type="warning"--> >
<!-- plain--> <!-- <el-table-column-->
<!-- icon="el-icon-download"--> <!-- type="selection"-->
<!-- size="mini"--> <!-- width="55"-->
<!-- @click="handleExport"--> <!-- align="center"-->
<!-- v-hasPermi="['system:dict:export']"--> <!-- :selectable="selectable"-->
<!-- >导出</el-button>--> <!-- />-->
<!-- </el-col>-->
</el-row>
<el-table
v-loading="loading"
:data="detailTableList"
@selection-change="handleSelectionChange"
height="400"
>
<el-table-column
type="selection"
width="55"
align="center"
:selectable="selectable"
/>
<el-table-column <el-table-column
label="序号" label="序号"
align="center" align="center"
@ -331,28 +335,28 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <!-- <el-table-column-->
label="操作" <!-- label="操作"-->
align="center" <!-- align="center"-->
class-name="small-padding fixed-width" <!-- class-name="small-padding fixed-width"-->
v-if="showHandle" <!-- v-if="showHandle"-->
width="150" <!-- width="150"-->
> <!-- >-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<el-button <!-- <el-button-->
size="mini" <!-- size="mini"-->
type="text" <!-- type="text"-->
v-if="scope.row.status == '0'" <!-- v-if="scope.row.status == '0'"-->
@click="pass(scope.row)" <!-- @click="pass(scope.row)"-->
>通过</el-button <!-- >通过</el-button-->
> <!-- >-->
<el-button <!-- <el-button-->
size="mini" <!-- size="mini"-->
type="text" <!-- type="text"-->
v-if="scope.row.status == '0'" <!-- v-if="scope.row.status == '0'"-->
@click="refused(scope.row)" <!-- @click="refused(scope.row)"-->
>不通过</el-button <!-- >不通过</el-button-->
> <!-- >-->
<!-- <el-button--> <!-- <el-button-->
<!-- size="mini"--> <!-- size="mini"-->
<!-- type="text"--> <!-- type="text"-->
@ -360,8 +364,8 @@
<!-- @click="handleDelete(scope.row)"--> <!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['system:dict:remove']"--> <!-- v-hasPermi="['system:dict:remove']"-->
<!-- >删除</el-button>--> <!-- >删除</el-button>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
</el-table> </el-table>
<pagination <pagination
@ -557,6 +561,16 @@ export default {
// //
typeList: [], typeList: [],
modelList: [], modelList: [],
//
statusList: [
{ label: '全部', taskState: null },
{ label: '待审核', taskState: 122 },
{ label: '入库审核中', taskState: 105 },
{ label: '已驳回', taskState: 106 },
{ label: '入库审核未通过', taskState: 107 },
{ label: '部分已入库', taskState: 123 },
{ label: '已全部入库', taskState: 28 }
],
// //
tableList: [], tableList: [],
detailTableList: [], detailTableList: [],
@ -568,6 +582,7 @@ export default {
printData: {}, printData: {},
printTableData: [], printTableData: [],
showHandle: true, showHandle: true,
showBatchButtons: true,
// //
dateRange: [], dateRange: [],
// //
@ -603,6 +618,12 @@ export default {
}, },
} }
}, },
mounted() {
// taskStatus
this.$watch('detailTableList', () => {
this.showBatchButtons = this.detailTableList.some(item => item.taskStatus === '122');
}, { deep: true });
},
created() { created() {
this.getList() this.getList()
this.getTypeList() this.getTypeList()
@ -625,6 +646,7 @@ export default {
startTime: this.queryParams.time && this.queryParams.time[0], startTime: this.queryParams.time && this.queryParams.time[0],
endTime: this.queryParams.time && this.queryParams.time[1], endTime: this.queryParams.time && this.queryParams.time[1],
typeId: this.queryParams.typeId, typeId: this.queryParams.typeId,
taskStatus: this.queryParams.taskState,
pageSize: this.queryParams.pageSize, pageSize: this.queryParams.pageSize,
pageNum: this.queryParams.pageNum, pageNum: this.queryParams.pageNum,
} }
@ -641,6 +663,7 @@ export default {
this.detailTableList = response.rows this.detailTableList = response.rows
this.dialogTotal = response.total this.dialogTotal = response.total
this.loading = false this.loading = false
this.ids = response.rows.map((item) => item)
}) })
}, },
@ -685,12 +708,14 @@ export default {
return false return false
} }
}, },
// //
handleSelectionChange(selection) { handleSelectionChange() {
this.ids = selection.map((item) => item) console.log(this.ids)
this.single = selection.length != 1 this.ids = this.detailTableList.map((item) => item) // id
this.multiple = !selection.length console.log(this.ids)
}, // this.single = selection.length != 1
// this.multiple = !selection.length
},
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
// this.reset(); // this.reset();

View File

@ -38,6 +38,23 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="采购状态" prop="taskState">
<el-select
v-model="queryParams.taskState"
placeholder="请选择采购状态"
clearable
filterable
style="width: 240px"
>
<el-option
v-for="statusItem in statusList"
:key="statusItem.taskState"
:label="statusItem.label"
:value="statusItem.taskState"
/>
</el-select>
</el-form-item>
<el-form-item label="关键字" prop="keyWord"> <el-form-item label="关键字" prop="keyWord">
<el-input <el-input
v-model="queryParams.keyWord" v-model="queryParams.keyWord"
@ -178,12 +195,8 @@
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
v-if=" v-if="
scope.row.purchasingStatus != '已入库' && scope.row.purchasingStatus == '待通知' ||
scope.row.purchasingStatus != '已审核' && scope.row.purchasingStatus == '待验收'
scope.row.purchasingStatus != '已验收合格' &&
scope.row.purchasingStatus != '待审核' &&
scope.row.purchasingStatus != '验收不通过' &&
scope.row.purchasingStatus != '驳回'
" "
@click="handleAccept(scope.row)" @click="handleAccept(scope.row)"
v-hasPermi="['newPurchase:tools:accept']" v-hasPermi="['newPurchase:tools:accept']"
@ -194,8 +207,7 @@
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
v-if=" v-if="
(scope.row.purchasingStatus == '已验收合格' || (scope.row.purchasingStatus == '验收合格') &&
scope.row.purchasingStatus == '待审核') &&
scope.row.manageType != '1' scope.row.manageType != '1'
" "
@click="handleCode(scope.row)" @click="handleCode(scope.row)"
@ -207,10 +219,12 @@
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
v-if=" v-if="
scope.row.purchasingStatus == '已验收合格' || scope.row.purchasingStatus == '验收合格' ||
scope.row.purchasingStatus == '已入库' || scope.row.purchasingStatus == '综合服务中心审核中' ||
scope.row.purchasingStatus == '已审核' || scope.row.purchasingStatus == '入库审核中' ||
scope.row.purchasingStatus == '待审核' scope.row.purchasingStatus == '入库审核未通过' ||
scope.row.purchasingStatus == '部分已入库' ||
scope.row.purchasingStatus == '已全部入库'
" "
@click="handlePrint(scope.row)" @click="handlePrint(scope.row)"
>验收单</el-button >验收单</el-button
@ -219,7 +233,7 @@
size="mini" size="mini"
type="success" type="success"
icon="el-icon-edit" icon="el-icon-edit"
v-if="scope.row.purchasingStatus == '验收合格'" v-if="scope.row.purchasingStatus == '验收合格'"
@click="handleSubmit(scope.row)" @click="handleSubmit(scope.row)"
>提交审核</el-button >提交审核</el-button
> >
@ -229,10 +243,10 @@
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
v-if=" v-if="
scope.row.purchasingStatus != '已入库' && scope.row.purchasingStatus == '待通知' ||
scope.row.purchasingStatus != '已审核' && scope.row.purchasingStatus == '验收未通过' ||
scope.row.purchasingStatus != '已验收合格' && scope.row.purchasingStatus == '综合服务中心未通过' ||
scope.row.purchasingStatus != '待审核' scope.row.purchasingStatus == '入库审核未通过'
" "
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['newPurchase:tools:del']" v-hasPermi="['newPurchase:tools:del']"
@ -492,6 +506,20 @@ export default {
// //
typesList: [], typesList: [],
modelList: [], modelList: [],
//
statusList: [
{ label: '全部', taskState: null },
{ label: '待通知', taskState: 24 },
{ label: '待验收', taskState: 25 },
{ label: '验收合格', taskState: 26 },
{ label: '验收未通过', taskState: 27 },
{ label: '综合服务中心审核中', taskState: 122 },
{ label: '综合服务中心未通过', taskState: 106 },
{ label: '入库审核中', taskState: 105 },
{ label: '入库审核未通过', taskState: 107 },
{ label: '部分已入库', taskState: 123 },
{ label: '已全部入库', taskState: 28 }
],
// //
typeList: [], typeList: [],
// //
@ -533,6 +561,7 @@ export default {
startTime: this.queryParams.time && this.queryParams.time[0], startTime: this.queryParams.time && this.queryParams.time[0],
endTime: this.queryParams.time && this.queryParams.time[1], endTime: this.queryParams.time && this.queryParams.time[1],
typeId: this.queryParams.typeId, typeId: this.queryParams.typeId,
taskStatus: this.queryParams.taskState,
pageSize: this.queryParams.pageSize, pageSize: this.queryParams.pageSize,
pageNum: this.queryParams.pageNum, pageNum: this.queryParams.pageNum,
} }

View File

@ -241,7 +241,7 @@
v-model="form.checkNum" v-model="form.checkNum"
style="width: 100%" style="width: 100%"
controls-position="right" controls-position="right"
:min="1" :min="0"
:max="form.purchaseNum" :max="form.purchaseNum"
/> />
</el-form-item> </el-form-item>

View File

@ -9,6 +9,41 @@
v-show="showSearch" v-show="showSearch"
label-width="100px" label-width="100px"
> >
<el-form-item label="设备类型" prop="typeId">
<el-select
v-model="queryParams.typeId"
placeholder="请选择设备类型"
clearable
filterable
style="width: 240px"
>
<el-option
v-for="typeItem in typesList"
:key="typeItem.typeId"
:label="typeItem.typeName"
:value="typeItem.typeId"
/>
</el-select>
</el-form-item>
<el-form-item label="采购状态" prop="taskState">
<el-select
v-model="queryParams.taskStatus"
placeholder="请选择采购状态"
clearable
filterable
style="width: 240px"
>
<el-option
v-for="statusItem in statusList"
:key="statusItem.taskStatus"
:label="statusItem.label"
:value="statusItem.taskStatus"
/>
</el-select>
</el-form-item>
<el-form-item label="关键字" prop="keyWord"> <el-form-item label="关键字" prop="keyWord">
<el-input <el-input
v-model="queryParams.keyWord" v-model="queryParams.keyWord"
@ -19,22 +54,7 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="设备类型" prop="typeId">
<el-select
v-model="queryParams.typeId"
placeholder="请选择设备类型"
clearable
filterable
style="width: 240px"
>
<el-option
v-for="typeItem in typesList"
:key="typeItem.typeId"
:label="typeItem.typeName"
:value="typeItem.typeId"
/>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button
type="primary" type="primary"
@ -136,30 +156,30 @@
/> />
<el-table-column label="状态" align="center" prop="taskStatus"> <el-table-column label="状态" align="center" prop="taskStatus">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag <el-tag
size="mini" size="mini"
type="success" type="success"
v-if="scope.row.taskStatus == '26'" v-if="scope.row.taskStatus == '28'"
>已验收合格</el-tag >已全部入库</el-tag
> >
<el-tag <el-tag
size="mini" size="mini"
type="primary" type="warning"
v-if="scope.row.taskStatus == '28'" v-if="scope.row.taskStatus == '105'"
>已审核</el-tag >入库审核中</el-tag
> >
<el-tag <el-tag
size="mini" size="mini"
type="warning" type="danger"
v-if="scope.row.taskStatus == '105'" v-if="scope.row.taskStatus == '107'"
>待审核</el-tag >入库审核未通过</el-tag
> >
<el-tag <el-tag
size="mini" size="mini"
type="danger" type="success"
v-if="scope.row.taskStatus == '107'" v-if="scope.row.taskStatus == '123'"
>已驳回</el-tag >部分已入库</el-tag
> >
</template> </template>
</el-table-column> </el-table-column>
@ -179,7 +199,6 @@
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
v-if=" v-if="
scope.row.taskStatus == '26' ||
scope.row.taskStatus == '105' scope.row.taskStatus == '105'
" "
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
@ -190,7 +209,7 @@
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
v-if="scope.row.taskStatus == '28'" v-if="scope.row.taskStatus == '28' || scope.row.taskStatus == '123'"
@click="handlePrint(scope.row)" @click="handlePrint(scope.row)"
v-hasPermi="['warehousing:newTools:list']" v-hasPermi="['warehousing:newTools:list']"
>入库单</el-button >入库单</el-button
@ -338,9 +357,10 @@
<!-- <el-table-column label="不通过原因" align="center" prop="remark" show-overflow-tooltip /> --> <!-- <el-table-column label="不通过原因" align="center" prop="remark" show-overflow-tooltip /> -->
<el-table-column label="状态" align="center" prop="status"> <el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.status == '0'">未入库</span> <span v-if="scope.row.status == '0'">待审核</span>
<span v-if="scope.row.status == '1'">已入库</span> <span v-if="scope.row.status == '1'">已入库</span>
<span v-if="scope.row.status == '2'">已驳回</span> <span v-if="scope.row.status == '2'">已驳回</span>
<span v-if="scope.row.status == '3'">待审核</span>
</template> </template>
</el-table-column> </el-table-column>
@ -363,7 +383,7 @@
size="mini" size="mini"
type="text" type="text"
v-if=" v-if="
scope.row.status == '0' && (scope.row.status == '0' || scope.row.status == '3') &&
scope.row.userIds.includes(userId) scope.row.userIds.includes(userId)
" "
@click="pass(scope.row)" @click="pass(scope.row)"
@ -373,7 +393,7 @@
size="mini" size="mini"
type="text" type="text"
v-if=" v-if="
scope.row.status == '0' && (scope.row.status == '0' || scope.row.status == '3') &&
scope.row.userIds.includes(userId) scope.row.userIds.includes(userId)
" "
@click="refused(scope.row)" @click="refused(scope.row)"
@ -675,19 +695,19 @@ export default {
}, },
// //
selectable(row) { selectable(row) {
console.log(row) console.log(row)
if (row.status == '0') { if (row.status == '0' || row.status == '3') {
if ( if (
(row.manageType == '0' && row.maCode) || (row.manageType == '0' && row.maCode) ||
row.manageType == '1' row.manageType == '1'
) { ) {
return true return true
} else {
return false
}
} else { } else {
return false return false
} }
} else {
return false
}
}, },
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {