举手免责修改

dev-scheduling
jinna 1 month ago
parent 29028620d8
commit cb841c3136
  1. 21
      src/views/exemption/components/addDialog.vue
  2. 31
      src/views/exemption/components/checkDialog.vue
  3. 43
      src/views/exemption/components/detailsDialog.vue

@ -13,6 +13,7 @@
:option="option"
v-model="formData"
:upload-after="uploadAfter"
:upload-preview="uploadPreview"
:upload-exceed="uploadExceed"
:upload-delete="uploadDelete"
>
@ -33,6 +34,7 @@
search-key="id"
:debounce-time="500"
@change="handleUserChange"
:title="'修改'"
/>
</template>
</avue-form>
@ -68,6 +70,7 @@ export default {
data() {
return {
attachLink:'',
attachName:'',
openShow: false,
formData: {},
option: {
@ -246,12 +249,22 @@ export default {
uploadDelete(file, column) {
console.log('uploadDelete', file, column);
this.attachLink = '';
this.attachName = ''
this.formData.fileUrl = ''
return true;
},
uploadExceed(limit, files, fileList, column) {
this.$message.error('最多只能上传一个文件');
},
uploadAfter(res, done, loading, column){
console.log('res----------------',res)
this.attachLink = res.link;
this.attachName = res.originalName;
done()
},
uploadPreview(file, column, done) {
return;
},
//
handleProcessUserChange(value) {
console.log('【工艺员变化】:', value);
@ -301,6 +314,7 @@ export default {
this.openShow = false;
this.formData = {};
this.attachLink = '';
this.attachName = ''
this.$emit('closeDialog');
},
@ -326,9 +340,11 @@ export default {
// URL
if (this.attachLink) {
params.fileUrl = this.attachLink;
params.fileName = this.attachName;
} else if (Array.isArray(params.fileUrl)) {
// fileUrl
params.fileUrl = params.fileUrl.map(item => item.link).join(',');
params.fileName = this.attachName;
}
//
@ -365,7 +381,7 @@ export default {
}
} catch (error) {
console.error('操作失败', error);
this.$message.error('操作失败,请稍后重试');
// this.$message.error('');
}
}
});
@ -376,6 +392,9 @@ export default {
<style lang="scss">
.exemption_dialog{
.el-dialog{
max-height: calc(100% - 80px) !important;
}
.el-dialog__body{
overflow: hidden !important;
}

@ -1,7 +1,7 @@
<template>
<el-dialog title="审核" append-to-body :modelValue="openShow" width="30%" @close="closeDialog">
<avue-form ref="form" :option="option" v-model="form">
<!-- <template #nextApprovalUser="{type,disabled}">
<!-- <template #nextUserId="{type,disabled}">
<el-select style="width:100%;"></el-select>
</template> -->
@ -48,6 +48,14 @@ export default {
{ label: '审批不通过', value: 0 },
],
rules: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
change: (val) => {
console.log('val---------',val)
if(val.value == 0){
this.option.column.find(item => item.prop == 'nextUserId').rules[0].required = false
}else{
this.option.column.find(item => item.prop == 'nextUserId').rules[0].required = true
}
},
},
{
label: '驳回原因',
@ -73,7 +81,7 @@ export default {
},
{
label:"下一节点审批人",
prop: 'nextApprovalUser',
prop: 'nextUserId',
span: 24,
type: 'select',
dicUrl:"",
@ -84,6 +92,10 @@ export default {
// res: 'data.records',
},
rules: [{ required: true, message: '请选择下一节点审批人', trigger: 'blur' }],
change:(row) =>{
console.log('val-----------',row)
this.form.nextUserName = row && row.item && row.item.realName
}
}
],
},
@ -92,13 +104,13 @@ export default {
mounted() {
this.openShow = this.showDialog;
if(this.rowItem.status == 1){
this.option.column.find(item => item.prop == 'nextApprovalUser').display = true
this.option.column.find(item => item.prop == 'nextApprovalUser').dicUrl = "/blade-system/user/list-all-by-role-alias?roleAlias=supplier_quality_engineer,quality_engineer"
this.option.column.find(item => item.prop == 'nextUserId').display = true
this.option.column.find(item => item.prop == 'nextUserId').dicUrl = "/blade-system/user/list-all-by-role-alias?roleAlias=supplier_quality_engineer,quality_engineer"
}else if(this.rowItem.status == 2){
this.option.column.find(item => item.prop == 'nextApprovalUser').display = true
this.option.column.find(item => item.prop == 'nextApprovalUser').dicUrl = "/blade-system/user/list-all-by-role-alias?roleAlias=plant_manager,deputy_plant_manager"
this.option.column.find(item => item.prop == 'nextUserId').display = true
this.option.column.find(item => item.prop == 'nextUserId').dicUrl = "/blade-system/user/list-all-by-role-alias?roleAlias=plant_manager,deputy_plant_manager"
}else if(this.rowItem.status == 3){
this.option.column.find(item => item.prop == 'nextApprovalUser').display = false
this.option.column.find(item => item.prop == 'nextUserId').display = false
}
},
methods: {
@ -114,7 +126,10 @@ export default {
id: this.rowItem.id,
isSuccess: formData.isSuccess,
notes: formData.reason || '',
nextUserId:formData.nextUserId,
nextUserName:formData.nextUserName
};
console.log('params-----------',params)
reviewDataItem(params).then((res) => {
if (res.data.code == 200) {
this.$message.success('审核成功');
@ -125,7 +140,7 @@ export default {
}
}).catch(error => {
console.error('审核失败', error);
this.$message.error('审核失败');
// this.$message.error('');
});
}
})

@ -19,7 +19,10 @@
<el-descriptions-item label="原因">{{ detailData.reason || ' ' }}</el-descriptions-item>
<el-descriptions-item label="措施">{{ detailData.measure || ' ' }}</el-descriptions-item>
<el-descriptions-item label="免责理由">{{ detailData.raiseHandReason || ' ' }}</el-descriptions-item>
<el-descriptions-item label="免责金额">{{ detailData.amount || ' ' }}</el-descriptions-item>
<el-descriptions-item label="免责金额" :span="2">{{ detailData.amount || ' ' }}</el-descriptions-item>
<el-descriptions-item label="固化文件" :span="2">
<el-button text type="primary" @click="handleFileClick">{{detailData.fileName}}</el-button>
</el-descriptions-item>
</el-descriptions>
<el-steps :active="active" finish-status="success" class="center-steps" align-center>
@ -34,27 +37,30 @@
<el-step title="工艺员">
<template #description>
<div class="step-info">
<div>{{ getApprovalData(1, 'pointName') }}</div>
<div>{{ getApprovalData(1, 'createTime') }}</div>
<div class="reject-reason">{{ getApprovalData(1, 'rejectReason') || '' }}</div>
<div>{{ detailData.status == 1 ? getApprovalData(1, 'nextUserName') : getApprovalData(1, 'reviewUserName')}}</div>
<div>{{ getApprovalData(1, 'reviewTime') }}</div>
<!-- :class="getApprovalData(1, 'isSuccess') == 0 ? 'reject-reason' : 'access-reason'" -->
<div >{{ getApprovalData(1, 'notes') || '' }}</div>
</div>
</template>
</el-step>
<el-step title="质量工程师">
<template #description>
<div class="step-info">
<div>{{ getApprovalData(2, 'pointName') }}</div>
<div>{{ getApprovalData(2, 'createTime') }}</div>
<div class="reject-reason">{{ getApprovalData(2, 'rejectReason') || '' }}</div>
<div>{{ detailData.status == 2 ? getApprovalData(2, 'nextUserName') : getApprovalData(2, 'reviewUserName')}}</div>
<div>{{ getApprovalData(2, 'reviewTime') }}</div>
<!-- :class="getApprovalData(2, 'isSuccess') == 0 ? 'reject-reason' : 'access-reason'" -->
<div>{{ getApprovalData(2, 'notes') || '' }}</div>
</div>
</template>
</el-step>
<el-step title="业务主管">
<template #description>
<div class="step-info">
<div>{{ getApprovalData(3, 'pointName') }}</div>
<div>{{ getApprovalData(3, 'createTime') }}</div>
<div class="reject-reason">{{ getApprovalData(3, 'rejectReason') || '' }}</div>
<div>{{ detailData.status == 3 ? getApprovalData(3, 'nextUserName') : getApprovalData(3, 'reviewUserName')}}</div>
<div>{{ getApprovalData(3, 'reviewTime') }}</div>
<!-- :class="getApprovalData(3, 'isSuccess') == 0 ? 'reject-reason' : 'access-reason'" -->
<div>{{ getApprovalData(3, 'notes') || '' }}</div>
</div>
</template>
</el-step>
@ -72,6 +78,7 @@
// updateProcess,
// } from '../../api/flowManagement/index';
import { detailItem} from '@/api/exemption/exemption';
import { downloadFileBlob } from '@/utils/util';
export default {
props: {
showDialog: {
@ -113,7 +120,7 @@ export default {
mounted() {
this.openShow = this.showDialog;
this.loadDetail();
// this.loadDetail();
},
watch: {
rowItem: {
@ -127,10 +134,16 @@ export default {
},
},
methods: {
handleFileClick(){
downloadFileBlob(this.detailData.fileUrl, this.detailData.fileName);
},
//
getApprovalData(index, field) {
console.log('index----------',index,field)
const all = this.detailData.all || [];
const item = all[index];
console.log('all---------',all)
console.log('nextUserName------',index,field,item ? (item[field] || ' ') : ' ')
return item ? (item[field] || ' ') : ' ';
},
closeDialog() {
@ -147,12 +160,13 @@ export default {
if (res.data.code == 200) {
this.detailData = res.data.data;
console.log('deta-------------',this.detailData)
this.updateActiveStatus();
}
}).catch(error => {
console.error('获取详情失败', error);
this.$message.error('获取详情失败');
// this.$message.error('');
});
}
},
@ -211,4 +225,9 @@ export default {
margin-top: 4px;
font-size: 12px;
}
.access-reason{
color: #67c23a;
margin-top: 4px;
font-size: 12px;
}
</style>

Loading…
Cancel
Save