huanghongfeng
5 天以前 23cdbe08ee002d12c6d2a9034cc265fea0270a88
´úÂë¹ÜÀí/WCS/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js
@@ -1,6 +1,7 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
import gridBody from './extend/taskExecuteDetail.vue'
import http from '../../api/http'
let extension = {
    components: {
        //查询界面扩展组件
@@ -13,11 +14,127 @@
        modelFooter: ''
    },
    tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写)
    buttons: { view: [], box: [], detail: [] }, //扩展的按钮
    // buttons: { view: [], box: [], detail: [] }, //扩展的按钮
    buttons: {
        view: [
            //手动完成按钮
            {
                name: '手动完成',
                icon: 'el-icon-s-unfold',
                type: 'warning',
                value: 'SDWC',
                onClick: function (row) {
                    let rows = this.getSelectRows();
                    console.log('选中的数据行:', rows);
                    if (rows.length === 0 || rows.length > 1) {0
                        return this.$message.warning('请选择一条数据');
                    } else if (rows.length === 1) {
                        let selectRow = rows;
                        let Id = selectRow.map(item => item.taskId);
                        console.log('任务ID列表:', Id);
                        // éåŽ†çŠ¶æ€æ•°ç»„ï¼Œåˆ¤æ–­æ˜¯å¦æœ‰ä¸ç¬¦åˆæ¡ä»¶çš„çŠ¶æ€
                        //   for (let i = 0; i < statusList.length; i++) {
                        //     const status = statusList[i];
                        //     if (status === 2 || status === 3 || status === 4) {
                        //       this.$message.error('执行中任务无法取消');
                        //       return;
                        //     }
                        //   }
                        // æ˜¾ç¤ºç¡®è®¤æ¡†ï¼Œè®©ç”¨æˆ·ç¡®è®¤æ˜¯å¦æ‰§è¡Œæ“ä½œ
                        this.$confirm('确定要手动完成选中的' + selectRow.map(item => item.taskNum) + '任务号吗?', '操作确认', {
                            confirmButtonText: '确定',
                            cancelButtonText: '取消',
                            type: 'warning' // è­¦å‘Šç±»åž‹ï¼Œæ˜¾ç¤ºé»„色图标
                        }).then(() => {
                            // ç”¨æˆ·ç‚¹å‡»"确定"后执行的逻辑
                            http.post('api/Task/CompletedManually', Id).then(res => {
                                if (res && res.status) {
                                    this.$message.success(res.message || '手动完成任务成功!');
                                } else {
                                    this.$message.error(res.message || '手动完成任务失败!');
                                }
                            }).catch(() => {
                                this.$message.error('请求失败,请稍后重试');
                            });
                        }).catch(() => {
                            // ç”¨æˆ·ç‚¹å‡»"取消"后执行的逻辑(通常是提示取消操作)
                            this.$message.info('已取消手动完成任务');
                        });
                    }
                }
            },
            //取消任务按钮
            {
                name: '取消任务',
                icon: 'el-icon-s-unfold',
                type: 'danger',
                value: 'QXRW',
                onClick: function (row) {
                    let rows = this.getSelectRows();
                    console.log('选中的数据行:', rows);
                    if (rows.length === 0 || rows.length > 1) {
                        return this.$message.warning('请选择最少一条数据');
                    }
                    if (rows.length === 1) {
                        let selectRow = rows;
                        let Id = selectRow.map(item => item.taskId);
                        console.log('任务ID列表:', Id);
                        // æ˜¾ç¤ºç¡®è®¤æ¡†ï¼Œè®©ç”¨æˆ·ç¡®è®¤æ˜¯å¦æ‰§è¡Œæ“ä½œ
                        this.$confirm('确定要手动取消选中的' + selectRow.map(item => item.taskNum) + '任务号吗?', '操作确认', {
                            confirmButtonText: '确定',
                            cancelButtonText: '取消',
                            type: 'warning' // è­¦å‘Šç±»åž‹ï¼Œæ˜¾ç¤ºé»„色图标
                        }).then(() => {
                            // ç”¨æˆ·ç‚¹å‡»"确定"后执行的逻辑
                            http.post('api/Task/MHWCSTaskCancel', Id
                            ).then(res => {
                                if (res && res.status) {
                                    this.$message.success(res.message || '取消任务成功!');
                                } else {
                                    this.$message.error(res.message || '取消任务失败!');
                                }
                            })
                                .catch(() => {
                                    this.$message.error('请求失败,请稍后重试');
                                });
                        }).catch(() => {
                            // ç”¨æˆ·ç‚¹å‡»"取消"后执行的逻辑(通常是提示取消操作)
                            this.$message.info('已取消手动取消任务');
                        });
                    }
                }
            }
        ], box: [], detail: []
    }, //扩展的按钮
    methods: {
        //下面这些方法可以保留也可以删除
        onInit() {
            // this.$Notice.success({ title: this.detailOptions.cnName + ',查询结果', desc: '返回的对象:' + JSON.stringify(data) });
            // var TaskCompletedButton = this.buttons.find((x) => x.value == "TaskCompleted");
            // if (TaskCompletedButton != null) {
            //     click: (row) => {
            //         let rows = this.$refs.gridBody.open(row);
            //         // let rows = this.getSelectRows();
            //         console.log('选中的数据行:', rows);
            //     }
            // }
            var previousButton = this.buttons.find((x) => x.value == "Previous");
            if (previousButton) previousButton.hidden = true;
@@ -42,6 +159,8 @@
                    this.$refs.gridBody.open(row);
                }
            });
            this.maxBtnLength = 11;
            //this.boxOptions.labelWidth = 10000;
        },
        onInited() {
            //框架初始化配置后