From 6165429964c79c831b85570d8bac6b67775846b0 Mon Sep 17 00:00:00 2001 From: whyczyk <525500596@qq.com> Date: 星期五, 05 十一月 2021 15:14:12 +0800 Subject: [PATCH] 流程节点管理及动作管理提交 --- src/pages/manage/node/addNode.vue | 128 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 115 insertions(+), 13 deletions(-) diff --git a/src/pages/manage/node/addNode.vue b/src/pages/manage/node/addNode.vue index 03d3f14..31b392e 100644 --- a/src/pages/manage/node/addNode.vue +++ b/src/pages/manage/node/addNode.vue @@ -2,7 +2,36 @@ <div class="main"> <div class="contain"> <div class="title">{{title}}</div> - <el-form ref="form" :model="form" label-width="10em"> + <!-- 鑺傜偣鍔ㄤ綔绠$悊 --> + <el-form ref="form" :model="form" label-width="10em" v-if="pageType==3"> + <el-form-item label="鑺傜偣鍚嶇О:"> + <el-input v-model="form.linkName" placeholder="璇疯緭鍏ヨ妭鐐瑰悕绉�" disabled></el-input> + </el-form-item> + <el-form-item label="鑺傜偣灞傜骇:"> + <el-select v-model="form.linkType" placeholder="璇烽�夋嫨鑺傜偣灞傜骇" disabled> + <el-option :label="value" :value="key" v-for="(value,key,index) in linkLevel" :key="index"></el-option> + </el-select> + </el-form-item> + <el-form-item label="瑙掕壊:" v-for="(item,i) in form.roleList" :key="i"> + <el-input v-model="item.name" style="margin-right:8px" placeholder="璇疯緭鍏ヨ鑹插悕绉�" disabled></el-input> + <el-input v-model="item.type" style="margin-right:8px" type="number" placeholder="璇疯緭鍏ヨ鑹茬紪鐮�" disabled></el-input> + <el-checkbox-group v-model="item.actiontype" v-if="item.actiontype"> + <el-checkbox :label="key" v-for="(value,key,index) in actionType" :key="index">{{value}}</el-checkbox> + </el-checkbox-group> + </el-form-item> + <el-form-item label="鎵�灞炲伐鍗曠被鍨�:"> + <el-select v-model="form.type" placeholder="璇烽�夋嫨鎵�灞炲伐鍗曠被鍨�" disabled> + <el-option :label="value" :value="key" v-for="(value,key,index) in workType" :key="index"></el-option> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="onSubmit" v-if="pageType==1">纭鎻愪氦</el-button> + <el-button type="primary" @click="onSubmit" v-else-if="pageType==2">纭淇敼</el-button> + <el-button type="primary" @click="onSubmit" v-else-if="pageType==3">纭淇敼</el-button> + </el-form-item> + </el-form> + <!-- 鑺傜偣绠$悊 --> + <el-form ref="form" :model="form" label-width="10em" v-else> <el-form-item label="鑺傜偣鍚嶇О:"> <el-input v-model="form.linkName" placeholder="璇疯緭鍏ヨ妭鐐瑰悕绉�"></el-input> </el-form-item> @@ -14,7 +43,7 @@ <el-form-item label="鑺傜偣鎵�鍚鑹�:"> <el-button type="primary" size="mini" @click="addRole">娣诲姞瑙掕壊</el-button> </el-form-item> - <el-form-item label="瑙掕壊" v-for="(item,i) in form.roleList" :key="i"> + <el-form-item label="瑙掕壊:" v-for="(item,i) in form.roleList" :key="i"> <el-input v-model="item.name" style="margin-right:8px" placeholder="璇疯緭鍏ヨ鑹插悕绉�"></el-input> <el-input v-model="item.type" style="margin-right:8px" type="number" placeholder="璇疯緭鍏ヨ鑹茬紪鐮�"></el-input> <i class="el-icon-delete delIcon" @click="removeList(i)"></i> @@ -26,7 +55,8 @@ </el-form-item> <el-form-item> <el-button type="primary" @click="onSubmit" v-if="pageType==1">纭鎻愪氦</el-button> - <el-button type="primary" @click="onSubmit" v-else>纭淇敼</el-button> + <el-button type="primary" @click="onSubmit" v-else-if="pageType==2">纭淇敼</el-button> + <el-button type="primary" @click="onSubmit" v-else-if="pageType==3">纭淇敼</el-button> </el-form-item> </el-form> </div> @@ -36,11 +66,14 @@ <script> import { addWorkflowProperty, - editWorkflowProperty + editWorkflowProperty, + getActionTypeList, + updateAction, } from '../js/api'; import { workType, - linkLevel + linkLevel, + actionType, } from '@/assets/js/constants'; export default { name: "", @@ -49,6 +82,7 @@ return { workType, linkLevel, + actionType, title: '鏂板缓娴佺▼鑺傜偣', form: { linkName: "", @@ -56,7 +90,7 @@ roleList: [], type: '', }, - pageType: 1 + pageType: 1, }; }, components: {}, @@ -73,8 +107,10 @@ onSubmit() { if (this.pageType == 1) { this.addFrom() - } else { + } else if (this.pageType == 2) { this.editFrom() + } else if (this.pageType == 3) { + this.editAction() } }, editFrom() { @@ -107,21 +143,87 @@ console.log(err) }); }, + editAction() { + let postData = [] + this.form.roleList.map(item => { + let action = JSON.parse(JSON.stringify(item)).actiontype; + let actionTypeList = action.map(item => { + return Number(item) + }) + let obj = { + actionTypeList: actionTypeList, + linkType: Number(this.form.linkType), + roleType: Number(item.type), + type: Number(this.form.type), + } + postData.push(obj) + }) + updateAction(postData).then((res) => { + if (res.data.code == 1) { + this.$message({ + message: '淇敼鎴愬姛!', + type: 'success' + }); + setTimeout(() => { + this.$router.go(-1) + }, 1000) + } + }).catch((err) => { + console.log(err) + }); + }, + loadAction() { + let postData = { + linkType: this.form.linkType, + type: this.form.type, + } + getActionTypeList(postData).then((res) => { + if (res.data.code == 1) { + let resData = res.data.data; + console.log(this.form.roleList) + this.form.roleList.map(item => { + resData.map(jtem => { + if (item.type == jtem.roleType) { + item.actiontype.push(jtem.actionType + '') + } + }) + }) + } + }).catch((err) => { + console.log(err) + }); + }, }, mounted() { let postData = JSON.parse(this.$route.query.data); - console.log(postData) - if (postData.linkName) { - this.title = '缂栬緫娴佺▼鑺傜偣' - this.pageType = 2; + if (postData.action) { + this.title = '鑺傜偣鍔ㄤ綔绠$悊' + this.pageType = 3; this.form.linkName = postData.linkName; this.form.linkType = postData.linkType + ''; this.form.roleList = postData.roleList; this.form.type = postData.type + ''; + this.form.roleList.map(item => { + this.$set(item, 'actiontype', []) + }) + this.$nextTick(() => { + this.loadAction() + this.$forceUpdate() + }) + } else { - this.title = '鏂板缓娴佺▼鑺傜偣' - this.pageType = 1 + if (postData.linkName) { + this.title = '缂栬緫娴佺▼鑺傜偣' + this.pageType = 2; + this.form.linkName = postData.linkName; + this.form.linkType = postData.linkType + ''; + this.form.roleList = postData.roleList; + this.form.type = postData.type + ''; + } else { + this.title = '鏂板缓娴佺▼鑺傜偣' + this.pageType = 1 + } } }, }; -- Gitblit v1.9.1