Browse Source

批量审核, 关闭接收 2022年12月22日 sxm

master
[li_she] 3 years ago
parent
commit
ee9edb5466
  1. 3
      src/api/knifemold/receive.js
  2. 3
      src/api/purchaseorder/procurementReview.js
  3. 21
      src/views/modules/knifemold/receive.vue
  4. 171
      src/views/modules/purchaseorder/procurementReview.vue
  5. 2
      src/views/modules/purchaseorder/purchaseRequisition.vue

3
src/api/knifemold/receive.js

@ -30,5 +30,8 @@ export const saveFileAssociate = data => createAPI(`PRHeader/saveFileAssociate
// 获取打印数据 // 获取打印数据
export const printToolData = data => createAPI(`toolMan/printToolData`,'POST',data) export const printToolData = data => createAPI(`toolMan/printToolData`,'POST',data)
// 关闭接收
export const closeReceiveStatus = data => createAPI(`toolMan/closeReceiveStatus`,'POST',data)

3
src/api/purchaseorder/procurementReview.js

@ -8,6 +8,9 @@ export const getPRHeaderListReview = data => createAPI(`PRHeader/getPRHeaderList
// 获取信息 // 获取信息
export const updatePRHeader = data => createAPI(`PRHeader/updatePRHeader`,'POST',data) export const updatePRHeader = data => createAPI(`PRHeader/updatePRHeader`,'POST',data)
// 批量审核
export const updatePRHeaderList = data => createAPI(`PRHeader/updatePRHeaderList`,'POST',data)
// 获取信息 // 获取信息
export const getTblBaseDataList = data => createAPI(`PRHeader/getTblBaseDataList`,'POST',data) export const getTblBaseDataList = data => createAPI(`PRHeader/getTblBaseDataList`,'POST',data)

21
src/views/modules/knifemold/receive.vue

@ -85,6 +85,7 @@
width="100" width="100"
:label="buttons.operating"> :label="buttons.operating">
<template slot-scope="scope"> <template slot-scope="scope">
<a @click="closeReceive(scope.row)">{{'关闭'}}</a>
<a @click="initBannersFlag(scope.row)">{{buttons.receive}}</a> <a @click="initBannersFlag(scope.row)">{{buttons.receive}}</a>
<a @click="initFileModel(scope.row)">{{buttons.appendixInfo}}</a> <a @click="initFileModel(scope.row)">{{buttons.appendixInfo}}</a>
</template> </template>
@ -324,7 +325,8 @@
getFileList, getFileList,
printTool, printTool,
saveFileAssociate, saveFileAssociate,
printToolData
printToolData,
closeReceiveStatus
} from "@/api/knifemold/receive.js" } from "@/api/knifemold/receive.js"
import { import {
getToolDetailList, getToolDetailList,
@ -1416,6 +1418,23 @@
// this.initLocationFlag(queryLocation) // this.initLocationFlag(queryLocation)
} }
}, },
//
closeReceive(row){
this.$confirm(`确定进行关闭接收操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
row.closeFlag = 'Y'
closeReceiveStatus(row).then(({data}) =>{
if (data.code == 0){
this.$message.success(data.msg)
this.initViewIfsTable('Y')
}
})
})
},
// //
saveToolInstanceId() { saveToolInstanceId() {
let status; let status;

171
src/views/modules/purchaseorder/procurementReview.vue

@ -7,10 +7,13 @@
<icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg"></icon-svg> <icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg"></icon-svg>
</span> </span>
</div> </div>
<el-button @click="getDataList('Y')" type="primary">{{buttons.search}}</el-button>
<el-button @click="saveColumnList()" type="primary" v-show="showDefault">{{buttons.defaultTable}}
<el-button @click="getDataList('Y')" type="primary">{{ buttons.search }}</el-button>
<el-button @click="saveReviewList('Y')" :disabled="dataListSelections.length <= 0" type="primary">
{{ '批量审核-通过' }}
</el-button>
<el-button @click="saveReviewList('N')" :disabled="dataListSelections.length <= 0" type="primary">
{{ '批量审核-不通过' }}
</el-button> </el-button>
<el-button @click="userSetting" type="primary">{{ buttons.settingTable}}</el-button>
<download-excel <download-excel
:fields="fields()" :fields="fields()"
:data="exportData" :data="exportData"
@ -24,12 +27,8 @@
:before-finish="finishDownload" :before-finish="finishDownload"
worksheet="导出信息" worksheet="导出信息"
class="el-button el-button--primary el-button--medium"> class="el-button el-button--primary el-button--medium">
{{buttons.download}}
{{ buttons.download }}
</download-excel> </download-excel>
<el-button v-if="isAuth(':prd:delete')" type="danger" @click="deleteHandle()"
:disabled="dataListSelections.length <= 0">{{ buttons.deleteList}}
</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
@ -46,7 +45,7 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<span slot="label" @click="getBaseList(3,1)"><el-link>{{'供应商编码'}}</el-link> </span>
<span slot="label" @click="getBaseList(3,1)"><el-link>{{ '供应商编码' }}</el-link> </span>
<el-input v-model="mainQueryData.supplierid" onkeyup="this.value = this.value.toUpperCase()" <el-input v-model="mainQueryData.supplierid" onkeyup="this.value = this.value.toUpperCase()"
style="width: 120px"></el-input> style="width: 120px"></el-input>
</el-form-item> </el-form-item>
@ -61,32 +60,6 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item :label="inputSearch2">-->
<!-- <el-select v-model="mainQueryData.orderType" placeholder="请选择" style="width: 110px;">-->
<!-- <el-option-->
<!-- key=""-->
<!-- label="全部"-->
<!-- value="">-->
<!-- </el-option>-->
<!-- <el-option-->
<!-- v-for="item in orderTypeList"-->
<!-- :key="item.baseData"-->
<!-- :label="item.baseDesc"-->
<!-- :value="item.baseDesc">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- &lt;!&ndash; <el-input style="width: 110px;" clearable placeholder="" v-model="mainQueryData.orderType"></el-input>&ndash;&gt;-->
<!-- </el-form-item>-->
<!-- <el-form-item :label="inputSearch4">-->
<!-- <el-select v-model="mainQueryData.authorizeFlag" style="width: 90px;">-->
<!-- <el-option value="" label="全部"></el-option>-->
<!-- <el-option value="Y" label="已审批"></el-option>-->
<!-- <el-option value="N" label="未审批"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</el-form> </el-form>
</el-col> </el-col>
</el-row> </el-row>
@ -100,6 +73,7 @@
v-loading="dataListLoading" v-loading="dataListLoading"
@selection-change="selectionChangeHandle" @selection-change="selectionChangeHandle"
style="width: 100%;"> style="width: 100%;">
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column <el-table-column
v-for="(item,index) in columnList" :key="index" v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable" :sortable="item.columnSortable"
@ -111,7 +85,7 @@
:width="item.columnWidth" :width="item.columnWidth"
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span> style="width: 100px; height: 80px"/></span>
</template> </template>
@ -124,9 +98,9 @@
width="100" width="100"
:label="buttons.operating"> :label="buttons.operating">
<template slot-scope="scope"> <template slot-scope="scope">
<a v-if="scope.row.strCanAuthFlag == 'Y'" @click="initReview(scope.row)">{{buttons.audit}}</a>
<span v-else>{{buttons.audit}}</span>
<a @click="initFileModel(scope.row)">{{buttons.appendixInfo}}</a>
<a v-if="scope.row.strCanAuthFlag == 'Y'" @click="initReview(scope.row)">{{ buttons.audit }}</a>
<span v-else>{{ buttons.audit }}</span>
<a @click="initFileModel(scope.row)">{{ buttons.appendixInfo }}</a>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -148,7 +122,8 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-steps :active="active" finish-status="success" align-center> <el-steps :active="active" finish-status="success" align-center>
<el-step :description="item.remark" v-for=" (item,index) in reviewStepList" :key="index" :title="item.nameDesc"></el-step>
<el-step :description="item.remark" v-for=" (item,index) in reviewStepList" :key="index"
:title="item.nameDesc"></el-step>
</el-steps> </el-steps>
</el-col> </el-col>
</el-row> </el-row>
@ -222,8 +197,6 @@
</el-table> </el-table>
</el-form> </el-form>
</el-dialog> </el-dialog>
<el-dialog title="预览" :visible.sync="pdfVisible" center width="60%"> <el-dialog title="预览" :visible.sync="pdfVisible" center width="60%">
<iframe :src="this.pdfUrl" frameborder="0" width="100%" height="400px"></iframe> <iframe :src="this.pdfUrl" frameborder="0" width="100%" height="400px"></iframe>
@ -234,9 +207,9 @@
</template> </template>
<script> <script>
import Chooselist from '@/views/modules/common/Chooselist'
import column from "../common/column";
import {
import Chooselist from '@/views/modules/common/Chooselist'
import column from "../common/column";
import {
searchSysLanguagePackList, searchSysLanguagePackList,
searchSysLanguageParam, searchSysLanguageParam,
searchFunctionButtonList, searchFunctionButtonList,
@ -244,22 +217,23 @@
searchSysLanguage, searchSysLanguage,
searchLanguageListByLanguageCode, searchLanguageListByLanguageCode,
saveSysLanguageOne saveSysLanguageOne
} from "@/api/sysLanguage.js"
import getLodop from '@/utils/LodopFuncs.js'
import {
} from "@/api/sysLanguage.js"
import getLodop from '@/utils/LodopFuncs.js'
import {
saveTableDefaultList, saveTableDefaultList,
saveTableUser, saveTableUser,
getTableDefaultListLanguage, getTableDefaultListLanguage,
getTableUserListLanguage, getTableUserListLanguage,
removerDefault, removerDefault,
removerUser removerUser
} from "@/api/table.js"
import {
} from "@/api/table.js"
import {
userFavoriteList, saveUserFavorite, removeUserFavorite userFavoriteList, saveUserFavorite, removeUserFavorite
} from '@/api/userFavorite.js'
import {
} from '@/api/userFavorite.js'
import {
getPRHeaderList, getPRHeaderList,
updatePRHeader, updatePRHeader,
updatePRHeaderList,
getTblBaseDataList, getTblBaseDataList,
getExportList, getExportList,
getReviewSteps, getReviewSteps,
@ -267,14 +241,14 @@
getPRHeaderListReview, getPRHeaderListReview,
getReviewStep getReviewStep
} from '@/api/purchaseorder/procurementReview.js'
import {
} from '@/api/purchaseorder/procurementReview.js'
import {
getPartFamilyList, getPartFamilyList,
} from '@/api/purchaseorder/purchaseRequisition.js'
import axios from "axios";
import Vue from "vue";
} from '@/api/purchaseorder/purchaseRequisition.js'
import axios from "axios";
import Vue from "vue";
export default {
export default {
components: { components: {
column, column,
Chooselist Chooselist
@ -963,6 +937,69 @@
this.orderTypeList = data.rows this.orderTypeList = data.rows
}) })
}, },
async saveReviewList(val) {
let dto = []
for (let i = 0; i < this.dataListSelections.length; i++) {
let item = this.dataListSelections[i]
let query = {
site: this.site,
orderRef1: item.requisitionno,
authUserId: this.$store.state.user.id,
stepId: item.stepId
}
await getReviewStep(query).then(({data}) => {
if (data.code == 0) {
let reviewStep = data.data
let newItem = {
approveResult: "已审批",
approveResultComments: null,
approvedFlag: val,
authGroupId: reviewStep.authGroupId,
authRuleId: reviewStep.authRuleId,
authTypeDb: reviewStep.authTypeDb,
authUserId: reviewStep.authUserId,
id: reviewStep.id,
itemNo: item.itemno,
lastStepFlag: "Y",
orderRef1: item.requisitionno,
orderType: item.orderType,
partNo: item.partno,
partdesc: item.partdesc,
qty: item.qty,
remark: "",
site: this.$store.state.user.site,
stepId: item.stepId,
supplierId: item.supplierid,
supplierName: item.suppliername,
torNumacc: 1,
torNumdown: 1,
userName: this.$store.state.user.name
}
if (val == "Y") {
if (reviewStep.lastStepFlag == 'Y') {
reviewStep.approveResult = "已审批"
} else {
newItem.approveResult = "已审批"
}
} else if (val == "N") {
newItem.approveResult = "未通过"
}
dto.push(newItem)
}
})
}
await updatePRHeaderList(dto).then(({data}) => {
if (data.code == 0) {
this.getDataList('Y')
}
this.$alert(data.msg, '操作提示', {
confirmButtonText: '确定',
callback: action => {
this.saveButton = false
}
});
})
},
saveReview(row, val) { saveReview(row, val) {
this.setUp.saveButton = true this.setUp.saveButton = true
this.saveData = {} this.saveData = {}
@ -1306,14 +1343,14 @@
this.getFunctionButtonList() this.getFunctionButtonList()
this.favoriteIsOk() this.favoriteIsOk()
} }
}
}
</script> </script>
<style scoped> <style scoped>
.wrapper {
.wrapper {
height: calc(100% - 40px); height: calc(100% - 40px);
}
}
.sl-input {
.sl-input {
background-color: transparent; background-color: transparent;
border: 0 !important; border: 0 !important;
font-size: 12px !important; font-size: 12px !important;
@ -1321,17 +1358,17 @@
line-height: 14px !important; line-height: 14px !important;
background-color: transparent !important; background-color: transparent !important;
width: 140px; width: 140px;
}
}
.sl-input:focus, textarea:focus {
.sl-input:focus, textarea:focus {
outline: none; outline: none;
}
}
.sl-svg {
.sl-svg {
overflow: hidden; overflow: hidden;
float: right; float: right;
}
}
</style> </style>

2
src/views/modules/purchaseorder/purchaseRequisition.vue

@ -1263,7 +1263,7 @@
}) })
}, },
initReapply(row) { initReapply(row) {
this.currentPRDetailData.orderref1 = row.requisitionno``
this.currentPRDetailData.orderref1 = row.requisitionno
this.currentPRDetailData.orderref2 = row.itemno this.currentPRDetailData.orderref2 = row.itemno
this.initAddModel(null, 'Y') this.initAddModel(null, 'Y')
}, },

Loading…
Cancel
Save