From ae2c3f847da927b6124e872d8d74c0457a1eea14 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 17 九月 2025 15:27:00 +0800
Subject: [PATCH] 现场编制功能适配

---
 src/views/flow/components/TodolistLeft.vue |   76 ++++++++++++++++++++++++-------------
 1 files changed, 49 insertions(+), 27 deletions(-)

diff --git a/src/views/flow/components/TodolistLeft.vue b/src/views/flow/components/TodolistLeft.vue
index 38ef9eb..227abca 100644
--- a/src/views/flow/components/TodolistLeft.vue
+++ b/src/views/flow/components/TodolistLeft.vue
@@ -6,17 +6,22 @@
 -->
 <template>
     <basic-container>
-        <!--'cureProgramTask', 鍥哄寲缂栧埗涓嶈兘娣诲姞鏂囦欢-->
-        <div class="tool" v-show="['programmingTask', 'repalceProgrammingTask','appendProgrammingTask'].includes(row.taskDefinitionKey)">
-            <el-button type="primary" plain @click="addApp">娣诲姞鏂囦欢
+        <!--'cureProgramTask', 鍥哄寲缂栧埗鑳芥坊鍔犳枃浠�0916-->
+        <div class="tool" v-show="['programmingTask','cureProgramTask', 'replaceProgrammingTask','appendProgrammingTask'].includes(row.taskDefinitionKey)">
+           
+            <!--鏃犲浐鍖栫殑鎯呭喌鎵嶆樉绀鸿寮�鍏�-->
+            <el-switch v-if="row.variables.hasCuredProgram!=='Y'" v-model="programOnMachine" active-text="鐜板満缂栧埗" inactive-text="宸ヨ壓鍛樼紪鍒�" />
+            &nbsp;
+            <el-button type="primary" :disabled="programOnMachine" plain @click="addApp">娣诲姞鏂囦欢
             </el-button>
         </div>
-         <el-text type="danger" v-if="row.variables.curedLocked === 'Y'">鍥哄寲绋嬪簭宸查攣瀹氾紝璇疯皑鎱庝娇鐢ㄣ�傞攣瀹氬師鍥狅細{{ remark }}</el-text>
-         <el-text type="danger" v-if="row.processDefinitionKey === 'program-unlock'">绋嬪簭宸查攣瀹氾紝閿佸畾鍘熷洜锛歿{ remark }}</el-text>
+         <el-text type="danger" v-if="row.variables.curedLocked === 'Y'">鍥哄寲绋嬪簭宸查攣瀹氾紝璇疯皑鎱庝娇鐢ㄣ�傞攣瀹氬師鍥狅細{{ remark }}<br/></el-text>
+         <el-text type="danger" v-if="row.processDefinitionKey === 'program-unlock'">绋嬪簭宸查攣瀹氾紝閿佸畾鍘熷洜锛歿{ remark }}<br/></el-text>
+         <el-text type="primary" v-if="row.processDefinitionKey === 'program-unlock'"><br/>瑙i攣鍘熷洜锛�</el-text>
+         <el-text type="warning">{{row.variables.unlockReason}}</el-text>
          <el-text type="danger" v-if="row.variables.hasCuredProgram==='Y' && row.variables.isProcessEditionSame=='N' && row.variables.cureProgramUseable==undefined">宸插浐鍖栫▼搴忓伐搴忕増娆′笉涓�鑷达紝娲惧伐鐗堟:{{row.variables.processEdition}},宸插浐鍖栫増娆★細{{row.variables.curedProcessEdition}}</el-text>
-        <el-table :data="tableData" border @row-click="showContent" max-height="200" highlight-current-row>
-            <!-- <el-table-column prop="machineCode" label="鍔犲伐鏈哄簥">
-            </el-table-column> -->
+         <el-text type="danger" v-if="row.variables.programOnMachine=='Y'">鐜板満缂栧埗</el-text>
+        <el-table :data="tableData" border @row-click="showContent" :row-style="{height:'20px'}" :cell-style="{padding:'0px'}" max-height="380" highlight-current-row>
            
             <el-table-column type="index" label="#" width="40" align="center" />
             <el-table-column prop="name" label="绋嬪簭鍚嶇О">
@@ -24,9 +29,17 @@
                     <div style="display: flex;align-items: center;">
                         <span style="margin-right: 8px;">{{ row.name }}</span>
                         <el-icon v-if="row.fileType === 'other'">
+                            <el-tooltip class="box-item" effect="light" content="鍏朵粬鏂囦欢"  placement="right">
                             <FolderOpened />
+                            </el-tooltip>
                         </el-icon>
