Browse Source

2026-03-06

OA流程【下达】防重复提交
master
fengyuan_yang 3 months ago
parent
commit
2b00f34eb0
  1. 10
      src/views/modules/changeManagement/changeRecord.vue
  2. 4
      src/views/modules/proofing/requestForProofing.vue
  3. 10
      src/views/modules/quotation/requestForQuote.vue
  4. 3
      src/views/modules/quote/index.vue
  5. 10
      src/views/modules/quote/primary/quoteTable.vue
  6. 15
      src/views/modules/sampleManagement/technicalSpecificationList.vue
  7. 11
      src/views/modules/test/requestForTest.vue
  8. 12
      src/views/modules/tooling/searchToolApply.vue

10
src/views/modules/changeManagement/changeRecord.vue

@ -90,7 +90,11 @@
<template slot-scope="scope">
<el-link v-if="authUpdate && scope.row.changeStatus !== '已完成'" style="cursor: pointer" @click="updateModal(scope.row)">编辑</el-link>
<el-link v-if="authUpdate && scope.row.changeStatus == '已完成'" style="cursor: pointer" @click="showModal(scope.row)">详情</el-link>
<el-link v-if="authIssue && scope.row.changeStatus === '草稿'" style="cursor: pointer" @click="issueModal(scope.row)">下达</el-link>
<el-link v-if="authIssue && scope.row.changeStatus === '草稿'" style="cursor: pointer"
:disabled="!!issueLoadingSet[scope.row.changeNo]"
@click="issueModal(scope.row)">
<i v-if="issueLoadingSet[scope.row.changeNo]" class="el-icon-loading"></i>下达
</el-link>
<el-link v-if="authDelete && scope.row.changeStatus === '草稿'" style="cursor: pointer" @click="deleteChangeRecord(scope.row)">删除</el-link>
</template>
</el-table-column>
@ -3175,6 +3179,7 @@
addDetailModal: false,
saveLoading: false,
submitLoading: false,
issueLoadingSet: {},
menuId: this.$route.meta.menuId,
authSearch: false,
authUpdate: false,
@ -4097,6 +4102,7 @@
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$set(this.issueLoadingSet, row.changeNo, true)
let tempData = {
site: row.site,
userName: this.$store.state.user.name,
@ -4112,6 +4118,8 @@
confirmButtonText: '确定'
})
}
}).finally(() => {
this.$set(this.issueLoadingSet, row.changeNo, false)
})
})
},

4
src/views/modules/proofing/requestForProofing.vue

@ -177,7 +177,9 @@
<el-link style="cursor: pointer" @click="updateModal(scope.row)" v-if="scope.row.proofingStatus !== '已完成'">编辑</el-link>
</template>
<template v-if="isAuth('103001:issued')">
<el-link style="cursor: pointer" v-if="scope.row.proofingStatus === '草稿'" :disabled="!!issuingSet[scope.row.proofingNo]" @click="updateModalStatus(scope.row,'C')">下达</el-link>
<el-link style="cursor: pointer" v-if="scope.row.proofingStatus === '草稿'" :disabled="!!issuingSet[scope.row.proofingNo]" @click="updateModalStatus(scope.row,'C')">
<i v-if="issuingSet[scope.row.proofingNo]" class="el-icon-loading"></i>下达
</el-link>
</template>
<template v-if="isAuth('103001:detail')">
<el-link style="cursor: pointer" v-if="scope.row.proofingStatus === '已完成'" @click="getDetailData(scope.row)">详情</el-link>

10
src/views/modules/quotation/requestForQuote.vue

@ -171,7 +171,11 @@
<el-link style="cursor: pointer" @click="updateModal(scope.row)" v-if="scope.row.quotationStatus !== '已完成'">编辑</el-link>
</template>
<template v-if="isAuth('102001001:issued')">
<el-link style="cursor: pointer" v-if="scope.row.quotationStatus === '草稿'" @click="updateModalStatus(scope.row,'C')">下达</el-link>
<el-link style="cursor: pointer" v-if="scope.row.quotationStatus === '草稿'"
:disabled="!!issueLoadingSet[scope.row.quotationBatchNo]"
@click="updateModalStatus(scope.row,'C')">
<i v-if="issueLoadingSet[scope.row.quotationBatchNo]" class="el-icon-loading"></i>下达
</el-link>
</template>
<template v-if="isAuth('102001001:detail')">
<el-link style="cursor: pointer" @click="updateDetailModal(scope.row)" v-if="scope.row.quotationStatus === '已完成'">详情</el-link>
@ -2102,6 +2106,7 @@ export default {
rejectVisible: false,
rejectOpinion: '',
submitLoading: false,
issueLoadingSet: {},
detailVisible: false,
no: 1,
size: 20,
@ -3443,6 +3448,7 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$set(this.issueLoadingSet, row.quotationBatchNo, true)
let params = JSON.parse(JSON.stringify(row))
params.quotationResultStatus = status;
params.quotationStatus = '下达';
@ -3457,6 +3463,8 @@ export default {
}
}).catch((error) => {
this.$message.error(error)
}).finally(() => {
this.$set(this.issueLoadingSet, row.quotationBatchNo, false)
})
})
},

3
src/views/modules/quote/index.vue

