yangys
2025-09-13 b2cdc1af33e73ea1fdf6303d6548712634b28aa4
src/views/flow/todolist.vue
@@ -23,10 +23,11 @@
        <el-dialog title=" " append-to-body v-model="reassignBox" width="30%">
            <avue-form ref="reassginform" :option="reassignOption" v-model="reassignForm" @submit="toPerson"></avue-form>
        </el-dialog>
        <el-drawer title="审批" append-to-body v-model="approveBox" size="100%" v-if="approveBox">
        <div  class="box-drawer">
        <el-drawer title="审批" append-to-body v-model="approveBox" size="100%" v-if="approveBox" class="remark-drawer">
            <div class="approve-box">
                <div class="left">
                    <TodolistLeft :row="row" @selection-change="selectionChange" />
                    <TodolistLeft ref="todolistLeft" :row="row" @selection-change="selectionChange" />
                </div>
                <div class="right">
                    <TodolistRightTop :row="row" />
@@ -48,6 +49,7 @@
                </div>
            </div>
        </el-drawer>
        </div>
    </basic-container>
</template>
<script>
@@ -97,24 +99,7 @@
                            { label: '驳回', value: 'N' },
                        ],
                        rules: [{ required: true, message: '请选择审批结果', trigger: 'blur' }],
                    },/*
                    {
                        label: '发送给',
                        prop: 'assignee',
                        type: 'select',
                        props: {
                            label: 'name',
                            value: 'id',
                        },
                        display: true,
                        filterable: true,
                        span: 24,
                        disabled: false,
                        dicData: [
                        ],
                    },*/
                    },
                    {
                        label: '发送给',
                        prop: 'assignee',
@@ -137,7 +122,6 @@
                        span: 24,
                        prop: 'comment',
                        type: 'textarea',
                        // rules: [{ required: true, message: '请输入审批意见', trigger: 'blur' }],
                        rules: [
                            {
                            validator: (rule, value, callback) => {
@@ -519,7 +503,7 @@
                this.optionApprove.column[1].disabled = false;
                if (["check", 'cureCheckTask','repalceCheckTask','appendCheckTask'].includes(row.taskDefinitionKey)) {// 校对节点
                    this.formApprove.assignee = row.variables.senior;
                } else if (["programmingTask",'cureProgramTask','repalceProgrammingTask','appendProgrammingTask'].includes(row.taskDefinitionKey)) {// 编制节点
                } else if (["programmingTask",'cureProgramTask','replaceProgrammingTask','appendProgrammingTask'].includes(row.taskDefinitionKey)) {// 编制节点
                    this.formApprove.assignee = row.variables.checker;
                } else if (row.taskDefinitionKey == "teamLeaderTask") {// 任务派工(组长)
                    this.optionApprove.column[1].disabled = false;
@@ -538,10 +522,16 @@
                //根据在线文档34行,'发送给'是禁用,但有默认选项
                this.optionApprove.column[1].disabled = true;
                if (["approveTask", 'seniorApproveTask','replaceApprove','unlockApproveTask','appendApproveTask'].includes(row.taskDefinitionKey)) {
                if (["approveTask", 'seniorApproveTask','replaceApprove','appendApproveTask'].includes(row.taskDefinitionKey)) {
                    //审批节点,不通过给编制:编制是责任人,给实际编程员
                    //this.formApprove.assignee = row.variables.programmer;
                    this.formApprove.assignee = row.variables.actProgrammer;//给实际编程员
                    if(row.variables.actProgrammer){
                        this.formApprove.assignee = row.variables.actProgrammer;//给实际编程员
                    }else{
                        this.formApprove.assignee = row.variables.programmer;//无编程员给主管工艺
                    }
                }else if(['unlockApproveTask'].includes(row.taskDefinitionKey)){
                    //解锁高师审批节点,上一步是编程
                    this.formApprove.assignee = row.variables.programmer;//给主管工艺
                } else if(["check", 'cureCheckTask','repalceCheckTask','appendCheckTask'].includes(row.taskDefinitionKey)){
                    //校对节点,上一步是编程
                    //this.formApprove.assignee = row.variables.programmer;
@@ -560,7 +550,7 @@
                }else if(["confirmIsUseableTask"].includes(row.taskDefinitionKey)) {
                    //判断是否可用节点,不可用,给编制
                    this.formApprove.assignee = row.variables.programmer;
                }if(['teamLeaderTask','repalceProgrammingTask','unlockProgramConfirm'].includes(row.taskDefinitionKey)){
                }if(['teamLeaderTask','replaceProgrammingTask','unlockProgramConfirm'].includes(row.taskDefinitionKey)){
                    //初始节点不通过就是结束流程,处理人为空
                    this.formApprove.assignee = '';
                }
@@ -781,17 +771,20 @@
            //console.log('handleAction', row, index);
        },
        handleSubmit(form, done) {
            if(this.row.taskDefinitionKey === 'programmingTask') {
                // if(this.applist.length !== 1) {
                //     done();
                //     return this.$message.success('请选择1个程序');
                // }
            //this.$alert(this.$refs.todolistLeft.programOnMachine)
            //done();
            //return;
            let programOnMachine = 'N'
            if(this.row.taskDefinitionKey==='programmingTask'){
                programOnMachine = this.$refs.todolistLeft.programOnMachine?'Y':'N';
            }
            approve({
                ...this.formApprove,
                taskId: this.row.taskId,
                processInstanceId: this.row.processInstanceId,
                // programIds: this.row.taskDefinitionKey === 'programmingTask' ? this.applist.map(v => v.id).join(',') : '',
                programOnMachine: programOnMachine
            }).then(res => {
                if(res.data.code !== 200) {
                    this.$message.error(res.data.msg);
@@ -866,7 +859,15 @@
};
</script>
<style lang="scss">
.remark-drawer  {
    .el-drawer__header {
      margin-bottom: 0px !important;
    }
}
</style>
<style scoped="scoped" lang="scss">
.approve-box {
    display: flex;