From 6a72e9e44dc7278e18d55ccd5637b81a1cb2f047 Mon Sep 17 00:00:00 2001 From: zhangyanpeng <bob.zhang@highdatas.com> Date: 星期一, 04 三月 2024 18:16:36 +0800 Subject: [PATCH] Merge branch 'dev' of http://highdatas.com:9000/r/foundation/designer.approve.2 into dev --- src/views/common/process/config/ApprovalNodeConfig.vue | 160 ++++++++++++++++++++-------------------------------- 1 files changed, 62 insertions(+), 98 deletions(-) diff --git a/src/views/common/process/config/ApprovalNodeConfig.vue b/src/views/common/process/config/ApprovalNodeConfig.vue index 7205ea1..2017e57 100644 --- a/src/views/common/process/config/ApprovalNodeConfig.vue +++ b/src/views/common/process/config/ApprovalNodeConfig.vue @@ -2,54 +2,54 @@ <div> <el-form label-position="top" label-width="90px"> <el-form-item label="鈿� 閫夋嫨瀹℃壒缁勬垨瀹℃壒鏋舵瀯" prop="text" class="user-type"> - <el-select @change="selected(this,'group')" value-key="id" style="width: 80%;" size="small" v-model="nodeProps.approvalGroup" placeholder="璇烽�夋嫨瀹℃壒缁�"> - <el-option v-for="approvals in approvalGroups" :label="approvals.name" :value="approvals" :key="approvals.id"></el-option> - </el-select> + <el-select @change="selected(this,'group')" value-key="id" style="width: 80%;" size="small" + v-model="nodeProps.approvalGroup" placeholder="璇烽�夋嫨瀹℃壒缁�"> + <el-option v-for="approvals in approvalGroups" :label="approvals.name" :value="approvals" + :key="approvals.id"></el-option> + </el-select> </el-form-item> - <el-form-item label="鈿� 閫夋嫨瀹℃壒缁勬垨瀹℃壒鏋舵瀯" prop="text" class="user-type"> - <el-select @change="selected(this,'staff')" value-key="id" style="width: 80%;" size="small" v-model="nodeProps.staffGroup" placeholder="璇烽�夋嫨瀹℃壒鏋舵瀯"> - <el-option v-for="staffApprovals in staffGroups" :label="staffApprovals.name" :value="staffApprovals" :key="staffApprovals.id"></el-option> + <el-select @change="selected(this,'staff')" value-key="id" style="width: 80%;" size="small" + v-model="nodeProps.staffGroup" placeholder="璇烽�夋嫨瀹℃壒鏋舵瀯"> + <el-option v-for="staff in staffGroups" :label="staff.name" :value="staff" + :key="staff.id"></el-option> </el-select> </el-form-item> <el-divider></el-divider> <el-form-item label="鍙傛暟鍚�"> - <el-input style="width: 80%;" placeholder="鍙傛暟鍚�" v-model="nodeProps.params" size="small" clearable /> + <el-input style="width: 80%;" placeholder="鍙傛暟鍚�" v-model="nodeProps.params" size="small" clearable/> </el-form-item> - <el-divider></el-divider> <el-form-item label="瑙﹀彂浜嬩欢"> <div> - <el-button type="primary" size="mini" icon="el-icon-plus" style="margin: 0 15px 15px 0" round @click="addConditionGroup"> + <el-button type="primary" size="mini" icon="el-icon-plus" style="margin: 0 15px 15px 0" round + @click="addConditionGroup"> 娣诲姞瀹℃壒瑙﹀彂浜嬩欢 </el-button> </div> - <div style="width: 100%" v-for="(group, index) in selectedNode.props.groups" :key="index + '_g'" class="group"> <div class="group-header"> - <span class="group-name">瑙﹀彂浜嬩欢{{index+1}}</span> + <span class="group-name">瑙﹀彂浜嬩欢{{ index + 1 }}</span> <i class="el-icon-delete" @click="delGroup(index)"></i> - </div> - <el-row :gutter="10" > - <el-col :span="12"><el-select @change="selected(this)" size="small" v-model="group.action" placeholder="璇烽�夋嫨瀹℃壒缁�"> - <el-option v-for="actionItem in actions" :label="actionItem.label" :value="actionItem" :key="actionItem.value"></el-option> - </el-select> + <el-row :gutter="10"> + <el-col :span="12"> + <el-select @change="selected(this)" size="small" v-model="group.action" placeholder="璇烽�夋嫨瀹℃壒缁�"> + <el-option v-for="actionItem in actions" :label="actionItem.label" :value="actionItem" + :key="actionItem.value"></el-option> + </el-select> </el-col> <el-col :span="12"> - <el-input placeholder="鎺掑簭" v-model="group.sort" size="small" clearable></el-input> + <el-input placeholder="鎺掑簭" v-model="group.sort" size="small" clearable></el-input> </el-col> <el-col :span="4"> <span>java鏂规硶:</span> </el-col> <el-col :span="20"> - <el-input placeholder="java鏂规硶" v-model="group.method" size="small" clearable></el-input> + <el-input placeholder="java鏂规硶" v-model="group.method" size="small" clearable></el-input> </el-col> - - </el-row> </div> - </el-form-item> <el-form-item label="馃檯鈥� 濡傛灉鍔炵悊琚┏鍥� 馃憞"> <el-radio-group @input="setValue" v-model="nodeProps.refuse.type"> @@ -59,26 +59,19 @@ </el-radio-group> <div v-if="nodeProps.refuse.type === 'TO_NODE'"> <span>鎸囧畾鑺傜偣:</span> - <el-select style="margin-left: 10px; width: 150px;" placeholder="閫夋嫨璺宠浆鑺傜偣" size="small" v-model="nodeProps.refuse.target"> + <el-select style="margin-left: 10px; width: 150px;" placeholder="閫夋嫨璺宠浆鑺傜偣" size="small" + v-model="nodeProps.refuse.target"> <el-option v-for="(node, i) in nodeOptions" :key="i" :label="node.name" :value="node.id"></el-option> </el-select> </div> - </el-form-item> </el-form> - <org-picker :title="pickerTitle" multiple :type="orgPickerType" ref="orgPicker" :selected="orgPickerSelected" - @ok="selected"/> </div> </template> - <script> -import OrgPicker from "@/components/common/OrgPicker"; import {getDict, getEntitySet} from "@/api/design"; - - export default { name: "ApprovalNodeConfig", - components: {OrgPicker}, props: { config: { type: Object, @@ -91,19 +84,13 @@ return { showOrgSelect: false, orgPickerSelected: [], - orgPickerType: 'user', groupNames: ['1', '2', '3', '4', '6', 'F', 'G', 'H', 'I', 'J'], - approvalGroups:[ - // {"value":'first',"label":'鍦板尯缁忕悊瀹℃壒'}, - // {"value":'secound',"label":'澶у尯缁忕悊瀹℃壒'}, - // {"value":'third',"label":'鍟嗗姟缁忕悊瀹℃壒'}, - // {"value":'four',"label":'璐㈠姟缁忕悊瀹℃壒'}, - // {"value":'five',"label":'鎬荤粡鐞嗗鎵�'}, + approvalGroups: [ ], - staffGroups:[], - actions:[ - {"value":'before',"label":'瀹℃壒鍓�'}, - {"value":'after',"label":'瀹℃壒鍚�'}, + staffGroups: [], + actions: [ + {"value": 'before', "label": '瀹℃壒鍓�'}, + {"value": 'after', "label": '瀹℃壒鍚�'}, ], approvalTypes: [ {name: '鎸囧畾浜哄憳', type: 'ASSIGN_USER'}, @@ -131,95 +118,69 @@ return this.$store.state.selectedNode }, nodeProps() { - - // this.$store.state.selectedNode.props.staffGroup=this.$store.state.selectedNode.props.assignedUser[0] - // //this.$store.state.selectedNode.props.staffGroup.code="SalesDirector" - // //this.$store.state.selectedNode.props.staffGroup.id="position_sales_1" - // console.log("this.$store.state.selectedNode.props",this.$store.state.selectedNode.props) return this.$store.state.selectedNode.props }, select() { - console.log("this.config--select",this.config) return this.config.assignedUser }, - pickerTitle() { - switch (this.orgPickerType) { - case 'user': - return '璇烽�夋嫨浜哄憳'; - case 'role': - return '璇烽�夋嫨绯荤粺瑙掕壊'; - default: - return null; - } - }, + }, mounted() { - this.getApprovalGroup(); - this.getStaffGroup(); - console.log("this.$store.state.selectedNode.props.staffGroup",this.$store.state.selectedNode.props.staffGroup) + this.getApprovalGroup(); + this.getStaffGroup(); }, methods: { - getApprovalGroup(){ - let template = {"dataname": "sys_state_board","attachMeta":true} + getApprovalGroup() { + let template = {"dataname": "sys_state_board", "attachMeta": true} getEntitySet(template).then(rsp => { - console.log("getEntitySet", rsp.data.data) this.approvalGroups = rsp.data.data.entityset - - console.log("this.approvalGroups", this.approvalGroups) }).catch(err => this.$message.error('鑾峰彇瀹℃壒娴佺▼寮傚父')) }, - getStaffGroup(){ - let template = {"code":"position_sales"} + getStaffGroup() { + let template = {"code": "position_sales"} getDict(template).then(rsp => { - console.log("getDict", rsp.data.data.dictionary) - this.staffGroups=this.$Utils.decode(rsp.data.data.dictionary.items) - this.staffGroups.forEach(item=>item.name=item.value); - this.staffGroups.forEach(item=>item.id=item.code); - console.log("getDict", this.staffGroups) + this.staffGroups = this.$Utils.decode(rsp.data.data.dictionary.items) + this.staffGroups.forEach(item => { + item.name = item.value + item.id = item.code + }); + // this.staffGroups.forEach(item => ); }).catch(err => this.$message.error('鑾峰彇瀹℃壒娴佺▼寮傚父')) }, //濡傛灉鍒囨崲閫夌涓嶆槸鎸囧畾鑺傜偣 閭e氨鎶婁箣鍓嶉�夋嫨鐨勬寚瀹氳妭鐐逛俊鎭� 缁欐竻闄ゆ帀 閬垮厤鎻愪氦涓婂幓 - setValue(){ - if(this.nodeProps.refuse.type!=='TO_NODE'){ - this.nodeProps.refuse.target=''; - - } + setValue() { + if (this.nodeProps.refuse.type !== 'TO_NODE') { + this.nodeProps.refuse.target = ''; + } }, delGroup(index) { this.selectedNode.props.groups.splice(index, 1) }, addConditionGroup() { - console.log("this.config",this.config) this.config.groups.push({ - // cids:[], - // groupType: "OR", - //conditions:[] }) }, - selected(select,type) { - console.log("杈撳嚭閫変腑select",this.nodeProps) - this.nodeProps.assignedUser=[] - - if(type==='group'){ - this.nodeProps.staffGroup={} + selected(select, type) { + this.nodeProps.assignedUser = [] + if (type === 'group') { + this.nodeProps.staffGroup = {} this.nodeProps.assignedUser.push({ - "id":this.nodeProps.approvalGroup.id, - "name":this.nodeProps.approvalGroup.name, - "type":"group" + "id": this.nodeProps.approvalGroup.id, + "name": this.nodeProps.approvalGroup.name, + "type": "group" }) - }else{ - this.nodeProps.approvalGroup={} + } else { + this.nodeProps.approvalGroup = {} this.nodeProps.assignedUser.push( { - "id":this.nodeProps.staffGroup.code, - "name":this.nodeProps.staffGroup.value, - "type":"staff" - } + "id": this.nodeProps.staffGroup.code, + "name": this.nodeProps.staffGroup.value, + "type": "staff" + } ) } - console.log("assignedUser",this.config) - this.orgPickerSelected.length = 0 + }, removeOrgItem(index) { this.select.splice(index, 1) @@ -231,13 +192,16 @@ <style lang="less" scoped> .el-row { margin-bottom: 20px; + &:last-child { margin-bottom: 0; } } + .el-col { border-radius: 4px; } + .user-type { /deep/ .el-radio { width: 110px; -- Gitblit v1.8.0