-                        <img v-else src="./app.jpg" alt="" width="16" height="16">
+                        <el-icon v-if="row.fileType === 'program'">
+                            <el-tooltip class="box-item" effect="light" content="绋嬪簭鏂囦欢"  placement="right">
+                                <Tickets/>
+                            </el-tooltip>
+                        </el-icon>
+                        
+                        <!--<img v-else src="./app.jpg" alt="" width="16" height="16">-->
                     </div>
                 </template>
             </el-table-column>
@@ -34,7 +47,7 @@
                 <template #default="scope">
                     <!--'cureProgramTask', 鍥哄寲缂栧埗锛屼笉鑳藉垹闄ゅ拰涓婁紶-->
                     <a style="color: blue;margin-right: 4px;cursor: pointer;font-size: 12px;"
-                        v-show="['programmingTask', 'repalceProgrammingTask','appendProgrammingTask'].includes(row.taskDefinitionKey)"
+                        v-show="['programmingTask', 'replaceProgrammingTask','appendProgrammingTask'].includes(row.taskDefinitionKey)"
                         type="text" size="small" @click.stop="del(scope.$index, scope.row)">鍒犻櫎</a>
                     <a style="color: blue;cursor: pointer;font-size: 12px;margin-right: 4px;" type="text" size="small"
                         @click.stop="downloadFile(scope.$index, scope.row)">涓嬭浇</a>
@@ -66,7 +79,7 @@
             </el-collapse-item>
         </el-collapse>
         -->
-        <h4>绋嬪簭鍐呭</h4>
+        <h5>绋嬪簭鍐呭</h5>
         <div v-html="appContent" class="app-content">
         </div>
         <el-dialog title="绋嬪簭閫夋嫨" v-model="appDialog" width="400" v-if="appDialog">
@@ -84,7 +97,7 @@
 </template>
 
 <script>
-import { getAppList,getFileData, getSelectedAppList, getContent, removeAtt,queryLockRemark } from '@/api/flow/todolist';
+import { getFileData, getSelectedAppList, getContent, removeAtt,queryLockRemark } from '@/api/flow/todolist';
 import { exportBlob } from '@/api/common';
 import { getToken } from '@/utils/auth';
 import NProgress from 'nprogress';
@@ -109,8 +122,9 @@
             content1: '',
             content2: '',
             codeDiffFileName1: '鍥炰紶鐗堟湰',
-            codeDiffFileName2: '璇曞垏鐗堟湰',
+            codeDiffFileName2: '涓嬪彂鐗堟湰',
             showContentId: '',
+            programOnMachine:false,//鏄惁鐜板満缂栧埗
             attForm: {
                 att: '',
                 fileType: 'program'
@@ -217,13 +231,15 @@
             if(!nodeId){
                 nodeId = this.row.variables.curedNodeId;
             }
-            queryLockRemark(nodeId).then(res => {
-                if (res.data.code == 200) {
-                    this.remark = res.data.data || '';
-                } else {
-                    this.remark = '';
-                }
-            })
+            if(nodeId){
+                queryLockRemark(nodeId).then(res => {
+                    if (res.data.code == 200) {
+                        this.remark = res.data.data || '';
+                    } else {
+                        this.remark = '';
+                    }
+                });
+            }
         },
         diffFile(index, row) {
             console.log(row)
@@ -264,10 +280,21 @@
                     this.$message.error('鑾峰彇宸查�夌▼搴忓け璐�');
                     return;
                 } else {
-                    this.tableData = res.data.data || [];
+                    this.tableData = this.sortTable(res.data.data || []);
                 }
                 // this.$emit('selection-change',this.tableData)
             })
+        },
+        sortTable(data) {
+           data.sort(function(a,b){
+                if(a.program === b.program){//濡傛灉program鐩稿悓锛屾寜鐓ame鐨勯檷搴�
+                    //return a.name - b.name
+                    return a.name.localeCompare(b.name)
+                }else{
+                    return b.program - a.program
+                }
+            });
+            return data;
         },
         addApp() {
             this.appDialog = true;
@@ -282,12 +309,6 @@
             this.selectionList = list;
         },
         onLoad(page, params = {}) {
-            const query = {}
-            getAppList(page.currentPage, page.pageSize, Object.assign(query, params)).then(res => {
-                const data = res.data.data;
-                this.page.total = data.total;
-                this.appData = data.records;
-            });
         },
         add() {
             console.log('add')
@@ -344,6 +365,7 @@
 
 <style lang="scss" scoped>
 .tool {
+    margin-top:0px;
     text-align: right;
     margin-bottom: 10px;
 }

--
Gitblit v1.9.3