From d7eb1d1e959559e3a77ed825a6b73dc79dbb008a Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 15 九月 2025 01:19:26 +0800
Subject: [PATCH] 替换上传文件不显示bug
---
src/views/wel/components/ReplaceLeft.vue | 35 ++++++++++-
src/views/wel/components/ReplaceRightTop.vue | 0
src/views/wel/shemi.vue | 119 +++++++++++++++++++--------------------
src/views/wel/todolist.vue | 12 ++--
4 files changed, 96 insertions(+), 70 deletions(-)
diff --git a/src/views/wel/components/TodolistLeft.vue b/src/views/wel/components/ReplaceLeft.vue
similarity index 82%
rename from src/views/wel/components/TodolistLeft.vue
rename to src/views/wel/components/ReplaceLeft.vue
index 84d2316..ff53a4f 100644
--- a/src/views/wel/components/TodolistLeft.vue
+++ b/src/views/wel/components/ReplaceLeft.vue
@@ -2,16 +2,33 @@
* @Date: 2025-07-01 20:45:15
* @LastEditors: 鏉庡枂(寮�鍙戠粍) lzhe@yxqiche.com
* @LastEditTime: 2025-08-11 10:35:59
- * @FilePath: /mdmweb/src/views/flow/components/TodolistLeft.vue
+ * @FilePath: /mdmweb/src/views/flow/components/ReplaceLeft.vue
-->
<template>
<basic-container>
<div class="tool">
<el-button type="primary" plain @click="addApp">娣诲姞鏂囦欢</el-button>
</div>
- <el-table :data="tableData" border @row-click="showContent" max-height="200">
+ <el-table :data="tableData" :row-style="{height:'20px'}" :cell-style="{padding:'0px'}" border @row-click="showContent" max-height="380" highlight-current-row>
<el-table-column type="index" label="#" width="40" align="center"/>
<el-table-column prop="name" label="绋嬪簭鍚嶇О">
+ <template #default="{ row }">
+ <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>
+ <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>
<el-table-column fixed="right" label="鎿嶄綔" width="60" align="center">
<template #default="scope" >
@@ -127,6 +144,7 @@
}
},
mounted() {
+
this.getAttList();
this.onLoad(this.page);
},
@@ -165,11 +183,22 @@
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;
},
diff --git a/src/views/wel/components/TodolistRightTop.vue b/src/views/wel/components/ReplaceRightTop.vue
similarity index 100%
rename from src/views/wel/components/TodolistRightTop.vue
rename to src/views/wel/components/ReplaceRightTop.vue
diff --git a/src/views/wel/shemi.vue b/src/views/wel/shemi.vue
index fdd59b0..fc180ea 100644
--- a/src/views/wel/shemi.vue
+++ b/src/views/wel/shemi.vue
@@ -43,6 +43,7 @@
<template #name="{ row }">
<span>{{ row.name }}</span>
+ <el-tag v-if="row.nodeType == 60" size="mini" effect="plain">v{{ row.versionNumber }}</el-tag>
<el-button class="treebtn" :size="size" text v-if="permission.replace_button && row.nodeType == 60 && row.parentIds.indexOf('0,1,') > -1"
icon="el-icon-switch" type="primary" @click="replacement(row)" placeholder="鏇挎崲" title="鏇挎崲"></el-button>
@@ -101,7 +102,7 @@
</template> -->
<template #name="{ row }">
<span>{{ row.name }}</span>
-
+ <el-tag v-if="row.nodeType == 60" size="mini" effect="plain">v{{ row.versionNumber }}</el-tag>
<!-- 鏇挎崲 v-if="permission.auto_dispatch"-->
<el-button class="treebtn" :size="size" text v-if="permission.replace_button && row.nodeType == 60 && row.parentIds.indexOf('0,1,') > -1"
icon="el-icon-switch" type="primary" @click="replacement(row)" placeholder="鏇挎崲" title="鏇挎崲"></el-button>
@@ -166,15 +167,15 @@
</div>
</el-drawer>
<!-- 鏇挎崲 -->
- <el-drawer title="鏇挎崲" append-to-body v-model="todolistModel" size="100%" class="code-box">
+ <el-drawer title="鏇挎崲" append-to-body v-model="replaceModel" size="100%" class="code-box">
<div class="approve-box">
<div class="left">
- <TodolistLeft :row="row" :replaceDataId="replaceDataId" :drawingNo="drawingNo" :processNo="processNo"
+ <ReplaceLeft ref="replaceLeft" v-if="replaceModel" :row="row" :replaceDataId="replaceDataId" :drawingNo="drawingNo" :processNo="processNo"
:processEdition="processEdition" @selection-change="todoSelectionChange" />
</div>
<div class="right">
- <TodolistRightTop :row="row" :name="name" />
- <avue-form ref="form" :option="optionApprove" v-model="formApprove" @submit="handleSubmit" />
+ <ReplaceRightTop :row="row" :name="name" />
+ <avue-form ref="form" :option="optionApprove" v-model="formApprove" @submit="handleReplace" />
</div>
</div>
</el-drawer>
@@ -186,16 +187,16 @@
import debounce from 'lodash/debounce';
import { ElMessage } from 'element-plus';
-import TodolistLeft from './components/TodolistLeft.vue';
-import TodolistRightTop from './components/TodolistRightTop.vue';
+import ReplaceLeft from './components/ReplaceLeft.vue';
+import ReplaceRightTop from './components/ReplaceRightTop.vue';
import qs from 'qs';
export default {
components: {
- TodolistLeft,
- TodolistRightTop
+ ReplaceLeft,
+ ReplaceRightTop
},
data() {
- let rejectText = '椹冲洖';//+this.row.categoryName;
+
return {
size:'large',//鏍戦噷鎸夐挳鐨勫昂瀵�
isSearch: null,
@@ -274,7 +275,7 @@
},
applist: [],
row: {},
- todolistModel: false,
+ replaceModel: false,
diffBox: false,
content1: "",
content2: "",
@@ -883,7 +884,51 @@
unlockCancel() {
this.unlockBox = false;
},
- handleSubmit(form, done) {
+ replacement(row) { //鏇挎崲
+ this.id = row.id;
+ this.formApprove = {
+ comment: '',
+ approve: 'Y', // 榛樿鍚�
+ }
+ //鍑嗗绋嬪簭鏇挎崲娴佺▼
+ axios({
+ url: '/blade-mdm/flow/replace/pre',
+ method: 'post',
+ params: { nodeId: row.id }
+ }).then(resp => {
+ this.row = row;
+
+ this.drawingNo = resp.data.data.drawingNo;
+ this.replaceDataId = resp.data.data.processInstanceId;
+ //console.log('replaceDataId',this.replaceDataId)
+ this.processNo = resp.data.data.processNo;
+ this.processEdition = resp.data.data.processEdition;
+
+ this.formApprove.title = resp.data.data.name + "鏇挎崲";
+
+ this.getHandler(); //鑾峰彇澶勭悊浜�
+ this.$nextTick(() => {
+ //绛夊緟dom鏇存柊鍐嶆樉绀虹晫闈�
+ this.replaceModel = true;
+ })
+
+ });
+ },
+ getHandler() { //鑾峰彇澶勭悊浜�
+ axios({
+ url: '/blade-mdm/flow/replace/default-assignees',
+ method: 'get',
+ params: { drawingNo: this.drawingNo }
+ }).then(
+ resp => {
+ if (resp.data.code == 200) {
+ this.formApprove.assignee = resp.data.data.checkerId;
+ } else {
+ this.$message.success(resp.msg);
+ }
+ });
+ },
+ handleReplace(form, done) {
//鍙戣捣绋嬪簭鏇挎崲娴佺▼
var obj = {
title: this.formApprove.title,
@@ -902,7 +947,7 @@
message: '鎿嶄綔鎴愬姛!',
});
done();
- this.todolistModel = false;
+ this.replaceModel = false;
}).catch(error => {
done();
});
@@ -910,54 +955,6 @@
},
todoSelectionChange(applist) {
this.applist = applist;
- },
- showReplaceDlg(row) { //鏇挎崲瀵硅瘽妗�
-
- if (row.nodeType == 60) { //绋嬪簭鍖�
- return;
- }
- //111
- this.modalTitle = "鏂板瀛愯妭鐐�";
- this.selectedColumn.parentId = row.id;
- this.modalForm = this.selectedColumn;
-
- this.modalBox = true;
- },
- replacement(row) { //鏇挎崲
- this.id = row.id;
- this.formApprove = {
- comment: '',
- approve: 'Y', // 榛樿鍚�
- }
- //鍑嗗绋嬪簭鏇挎崲娴佺▼
- axios({
- url: '/blade-mdm/flow/replace/pre',
- method: 'post',
- params: { nodeId: row.id }
- }).then(resp => {
- this.row = row;
- this.replaceDataId = resp.data.data.processInstanceId;
- this.processNo = resp.data.data.processNo;
- this.processEdition = resp.data.data.processEdition;
- this.drawingNo = resp.data.data.drawingNo;
- this.formApprove.title = resp.data.data.name + "鏇挎崲";
- this.getHandler(); //鑾峰彇澶勭悊浜�
- this.todolistModel = true;
- });
- },
- getHandler() { //鑾峰彇澶勭悊浜�
- axios({
- url: '/blade-mdm/flow/replace/default-assignees',
- method: 'get',
- params: { drawingNo: this.drawingNo }
- }).then(
- resp => {
- if (resp.data.code == 200) {
- this.formApprove.assignee = resp.data.data.checkerId;
- } else {
- this.$message.success(resp.msg);
- }
- });
},
convertToHtml(text) {
return text.replace(/\n/g, '<br>');
diff --git a/src/views/wel/todolist.vue b/src/views/wel/todolist.vue
index 190446f..3202d0f 100644
--- a/src/views/wel/todolist.vue
+++ b/src/views/wel/todolist.vue
@@ -19,10 +19,10 @@
<el-drawer title="瀹℃壒" append-to-body v-model="approveBox" size="100%" v-if="approveBox">
<div class="approve-box">
<div class="left">
- <TodolistLeft :row="row" @selection-change="selectionChange" />
+ <ReplaceLeft :row="row" @selection-change="selectionChange" />
</div>
<div class="right">
- <TodolistRightTop :row="row" />
+ <ReplaceRightTop :row="row" />
<avue-form ref="form" :option="optionApprove" v-model="formApprove" @submit="handleSubmit" />
</div>
</div>
@@ -34,12 +34,12 @@
import { getList, approve, getAssignee,reassgin } from '@/api/flow/todolist';
import { mapGetters } from 'vuex';
import dayjs from 'dayjs';
-import TodolistLeft from './components/TodolistLeft.vue';
-import TodolistRightTop from './components/TodolistRightTop.vue';
+import ReplaceLeft from './components/ReplaceLeft.vue';
+import ReplaceRightTop from './components/ReplaceRightTop.vue';
export default {
components: {
- TodolistLeft,
- TodolistRightTop
+ ReplaceLeft,
+ ReplaceRightTop
},
data() {
let rejectText = '椹冲洖';//+this.row.categoryName;
--
Gitblit v1.9.3