@ -1377,9 +1377,9 @@ export default {
confirmButtonText: '确定'
})
}
this.submitLoading = false
}).catch((error) => {
this.$message.error(error)
}).finally(() => {
this.submitLoading = false
})
})
@ -1529,6 +1529,7 @@ export default {
@againQuote="handleAgainQuote"
@editStatus="handleEditStatus"
:data-list="dataList"
:issue-loading="submitLoading"
:height="height">
</quote-table>

10
src/views/modules/quote/primary/quoteTable.vue

@ -22,6 +22,10 @@ export default {
isMenu:{
type:Boolean,
default:true
},
issueLoading:{
type:Boolean,
default:false
}
},
methods:{
@ -145,7 +149,11 @@ export default {
</template>
<template v-if="isAuth('5011:issued')">
<a type="text" v-if="row.status === '已完成'" @click="handleUpdateStatus(row,'草稿')">取消下达</a>
<a type="text" v-if="row.status === '草稿'" @click="handleEditStatus(row)">下达</a>
<el-link style="cursor: pointer" v-if="row.status === '草稿'"
:disabled="issueLoading"
@click="handleEditStatus(row)">
<i v-if="issueLoading" class="el-icon-loading"></i>下达
</el-link>
</template>
<template v-if="isAuth('5011:again')">
<a type="text" v-if="row.status !== '审批中'" @click="againQuote(row)">重新报价</a>

15
src/views/modules/sampleManagement/technicalSpecificationList.vue

@ -127,7 +127,11 @@
<el-link style="cursor: pointer" v-if="scope.row.status === 'cg'" @click="deleteData(scope.row)" >删除</el-link>
</template>
<template v-if="isAuth('103002:issue')">
<el-link style="cursor: pointer" v-if="scope.row.status === 'cg'" @click="issueModal(scope.row)">下达</el-link>
<el-link style="cursor: pointer" v-if="scope.row.status === 'cg'"
:disabled="!!issueLoadingSet[scope.row.codeNo]"
@click="issueModal(scope.row)">
<i v-if="issueLoadingSet[scope.row.codeNo]" class="el-icon-loading"></i>下达
</el-link>
</template>
<el-dropdown trigger="click">
<el-link style="cursor: pointer;font-size: 12px">
@ -630,6 +634,7 @@
pageSize2: 20,
totalPage2: 0,
dataListLoading: false,
issueLoadingSet: {},
currentRow:'',
exportList:[],
columnList1:[
@ -1138,20 +1143,18 @@
codeNo: row.codeNo,
menuId: this.$route.meta.menuId
}
this.dataListLoading = true
this.$set(this.issueLoadingSet, row.codeNo, true)
issueChange(tempData).then(({data}) => {
if (data && data.code === 0) {
this.search()
this.$message({message: '操作成功', type: 'success'})
this.dataListLoading = false
} else {
this.dataListLoading = false
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
}).catch(() => {
this.dataListLoading = false
}).finally(() => {
this.$set(this.issueLoadingSet, row.codeNo, false)
})
})
},

11
src/views/modules/test/requestForTest.vue

@ -168,8 +168,11 @@
@click="updateModal(scope.row)">编辑</a>
</template>
<template v-if="isAuth('107001:issued')">
<a type="text" size="small" style="cursor:pointer;" v-if="scope.row.testStatus === '草稿'"
@click="updateModalStatus(scope.row,'C')">下达</a>
<el-link style="cursor: pointer" v-if="scope.row.testStatus === '草稿'"
:disabled="!!issueLoadingSet[scope.row.testNo]"
@click="updateModalStatus(scope.row,'C')">
<i v-if="issueLoadingSet[scope.row.testNo]" class="el-icon-loading"></i>下达
</el-link>
</template>
<template v-if="isAuth('107001:detail')">
<a type="text" size="small" style="cursor:pointer;"
@ -2424,6 +2427,7 @@ export default {
rejectVisible: false,
rejectOpinion: "",
submitLoading: false,
issueLoadingSet: {},
partPageNo: 1,
partPageSize: 20,
partPageTotal: 0,
@ -3791,6 +3795,7 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$set(this.issueLoadingSet, row.testNo, true)
let params = JSON.parse(JSON.stringify(row))
params.testResultStatus = status
params.testStatus = '下达'
@ -3805,6 +3810,8 @@ export default {
confirmButtonText: '确定'
})
}
}).finally(() => {
this.$set(this.issueLoadingSet, row.testNo, false)
})
})
},

12
src/views/modules/tooling/searchToolApply.vue

@ -90,7 +90,11 @@
label="操作">
<template slot-scope="scope">
<template v-if="isAuth('106002:issued')">
<a type="text" size="small" v-if="scope.row.status==='草稿'" @click="comfirmApply(scope.row)">下达</a>
<el-link style="cursor: pointer" v-if="scope.row.status==='草稿'"
:disabled="!!issueLoadingSet[scope.row.applyNo]"
@click="comfirmApply(scope.row)">
<i v-if="issueLoadingSet[scope.row.applyNo]" class="el-icon-loading"></i>下达
</el-link>
</template>
<template v-if="isAuth('106002:update')">
<a type="text" size="small" v-if="scope.row.status==='草稿'" @click="editModalU(scope.row)">修改</a>
@ -2076,6 +2080,7 @@ export default {
approvalList: [],
rejectOpinion: '',
submitLoading: false,
issueLoadingSet: {},
submitModalFlag: false,
processField: '',
sp: this.$store.state.user.name,
@ -2616,6 +2621,7 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$set(this.issueLoadingSet, row.applyNo, true)
let tempData = {
site: row.site,
userName: this.$store.state.user.name,
@ -2625,8 +2631,6 @@ export default {
comfirmProjectToolApply(tempData).then(({data}) => {
if (data && data.code === 0) {
this.search()
// row.statusCode = '10'
// row.status = ''
this.$message({
message: '操作成功',
type: 'success',
@ -2639,6 +2643,8 @@ export default {
confirmButtonText: '确定'
})
}
}).finally(() => {
this.$set(this.issueLoadingSet, row.applyNo, false)
})
})
},

Loading…
Cancel
Save