Browse Source

feat(quality): 添加操作人信息并注释索赔相关字段

- 在质量问单列表页面新增 getCurrentOperator 方法获取当前用户站点和用户名
- 在新增、修改、删除操作中统一传入 createBy 和 updateBy 操作人信息
- 解决 deleteQualityIssue 函数名冲突问题,重命名为 deleteQualityIssueApi
- 注释掉质量问单详情页面中的索赔录入人和录入时间字段
- 在 PO 列表页面保存时传入当前用户名作为操作人信息
- 完善操作人信息缺失时的错误提示机制
master
qiankanghui 4 weeks ago
parent
commit
1b3c198799
  1. 24
      src/views/modules/quality/com_qualityIssueDetail.vue
  2. 8
      src/views/modules/quality/com_qualityIssuePoList.vue
  3. 45
      src/views/modules/quality/qualityIssueList.vue

24
src/views/modules/quality/com_qualityIssueDetail.vue

@ -236,18 +236,18 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="录入人(索赔)">
<el-input v-model="detailData.entryByClaim" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="录入时间(索赔)">
<el-input v-model="detailData.entryDateClaim" disabled />
</el-form-item>
</el-col>
</el-row>
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="6">-->
<!-- <el-form-item label="录入人(索赔)">-->
<!-- <el-input v-model="detailData.entryByClaim" disabled />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<!-- <el-form-item label="录入时间(索赔)">-->
<!-- <el-input v-model="detailData.entryDateClaim" disabled />-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
</div> </div>
<el-row :gutter="20" class="reduce-margin-top"> <el-row :gutter="20" class="reduce-margin-top">

8
src/views/modules/quality/com_qualityIssuePoList.vue

@ -369,6 +369,13 @@ export default {
return return
} }
// 当前登录用户名,作为操作人传给后端
const userName = this.$store.state.user.name
if (!userName) {
this.$message.error('未获取到当前用户名,请重新登录后再保存')
return
}
const poList = this.selectedPoRows.map(row => ({ const poList = this.selectedPoRows.map(row => ({
poNo: row.poNo, poNo: row.poNo,
itemNo: row.itemNo, itemNo: row.itemNo,
@ -379,6 +386,7 @@ export default {
const params = { const params = {
site: this.site, site: this.site,
issueNo: this.issueNo, issueNo: this.issueNo,
createBy: userName,
poList: poList poList: poList
} }

45
src/views/modules/quality/qualityIssueList.vue

@ -698,7 +698,7 @@
</template> </template>
<script> <script>
import { queryQualityIssuePage, saveQualityIssue,deleteQualityIssue,updateQualityIssue, saveReply, saveClaim, closeQualityIssue } from '@/api/quality/qualityIssue.js'
import { queryQualityIssuePage, saveQualityIssue, deleteQualityIssue as deleteQualityIssueApi, updateQualityIssue, saveReply, saveClaim, closeQualityIssue } from '@/api/quality/qualityIssue.js'
import Chooselist from '@/views/modules/common/Chooselist_eam' import Chooselist from '@/views/modules/common/Chooselist_eam'
import ComQualityIssueDetail from './com_qualityIssueDetail.vue' import ComQualityIssueDetail from './com_qualityIssueDetail.vue'
import ComQualityIssueAttachment from './com_qualityIssueAttachment.vue' import ComQualityIssueAttachment from './com_qualityIssueAttachment.vue'
@ -1042,6 +1042,17 @@ export default {
}) })
}, },
methods: { methods: {
// 获取当前页面的 site 与当前登录用户名,新增/删除/修改统一由前端传给后端
getCurrentOperator (actionText) {
const site = this.$store.state.user.site
const userName = this.$store.state.user.name
if (!site || !userName) {
this.$message.error('未获取到当前用户的站点或用户名,请重新登录后再' + actionText)
return null
}
return { site: site, userName: userName }
},
// 获取基础数据列表 // 获取基础数据列表
getBaseList (val, type) { getBaseList (val, type) {
this.tagNo = val this.tagNo = val
@ -1327,6 +1338,12 @@ export default {
handleSaveAdd () { handleSaveAdd () {
this.$refs.addFormData.validate((valid) => { this.$refs.addFormData.validate((valid) => {
if (valid) { if (valid) {
// 当前页面的 site 与当前用户名
const operator = this.getCurrentOperator('新增')
if (!operator) {
return
}
// 构建提交数据 // 构建提交数据
const submitData = { const submitData = {
issueDate: this.addFormData.issueDate, issueDate: this.addFormData.issueDate,
@ -1352,7 +1369,9 @@ export default {
mode2: this.addFormData.mode2, mode2: this.addFormData.mode2,
mode3: this.addFormData.mode3, mode3: this.addFormData.mode3,
status: this.addFormData.status, status: this.addFormData.status,
site: this.$store.state.user.site
site: operator.site,
createBy: operator.userName,
updateBy: operator.userName
} }
console.log('提交数据:', submitData) console.log('提交数据:', submitData)
@ -1381,9 +1400,16 @@ export default {
handleSaveEdit () { handleSaveEdit () {
this.$refs.editFormData.validate((valid) => { this.$refs.editFormData.validate((valid) => {
if (valid) { if (valid) {
// 当前页面的 site 与当前用户名
const operator = this.getCurrentOperator('修改')
if (!operator) {
return
}
// 构建提交数据 // 构建提交数据
const submitData = { const submitData = {
site: this.editFormData.site,
site: operator.site,
updateBy: operator.userName,
issueNo: this.editFormData.issueNo, issueNo: this.editFormData.issueNo,
issueDate: this.editFormData.issueDate, issueDate: this.editFormData.issueDate,
requireReplyDate: this.editFormData.requireReplyDate, requireReplyDate: this.editFormData.requireReplyDate,
@ -1475,6 +1501,12 @@ export default {
type: 'warning', type: 'warning',
dangerouslyUseHTMLString: true dangerouslyUseHTMLString: true
}).then(() => { }).then(() => {
// 当前页面的 site 与当前用户名
const operator = this.getCurrentOperator('删除')
if (!operator) {
return
}
// 显示加载中 // 显示加载中
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
@ -1484,12 +1516,13 @@ export default {
}); });
// 构建删除参数 // 构建删除参数
const deleteParams = { const deleteParams = {
site: row.site || this.$store.state.user.site,
issueNo: row.issueNo
site: operator.site,
issueNo: row.issueNo,
updateBy: operator.userName
}; };
console.log('删除参数:', deleteParams); console.log('删除参数:', deleteParams);
// 调用删除接口 // 调用删除接口
deleteQualityIssue(deleteParams).then(({ data }) => {
deleteQualityIssueApi(deleteParams).then(({ data }) => {
loading.close(); loading.close();
if (data.code === 0) { if (data.code === 0) {

Loading…
Cancel
Save