gaoshp
2025-08-02 b97726424bdbac7284c233d6afb994306b80eea2
update
已修改4个文件
113 ■■■■ 文件已修改
src/api/flow/todolist.js 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/flow/components/TodolistLeft.vue 77 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/flow/todolist.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/flowmgr/taskassign.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/flow/todolist.js
@@ -1,7 +1,7 @@
/*
 * @Date: 2025-06-12 22:38:05
 * @LastEditors: gaoshp
 * @LastEditTime: 2025-07-08 23:52:49
 * @LastEditTime: 2025-08-02 13:51:54
 * @FilePath: /mdmweb/src/api/flow/todolist.js
 */
import request from '@/axios';
@@ -43,16 +43,25 @@
}
export const getSelectedAppList = processInstanceId => {
  return request({
    url: '/blade-mdm/program/ncfile/list-by-process',
    url: '/blade-mdm/flow/mgr/nclist-by-instanceid',
    method: 'get',
    params: {
      processInstanceId
    },
  })
}
export const removeAtt = (id, processInstanceId) => {
  return request({
    url: '/blade-mdm/flow/mgr/remove',
    method: 'post',
    params: {
      id
    },
  })
}
export const getContent = id => {
  return request({
    url: '/blade-mdm/program/ncfile/content',
    url: '/blade-mdm/flow/mgr/nc-content',
    method: 'get',
    params: {
      id
src/views/flow/components/TodolistLeft.vue
@@ -1,17 +1,19 @@
<!--
 * @Date: 2025-07-01 20:45:15
 * @LastEditors: gaoshp
 * @LastEditTime: 2025-07-08 20:03:15
 * @LastEditTime: 2025-08-02 13:57:52
 * @FilePath: /mdmweb/src/views/flow/components/TodolistLeft.vue
-->
<template>
    <basic-container>
        <div class="tool" v-show="row.taskDefinitionKey === 'programmingTask'">
            <el-button type="primary" @click="addApp">添加程序</el-button>
            <avue-form :option="attOption"
             v-model="attForm"
             :upload-after="uploadAfter"></avue-form>
        </div>
        <el-table :data="tableData" border @row-click="showContent" max-height="200">
            <el-table-column prop="machineCode" label="加工机床">
            </el-table-column>
            <!-- <el-table-column prop="machineCode" label="加工机床">
            </el-table-column> -->
            <el-table-column prop="name" label="程序名称">
            </el-table-column>
            <el-table-column fixed="right" label="操作" width="100">
@@ -39,7 +41,7 @@
</template>
<script>
import { getAppList,getSelectedAppList,getContent } from '@/api/flow/todolist';
import { getAppList,getSelectedAppList,getContent,removeAtt} from '@/api/flow/todolist';
export default {
    props: {
        row: {
@@ -48,6 +50,26 @@
    },
    data() {
        return {
            attForm: {
                att: '',
            }, //程序上传表单
            attOption: {
                submitBtn: false,
                emptyBtn: false,
                column: [
                    {
                        label: '添加程序',
                        prop: 'att',
                        type: 'upload',
                        multiple: true,
                        action: '/api/blade-mdm/flow/mgr/ncupload',
                        span: 24,
                        data: {
                            processInstanceId: this.row.processInstanceId
                        },
                    }
                ]
            }, //程序上传
            tableData: [],//已选程序
            appContent: '',//程序内容
            appDialog: false,
@@ -94,19 +116,33 @@
        }
    },
    mounted() {
        console.log(this.row,'row')
        getSelectedAppList(this.row.processInstanceId).then(res => {
            if (res.data.code !== 200) {
                this.$message.error('获取已选程序失败');
                return;
            } else {
                this.tableData = res.data.data || [];
            }
            this.$emit('selection-change',this.tableData)
        })
        this.getAttList();
        this.onLoad(this.page);
    },
    methods: {
        uploadAfter(res, done, loading, column) {
            if (res.code === 200) {
                this.getAttList();
                this.$message.success('上传成功');
                this.attForm.att = '';
                return done();
            } else {
                console.log(res)
                this.$message.warning(res.msg || '上传失败');
                done()
            }
        },
        getAttList () {
            getSelectedAppList(this.row.processInstanceId).then(res => {
                if (res.data.code !== 200) {
                    this.$message.error('获取已选程序失败');
                    return;
                } else {
                    this.tableData = res.data.data || [];
                }
                // this.$emit('selection-change',this.tableData)
            })
        },
        addApp() {
            this.appDialog = true;
        },
@@ -145,8 +181,14 @@
            })
        },
        del (index,row) {
            this.tableData = this.tableData.filter(item => item.id !== row.id);
            this.$emit('selection-change',this.tableData)
            removeAtt(row.id).then(res => {
                if(res.data.code === 200) {
                    this.$message.success('删除成功');
                    this.getAttList();
                } else {
                    this.$message.error('删除失败');
                }
            })
        }
    },
}
@@ -167,5 +209,6 @@
    min-height: 100px;
    overflow: auto;
    max-height: 400px;
    white-space: pre-wrap;
}
</style>
src/views/flow/todolist.vue
@@ -339,16 +339,16 @@
        },
        handleSubmit(form, done) {
            if(this.row.taskDefinitionKey === 'programmingTask') {
                if(this.applist.length !== 1) {
                    done();
                    return this.$message.success('请选择1个程序');
                }
                // if(this.applist.length !== 1) {
                //     done();
                //     return this.$message.success('请选择1个程序');
                // }
            }
            approve({
                ...this.formApprove,
                taskId: this.row.taskId,
                processInstanceId: this.row.processInstanceId,
                programIds: this.row.taskDefinitionKey === 'programmingTask' ? this.applist.map(v => v.id).join(',') : '',
                // programIds: this.row.taskDefinitionKey === 'programmingTask' ? this.applist.map(v => v.id).join(',') : '',
            }).then(res => {
                this.$message.success('审批成功');
                this.approveBox = false;
src/views/flowmgr/taskassign.vue
@@ -1,8 +1,8 @@
<!--
 * @Author: 李喆(开发组) lzhe@yxqiche.com
 * @Date: 2025-05-28 12:03:55
 * @LastEditors: 李喆(开发组) lzhe@yxqiche.com
 * @LastEditTime: 2025-08-01 10:45:48
 * @LastEditors: gaoshp
 * @LastEditTime: 2025-08-02 13:07:00
 * @FilePath: /mdmweb/src/views/flowmgr/taskassign.vue
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
@@ -58,7 +58,11 @@
            prop: 'processNo',
            type: 'input',
            span: 12,
            dataType: 'string',
            type: 'number',
            step: 1,
            precision: 0,
            dataType: 'number',
            maxlength: 3,
          },
          {
            label: '工序名称',
@@ -66,6 +70,7 @@
            type: 'input',
            span: 12,
            dataType: 'string',
            maxlength: 2,
          },
          {
            label: '工序版次',