| | |
| | | /* |
| | | * @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'; |
| | |
| | | } |
| | | 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 |
| | |
| | | <!-- |
| | | * @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"> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getAppList,getSelectedAppList,getContent } from '@/api/flow/todolist'; |
| | | import { getAppList,getSelectedAppList,getContent,removeAtt} from '@/api/flow/todolist'; |
| | | export default { |
| | | props: { |
| | | row: { |
| | |
| | | }, |
| | | 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, |
| | |
| | | } |
| | | }, |
| | | 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; |
| | | }, |
| | |
| | | }) |
| | | }, |
| | | 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('删除失败'); |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | } |
| | |
| | | min-height: 100px; |
| | | overflow: auto; |
| | | max-height: 400px; |
| | | white-space: pre-wrap; |
| | | } |
| | | </style> |
| | |
| | | }, |
| | | 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; |
| | |
| | | <!-- |
| | | * @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 |
| | | --> |
| | |
| | | prop: 'processNo', |
| | | type: 'input', |
| | | span: 12, |
| | | dataType: 'string', |
| | | type: 'number', |
| | | step: 1, |
| | | precision: 0, |
| | | dataType: 'number', |
| | | maxlength: 3, |
| | | }, |
| | | { |
| | | label: '工序名称', |
| | |
| | | type: 'input', |
| | | span: 12, |
| | | dataType: 'string', |
| | | maxlength: 2, |
| | | }, |
| | | { |
| | | label: '工序版次', |