From efe3e228713018604a1767e58aaa73382d4bbc23 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 05 九月 2025 23:20:03 +0800
Subject: [PATCH] Merge branch 'master' of http://www.beijingsoft.cn:9090/r/mdmweb
---
src/views/wel/shemi.vue | 172 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 117 insertions(+), 55 deletions(-)
diff --git a/src/views/wel/shemi.vue b/src/views/wel/shemi.vue
index a7df372..3a48b74 100644
--- a/src/views/wel/shemi.vue
+++ b/src/views/wel/shemi.vue
@@ -1,7 +1,7 @@
<template>
<basic-container>
<div class="norightmenu" v-if="!isSearch">
- <avue-crud :addBtn="false" :option="option" :table-loading="loading" :data="treeData" ref="crud"
+ <avue-crud :addBtn="false" :option="option" :row-style="{height:'20px'}" :cell-style="{padding:'0px'}" :table-loading="loading" :data="treeData" ref="crud"
v-model:search="search" v-model:page="mypage" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad" @row-click="rowClick">
<template #search>
@@ -14,9 +14,9 @@
<el-checkbox value="3" label="鍋忕" />
</el-checkbox-group>
</el-col>
- <el-col :span="4" class="search-data-flex">
+ <el-col :span="6" class="search-data-flex">
<span class="search-data-title">闆剁粍浠跺彿:</span>
- <el-select v-model="searchTreeData.drawingNo" filterable remote reserve-keyword placeholder="闆剁粍浠跺彿"
+ <el-select v-model="searchTreeData.drawingNo" filterable remote reserve-keyword placeholder="杈撳叆鑷冲皯3涓瓧绗﹁繃婊ゆ暟鎹�"
:remote-method="remoteMethod" :loading="searchLoading">
<el-option v-for="item in drawingNoList" :key="item.value" :label="item.label"
:value="item.value" /></el-select>
@@ -27,7 +27,7 @@
end-placeholder="缁撴潫鏃堕棿" :size="size" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
@change="createTimeChange" /><!--:disabled-date="disabledDate" 涓嶉渶瑕佺鐢ㄦ棩鏈�-->
</el-col>
- <el-col :span="6" class="search-data-flex">
+ <el-col :span="4" class="search-data-flex">
<el-button type="primary" @click="searchTree" :loading="treeSearchLoad"><el-icon class="el-icon--right"
style="margin-right: 6px;">
<Search />
@@ -58,15 +58,15 @@
icon="el-icon-switch" type="primary" @click="replacement(row)" placeholder="鏇挎崲" title="鏇挎崲"></el-button>
<el-button :size="size" text
v-if="permission.lock_button && row.nodeType == 60 && row.parentIds.indexOf('0,2') > -1 && row.isLocked != 1"
- icon="el-icon-lock" type="primary" @click="locked(row, true)" placeholder="閿佸畾" title="閿佸畾"></el-button>
+ icon="el-icon-lock" type="primary" @click="showLockDlg(row)" placeholder="閿佸畾" title="閿佸畾"></el-button>
<el-button :size="size" text
v-if="permission.lock_button && row.nodeType == 60 && row.parentIds.indexOf('0,2') > -1 && row.isLocked == 1"
- icon="el-icon-unlock" type="primary" @click="locked(row, false)" placeholder="瑙i攣" title="瑙i攣"></el-button>
+ icon="el-icon-unlock" type="primary" @click="startUnlock(row)" placeholder="瑙i攣" title="瑙i攣"></el-button>
</template>
</avue-crud>
</div>
<div class="norightmenu" v-else>
- <avue-crud :addBtn="false" :option="option" :table-loading="loading" :data="treeData" ref="crud"
+ <avue-crud :addBtn="false" :option="option" :row-style="{height:'20px'}" :cell-style="{padding:'0px'}" :table-loading="loading" :data="treeData" ref="crud"
v-model:search="search" v-model:page="mypage" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad" @tree-load="treeLoad" @row-click="rowClick">
<template #search>
@@ -81,7 +81,7 @@
</el-col>
<el-col :span="4" class="search-data-flex">
<span class="search-data-title">闆剁粍浠跺彿:</span>
- <el-select v-model="searchTreeData.drawingNo" filterable remote reserve-keyword placeholder="闆剁粍浠跺彿"
+ <el-select v-model="searchTreeData.drawingNo" filterable remote reserve-keyword placeholder="杈撳叆鑷冲皯3涓瓧绗﹁繃婊ゆ暟鎹�"
:remote-method="remoteMethod" :loading="searchLoading">
<el-option v-for="item in drawingNoList" :key="item.value" :label="item.label"
:value="item.value" /></el-select>
@@ -109,24 +109,16 @@
</template> -->
<template #name="{ row }">
<span>{{ row.name }}</span>
- <!-- <el-button :size="size" text v-if="row.nodeType != 70" icon="el-icon-setting" type="primary" placeholder="淇敼" @click="showEdit(row)" title="淇敼"></el-button>
- <el-button :size="size" text v-if="row.nodeType != 10" icon="el-icon-delete" type="primary" @click="showDel(row)" placeholder="鍒犻櫎" title="鍒犻櫎"></el-button>
- <el-button :size="size" text v-if="row.nodeType != 60 && row.nodeType != 70" icon="el-icon-document-add" type="primary" @click="showAdd(row)" placeholder="鏂板瀛愮骇" title="鏂板瀛愮骇"></el-button>
- <el-button :size="size" text v-if="row.nodeType == 60 || row.nodeType == 50" icon="el-icon-upload" type="primary" @click="showUpload(row)" placeholder="鏂囦欢涓婁紶" title="鏂囦欢涓婁紶"></el-button> -->
- <!-- 娑夊瘑缃戞墠鏈� -->
- <!-- <el-button :size="size" text v-if="row.nodeType == 70" icon="el-icon-pie-chart" type="primary" @click="upgrade(row)" placeholder="鍗囩増" title="鍗囩増"></el-button> -->
- <!-- 宸ユ帶缃戞墠鏈� -->
- <!-- <el-button :size="size" text v-if="row.nodeType == 70" icon="el-icon-position" type="primary" @click="downsend(row)" placeholder="涓嬪彂" title="涓嬪彂"></el-button> -->
-
+
<!-- 鏇挎崲 v-if="permission.auto_dispatch"-->
<el-button :size="size" text v-if="row.nodeType == 60 && row.parentIds.indexOf('0,1,') > -1"
icon="el-icon-switch" type="primary" @click="replacement(row)" placeholder="鏇挎崲" title="鏇挎崲"></el-button>
<el-button :size="size" text
v-if="permission.lock_button && row.nodeType == 60 && row.parentIds.indexOf('0,2') > -1 && row.isLocked != 1"
- icon="el-icon-lock" type="primary" @click="locked(row, true)" placeholder="閿佸畾" title="閿佸畾"></el-button>
+ icon="el-icon-lock" type="primary" @click="showLockDlg(row)" placeholder="閿佸畾" title="閿佸畾"></el-button>
<el-button :size="size" text
v-if="permission.lock_button && row.nodeType == 60 && row.parentIds.indexOf('0,2') > -1 && row.isLocked == 1"
- icon="el-icon-unlock" type="primary" @click="locked(row, false)" placeholder="瑙i攣" title="瑙i攣"></el-button>
+ icon="el-icon-unlock" type="primary" @click="startUnlock(row)" placeholder="瑙i攣" title="瑙i攣"></el-button>
</template>
</avue-crud>
</div>
@@ -145,6 +137,12 @@
</template>
</avue-form>
</el-dialog>
+
+ <!-- 閿佸畾瀵硅瘽妗� -->
+ <el-dialog title="绋嬪簭閿佸畾" append-to-body v-model="lockBox">
+ <avue-form :option="lockOption" v-model="lockForm" @submit="lockSubmit" @reset-change="lockCancel" />
+ </el-dialog>
+
<avue-tabs :option="tabsOption" @change="tabsHandleChange" style="margin-top: 30px;" v-if="isShowTabs"></avue-tabs>
<avue-form v-if="tabsType == 'tab1'" :option="tabsFormOption" v-model="tabsForm"></avue-form>
<!--<span v-else-if="tabsType == 'tab2'">鐗堟湰淇℃伅</span>-->
@@ -189,6 +187,7 @@
</template>
<script>
+import debounce from 'lodash/debounce';
import { ElMessage } from 'element-plus';
import TodolistLeft from './components/TodolistLeft.vue';
import TodolistRightTop from './components/TodolistRightTop.vue';
@@ -439,6 +438,32 @@
},
modalBox: false,
modalTitle: "",
+
+ lockOption: {
+ submitText: "閿佸畾",
+ emptyText: "鍙栨秷",
+ menuPosition: "right",
+ column: [
+ {
+ label: '绋嬪簭鍖呭悕',
+ prop: 'name',
+ disabled:true,
+ labelWidth: "120",
+ },
+
+ {
+ label: '閿佸畾鍘熷洜',
+ prop: 'remark',
+ type: "textarea",
+ labelWidth: "120",
+ span: 24,
+ rules: [{ required: true, message: '蹇呭~', trigger: 'blur' }],
+ }
+ ]
+ },
+ lockForm: {},
+ lockBox: false,
+
id: "",
parentId: 1,
loading: true,
@@ -509,22 +534,7 @@
return '';
}
}
- },/*
- {
- label: '鐗堟',
- prop: 'processEdition',
- formatter: (val, value, label) => {
- if(val.nodeType == '60'){
- return value;
- }else{
- return '';
- }
- }
},
- {
- label: '鎻忚堪',
- prop: 'abc'
- },*/
{
label: '绫诲瀷',
prop: 'nodeTypeName'
@@ -567,11 +577,7 @@
}
}
},
- },/*
- {
- label: '娴嬭瘯绋嬪簭',
- prop: 'abc'
- },*/
+ },
{
label: '鍒涘缓浜�',
prop: 'createUserName',
@@ -747,9 +753,20 @@
this.searchTreeData.createTimeEnd = value[1];
},
remoteMethod(query) {
- if (query) {
+ if (query && query.length>2) {
this.searchLoading = true;
- axios({
+ this.getRemote(query);
+ } else {
+ this.drawingNoList = [];
+ }
+ },
+ getRemote: debounce(function(query){
+ //闃叉姈锛岃繖閲岃缃�600姣璇锋眰涓�娆″悗鍙�
+ this.getList(query)
+ },600),
+ async getList(query){
+ this.searchLoading = false;
+ axios({
url: '/blade-mdm/program/node/drawing-no-pick',
method: 'get',
params: { drawingNo: query }
@@ -761,26 +778,56 @@
})
this.drawingNoList = drawingNoList;
});
- } else {
- this.drawingNoList = [];
- }
},
- locked(row, isLockP) {
- //row.isLocked == isLock
- var isLock = row.isLocked == 1;
- console.log('isLock', isLock)
- this.$confirm(`鏄惁${isLock ? '瑙i攣' : '閿佸畾'}`, {
+ showLockDlg(row){
+ this.lockForm = row;
+ //this.lockForm.name = row.name;
+ // this.lockForm.id = row.id;
+ this.lockForm.remark = '';
+ this.lockBox = true;
+ },
+ lockCancel() {
+ this.lockBox = false;
+ this.lockForm = {};
+ },
+ lockSubmit() {
+ //閿佸畾鎻愪氦
+ this.$confirm('鏄惁閿佸畾', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning',
}).then(() => {
axios({
- url: isLock ? '/blade-mdm/flow/lock/start-unlock' : '/blade-mdm/program/node/lock',
+ url: '/blade-mdm/program/node/lock',
method: 'post',
- params: { id: row.id, nodeId: row.id }
+ params: this.lockForm
}).then(res => {
if (res.data.code == 200) {
this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛!' });
+ this.addLocalTreeNode(this.lockForm.parentId);
+ this.lockBox = false;
+ } else {
+ this.$message({ type: 'success', message: res.data.msg });
+ }
+ });
+ }).catch(action => {
+ console.log('cancel')
+ });
+ },
+ startUnlock(row) {
+ //鍚姩瑙i攣娴佺▼
+ this.$confirm(`鏄惁瑙i攣`, {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ }).then(() => {
+ axios({
+ url: '/blade-mdm/flow/lock/start-unlock',
+ method: 'post',
+ params: {nodeId: row.id }
+ }).then(res => {
+ if (res.data.code == 200) {
+ this.$message({ type: 'success', message: '瑙i攣娴佺▼宸插惎鍔�!' });
this.addLocalTreeNode(row.parentId);
} else {
this.$message({ type: 'success', message: res.data.msg });
@@ -842,6 +889,18 @@
},
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;
@@ -919,8 +978,11 @@
});
},
searchTree() {
- if (this.searchTreeData.programStatus.length == 0) return;
- if (this.searchTreeData.drawingNo == "") return;
+ if (this.searchTreeData.programStatus.length == 0 || this.searchTreeData.drawingNo == ""){
+ this.$message.warning('璇疯緭鍏ョ▼搴忕姸鎬佸拰闆剁粍浠跺彿杩涜鎼滅储');
+ return;
+ }
+
this.treeSearchLoad = true;
this.isSearch = !this.isSearch
this.searchTreeData.status = this.searchTreeData.programStatus.join();
@@ -957,7 +1019,7 @@
if (this.treeData.length == 0) {
return;
}
- }, 1000);
+ }, 100);
});
@@ -1431,7 +1493,7 @@
}
.search-data-title {
- font-size: 12px;
+ font-size: 14px;
margin-right: 8px;
display: inline-block;
width: 95px;
--
Gitblit v1.9.3