Browse Source

物料大更新

master
常熟吴彦祖 4 weeks ago
parent
commit
49aea87984
  1. 3
      src/api/part/partInfo.js
  2. 3
      src/api/workFlow/workFlow.js
  3. 5
      src/views/modules/srmPart/com_part_Approval.vue
  4. 2
      src/views/modules/srmPart/partApprovalList.vue
  5. 64
      src/views/modules/srmPart/partInfoList.vue

3
src/api/part/partInfo.js

@ -5,8 +5,9 @@ export const searchPartList = data => createAPI('/part/searchPartList', 'POST',
export const createPart = data => createAPI('/part/save', 'POST', data) export const createPart = data => createAPI('/part/save', 'POST', data)
export const updatePart = data => createAPI('/part/save', 'POST', data) export const updatePart = data => createAPI('/part/save', 'POST', data)
export const copyPartByBase = data => createAPI('/part/copyByBasePartNo', 'POST', data) export const copyPartByBase = data => createAPI('/part/copyByBasePartNo', 'POST', data)
export const startPartFormalApprove = data => createAPI('/part/startFormalApprove', 'POST', data)
export const searchPartInfo = data => createAPI('part/getPart','POST', data) export const searchPartInfo = data => createAPI('part/getPart','POST', data)
export const deletePart = id => createAPI('/part/delete', 'POST', { id: id })
export const deletePart = data => createAPI('/part/delete', 'POST', data)
//产品审批 //产品审批
export const partApprove = data => createAPI('/part/partApprove', 'POST', data) export const partApprove = data => createAPI('/part/partApprove', 'POST', data)
//待审批物料流程 //待审批物料流程

3
src/api/workFlow/workFlow.js

@ -51,3 +51,6 @@ export const restartFlowInstance = data => createAPI(`/workFlow/instance/restart
// 通过业务单号查询流程节点实例列表 // 通过业务单号查询流程节点实例列表
export const getNodeInstanceList = data => createAPI(`/workFlow/instance/getNodeInstanceList`, 'post', data) export const getNodeInstanceList = data => createAPI(`/workFlow/instance/getNodeInstanceList`, 'post', data)
// 通过业务单号查询全部流程节点历史(时间倒序) - rqrq
export const getNodeInstanceHistoryList = data => createAPI(`/workFlow/instance/getNodeInstanceHistoryList`, 'post', data)

5
src/views/modules/srmPart/com_part_Approval.vue

@ -63,7 +63,7 @@
import Chooselist from '@/views/modules/common/Chooselist_eam' import Chooselist from '@/views/modules/common/Chooselist_eam'
import { import {
getNodeInstanceList
getNodeInstanceHistoryList
} from '../../../api/workFlow/workFlow.js' } from '../../../api/workFlow/workFlow.js'
import { import {
@ -259,7 +259,8 @@ export default {
}, },
searchTable(){ searchTable(){
getNodeInstanceList(this.searchData).then(({data}) => {
// - rqrq
getNodeInstanceHistoryList(this.searchData).then(({data}) => {
// //
if (data && data.code == 0) { if (data && data.code == 0) {
this.dataList = data.rows this.dataList = data.rows

2
src/views/modules/srmPart/partApprovalList.vue

@ -757,7 +757,7 @@ export default {
comment: this.approveData.comment comment: this.approveData.comment
}).then(({ data }) => { }).then(({ data }) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.$message.success(action === 'APPROVED' ? '审批通过成功' : '驳回成功')
this.$message.success(action === 'APPROVED' ? '审批通过成功' : '驳回成功,审批已终止')
this.approveDialogVisible = false this.approveDialogVisible = false
// //
this.getMainData() this.getMainData()

64
src/views/modules/srmPart/partInfoList.vue

@ -87,11 +87,12 @@
fixed="right" fixed="right"
header-align="center" header-align="center"
align="center" align="center"
width="160"
width="220"
label="Action"> label="Action">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-link style="cursor: pointer" v-if="scope.row.flowStatus === 'COMPLETED' || scope.row.flowStatus === 'TERMINATED'" @click="handleRestart(scope.row)">重新审批 |</el-link> <!-- <el-link style="cursor: pointer" v-if="scope.row.flowStatus === 'COMPLETED' || scope.row.flowStatus === 'TERMINATED'" @click="handleRestart(scope.row)">重新审批 |</el-link>
<el-link style="cursor: pointer" v-if="scope.row.flowStatus === 'RUNNING'" @click="openApproveDialog(scope.row)">审批 |</el-link> --> <el-link style="cursor: pointer" v-if="scope.row.flowStatus === 'RUNNING'" @click="openApproveDialog(scope.row)">审批 |</el-link> -->
<el-link style="cursor: pointer" v-if="scope.row.partStage === 'Created'" @click="startFormalApprove(scope.row)">转正 |</el-link>
<el-link style="cursor: pointer" @click="editPart(scope.row)">编辑 |</el-link> <el-link style="cursor: pointer" @click="editPart(scope.row)">编辑 |</el-link>
<el-link style="cursor: pointer" @click="deletePart(scope.row)">删除</el-link> <el-link style="cursor: pointer" @click="deletePart(scope.row)">删除</el-link>
</template> </template>
@ -129,7 +130,8 @@
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
<!-- 产品编辑对话框 --> <!-- 产品编辑对话框 -->
<el-dialog :title="isAdd ? '新增产品' : '编辑产品'" :visible.sync="partDialogVisible" width="720px" top="3vh" :close-on-click-modal="false" class="part-dialog">
<!-- 默认弹窗可拖动特殊需求除外 - rqrq -->
<el-dialog :title="isAdd ? '新增产品' : '编辑产品'" :visible.sync="partDialogVisible" width="720px" top="3vh" :close-on-click-modal="false" class="part-dialog" v-drag>
<div class="dialog-content"> <div class="dialog-content">
<el-form <el-form
:model="currentpart" :model="currentpart"
@ -274,14 +276,20 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="复制物料" :visible.sync="copyDialogVisible" width="420px" :close-on-click-modal="false">
<el-form :model="copyForm" :rules="copyRules" ref="copyForm" label-width="100px">
<el-dialog title="复制物料" :visible.sync="copyDialogVisible" width="520px" :close-on-click-modal="false" v-drag>
<el-form :model="copyForm" :rules="copyRules" ref="copyForm" label-position="top">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="基准料号" prop="basePartNo"> <el-form-item label="基准料号" prop="basePartNo">
<el-input v-model="copyForm.basePartNo"></el-input> <el-input v-model="copyForm.basePartNo"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="物料后缀" prop="partSuffix"> <el-form-item label="物料后缀" prop="partSuffix">
<el-input v-model="copyForm.partSuffix"></el-input> <el-input v-model="copyForm.partSuffix"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmCopyPart">确认</el-button> <el-button type="primary" @click="confirmCopyPart">确认</el-button>
@ -328,7 +336,8 @@ import {
createPart, createPart,
updatePart, updatePart,
copyPartByBase, copyPartByBase,
deletePart
deletePart,
startPartFormalApprove
} from '@/api/part/partInfo.js' } from '@/api/part/partInfo.js'
import excel from '@/utils/excel-util.js' import excel from '@/utils/excel-util.js'
import Chooselist from '@/views/modules/common/Chooselist_eam' import Chooselist from '@/views/modules/common/Chooselist_eam'
@ -899,7 +908,13 @@ export default {
methods: { methods: {
formatPartStageDesc (partStage) { formatPartStageDesc (partStage) {
return partStage === 'Approved' ? '正式物料' : '新增物料'
if (partStage === 'Approved') {
return '正式物料'
}
if (partStage === 'Approving') {
return '转正审批中'
}
return '新增物料'
}, },
formatTableCell (columnProp, row) { formatTableCell (columnProp, row) {
if (columnProp === 'partStage') { if (columnProp === 'partStage') {
@ -944,8 +959,10 @@ export default {
return index > 0 && index < value.length - 1 ? value.substring(index + 1) : '' return index > 0 && index < value.length - 1 ? value.substring(index + 1) : ''
}, },
openCopyDialog () { openCopyDialog () {
const selectedBasePartNo = (this.currentRow && this.currentRow.basePartNo) ? this.currentRow.basePartNo : ''
this.copyForm = { this.copyForm = {
basePartNo: '',
// - rqrq
basePartNo: (selectedBasePartNo || '').trim().toUpperCase(),
partSuffix: '' partSuffix: ''
} }
this.copyDialogVisible = true this.copyDialogVisible = true
@ -981,6 +998,33 @@ export default {
}) })
}) })
}, },
startFormalApprove (row) {
if (!row || !row.partNo) {
this.$message.warning('未找到有效物料编码')
return
}
// - rqrq
this.$confirm('确认发起该物料的转正流程吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let inData = {
site: this.$store.state.user.site,
partNo: row.partNo
}
startPartFormalApprove(inData).then(({ data }) => {
if (data && data.code === 0) {
this.$message.success(data.msg || '操作成功')
this.getMainData()
return
}
this.$message.error((data && data.msg) || '发起转正失败')
}).catch(error => {
this.$message.error('发起转正失败: ' + error.message)
})
}).catch(() => {})
},
fetchPartFamilyOptions (familyType, parentPartFamily) { fetchPartFamilyOptions (familyType, parentPartFamily) {
return listPartFamilyByType({ return listPartFamilyByType({
site: this.$store.state.user.site, site: this.$store.state.user.site,
@ -1397,7 +1441,11 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
deletePart(row.id).then(({data}) => {
deletePart({
id: row.id,
site: row.site,
partNo: row.partNo
}).then(({data}) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.$message.success('产品删除成功') this.$message.success('产品删除成功')
this.getMainData() this.getMainData()

Loading…
Cancel
Save