|
@@ -38,35 +38,45 @@
|
|
|
:maxTagCount="10"
|
|
|
:treeCheckStrictly="true"
|
|
|
:show-checked-strategy="SHOW_All"
|
|
|
- search-placeholder="请选择关联分类"
|
|
|
+ search-placeholder="请选择(可多选,如选中父项分类则对所有子项生效)"
|
|
|
@select="selectTree"
|
|
|
/>
|
|
|
</a-form-item>
|
|
|
</div>
|
|
|
</a-row>
|
|
|
<a-row type="flex" :gutter="24" style="margin: 0;" v-for="(item,index) in itez.knowledgeApprovalNode" :key="index" class="rowList">
|
|
|
- <div style="width:50%;display:flex;">
|
|
|
- <a-form-item
|
|
|
- label="节点名称"
|
|
|
- name="name"
|
|
|
- style="width:50%;"
|
|
|
- >
|
|
|
- <a-input :disabled="item.isFinal == 1" v-model="item.name" placeholder="请输入"/>
|
|
|
- </a-form-item>
|
|
|
- <a-form-item
|
|
|
- label="审批人"
|
|
|
- name="approverName"
|
|
|
- style="width:50%;"
|
|
|
- >
|
|
|
- <div @click="handleShowAuditClick(index,indez)">
|
|
|
- <a-select v-model="item.approverName" :showArrow="false" :open="false" placeholder="请选择组织部门授予知识访问权限"></a-select>
|
|
|
- </div>
|
|
|
- </a-form-item>
|
|
|
- </div>
|
|
|
- <div style="width:6%;height:40px;display:flex;align-items:center;">
|
|
|
- <a-button :style="{display: (item.isFinal == 1 || itez.knowledgeApprovalNode.length == 1) ? 'none' : ''}" style="margin-right:10px;" @click="delRow(index,indez)" shape="circle" icon="delete"></a-button>
|
|
|
- <a-button v-if="itez.knowledgeApprovalNode.length != (index + 1) || itez.knowledgeApprovalNode.length==1" type="primary" @click="addRow(index,indez)" shape="circle" icon="plus"></a-button>
|
|
|
- </div>
|
|
|
+ <!--默认节点先隐藏掉-->
|
|
|
+ <template v-if="item.isFinal != -1">
|
|
|
+ <div style="width:50%;display:flex;">
|
|
|
+ <a-form-item
|
|
|
+ label="节点名称"
|
|
|
+ name="name"
|
|
|
+ style="width:50%;"
|
|
|
+ >
|
|
|
+ <a-input :disabled="item.isFinal == 1 || item.isFinal == -1" v-model="item.name" placeholder="请输入"/>
|
|
|
+ </a-form-item>
|
|
|
+ <a-form-item
|
|
|
+ label="审批人"
|
|
|
+ name="approverName"
|
|
|
+ style="width:50%;"
|
|
|
+ >
|
|
|
+ <!-- <div v-if="!index">
|
|
|
+ <a-input :disabled="item.isFinal == -1" v-model="item.approverName" placeholder="请输入"/>
|
|
|
+ </div> -->
|
|
|
+ <!-- <div v-else @click="handleShowAuditClick(index,indez)">
|
|
|
+ <a-select v-model="item.approverName" :showArrow="false" :open="false" placeholder="请选择组织部门授予知识访问权限"></a-select>
|
|
|
+ </div> -->
|
|
|
+ <div @click="handleShowAuditClick(index,indez)">
|
|
|
+ <a-select v-model="item.approverName" :showArrow="false" :open="false" placeholder="请选择组织部门授予知识访问权限"></a-select>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </a-form-item>
|
|
|
+ </div>
|
|
|
+ <div style="width:6%;height:40px;display:flex;align-items:center;">
|
|
|
+ <a-button :style="{display: (item.isFinal == 1 || item.isFinal == -1) ? 'none' : ''}" style="margin-right:10px;" @click="delRow(index,indez)" shape="circle" icon="delete"></a-button>
|
|
|
+ <a-button v-if="itez.knowledgeApprovalNode.length != (index + 1) || itez.knowledgeApprovalNode.length==1" type="primary" @click="addRow(index,indez)" shape="circle" icon="plus"></a-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</a-row>
|
|
|
<a-row :gutter="24" style="margin: 40px 0;" class="rowList">
|
|
|
<div style="width:56%;height:40px;display:flex;align-items:center;justify-content:flex-end;">
|
|
@@ -137,7 +147,8 @@ export default {
|
|
|
// }
|
|
|
// ]
|
|
|
// }
|
|
|
- ]
|
|
|
+ ],
|
|
|
+ begintabPaneLength: null,
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
@@ -166,6 +177,7 @@ export default {
|
|
|
knowledgeApprovalNode: item.knowledgeApprovalNode
|
|
|
}
|
|
|
})
|
|
|
+ this.begintabPaneLength = this.tabPaneList.length
|
|
|
// newData={value:element.pkId,label:element.name}
|
|
|
this.saveLoading = false
|
|
|
},
|
|
@@ -212,7 +224,7 @@ export default {
|
|
|
})
|
|
|
},200)
|
|
|
},
|
|
|
- async handleSaveClick() {
|
|
|
+ handleSaveClick() {
|
|
|
const flowerName = this.tabPaneList[this.tabsKeys-1].flowerName
|
|
|
if(!flowerName) {
|
|
|
this.$message.error("流程名称不能为空");
|
|
@@ -228,9 +240,13 @@ export default {
|
|
|
this.$message.error("流程名称重复");
|
|
|
return
|
|
|
}
|
|
|
+ if(!this.tabPaneList[this.tabsKeys-1].categoryId.length) {
|
|
|
+ this.$message.error("请将信息填全");
|
|
|
+ return
|
|
|
+ }
|
|
|
// 判断信息是否填全
|
|
|
for(let i of this.tabPaneList[this.tabsKeys-1].knowledgeApprovalNode) {
|
|
|
- if(!i.name || !i.approverId) {
|
|
|
+ if(!i.name || !i.approverName) {
|
|
|
this.$message.error("请将信息填全");
|
|
|
return
|
|
|
}
|
|
@@ -239,14 +255,37 @@ export default {
|
|
|
this.tabPaneList[this.tabsKeys-1].categoryId = this.tabPaneList[this.tabsKeys-1].categoryId.map(item => item.value)
|
|
|
}
|
|
|
this.saveLoading = true
|
|
|
- await api.insertApprovalNodes(this.tabPaneList[this.tabsKeys-1])
|
|
|
- await this.init()
|
|
|
+ api.insertApprovalNodes(this.tabPaneList[this.tabsKeys-1]).then(res => {
|
|
|
+ let data = res.data
|
|
|
+ let categoryArr = []
|
|
|
+ for(let i=0;i<data.category.length;i++) {
|
|
|
+ categoryArr.push({
|
|
|
+ value:data.category[i],label:data.categoryName[i]
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.tabPaneList[this.tabsKeys-1].categoryId = categoryArr
|
|
|
+ if(res.success == true) {
|
|
|
+ this.tabPaneList[this.tabsKeys-1].pkId = data.pkId
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.saveLoading = false
|
|
|
+ // await this.init()
|
|
|
},
|
|
|
handleAddFlowClick() {
|
|
|
+ // if(this.tabPaneList.length == this.begintabPaneLength + 1) {
|
|
|
+ // this.$message.error("流程名称不能为空");
|
|
|
+ // return
|
|
|
+ // }
|
|
|
this.tabPaneList.push({
|
|
|
flowerName: '请设置流程名称',
|
|
|
categoryId: [],
|
|
|
knowledgeApprovalNode: [
|
|
|
+ // {
|
|
|
+ // name: '默认节点',
|
|
|
+ // approverId: '',
|
|
|
+ // approverName: '直属领导',
|
|
|
+ // isFinal: -1
|
|
|
+ // },
|
|
|
{
|
|
|
name: '最终节点',
|
|
|
approverId: '',
|
|
@@ -255,10 +294,7 @@ export default {
|
|
|
}
|
|
|
]
|
|
|
})
|
|
|
- // console.log(this.tabPaneList.length + 1)
|
|
|
this.tabsKeys = this.tabPaneList.length
|
|
|
- // this.$nextTick(() => this.tabsKeys = this.tabPaneList.length + 1)
|
|
|
-
|
|
|
},
|
|
|
handleDelFlowClick(pkId = null,indez) {
|
|
|
if(!pkId) {
|
|
@@ -275,8 +311,10 @@ export default {
|
|
|
cancelText: '取消',
|
|
|
async onOk() {
|
|
|
await that.api.delApprovalNode({pkId})
|
|
|
+ that.tabPaneList.splice(indez,1)
|
|
|
that.tabsKeys-=1
|
|
|
- that.init()
|
|
|
+ that.saveLoading = false
|
|
|
+ // that.init()
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -364,4 +402,10 @@ export default {
|
|
|
/deep/ .ant-select-dropdown-content {
|
|
|
height: 100px;
|
|
|
}
|
|
|
+/deep/.ant-select-search__field {
|
|
|
+ display: none !important;
|
|
|
+}
|
|
|
+/deep/ .ant-select-selection--multiple{
|
|
|
+ cursor: pointer !important;
|
|
|
+}
|
|
|
</style>
|