|
|
@ -5,54 +5,38 @@ |
|
|
|
<ns-drawer v-bind="addDrawerConfig"> |
|
|
|
<ns-form ref="formRef" :schemas="formSchema" :model="formData" formLayout="vertical" /> |
|
|
|
<template #footer> |
|
|
|
<a-button style="margin-right: 8px" @click="onClose">取消</a-button> |
|
|
|
<a-button type="primary" @click="onEdit">确定</a-button> |
|
|
|
<ns-button style="margin-right: 8px" @click="onClose">取消</ns-button> |
|
|
|
<ns-button type="primary" @click="operateForm" :disabled="!formDisabled">确定</ns-button> |
|
|
|
</template> |
|
|
|
</ns-drawer> |
|
|
|
<a-drawer |
|
|
|
<ns-drawer |
|
|
|
:width="600" |
|
|
|
:visible="borderVisible" |
|
|
|
:body-style="{ paddingBottom: '80px' }" |
|
|
|
:footer-style="{ textAlign: 'right' }" |
|
|
|
destroyOnClose |
|
|
|
@close="onClose"> |
|
|
|
<a-button type="primary" @click="borderAdd">新增</a-button> |
|
|
|
<a-button type="primary" style="margin-left: 10px; margin-bottom: 10px" @click="borderAddSon" |
|
|
|
>新增子集</a-button |
|
|
|
<ns-button type="primary" @click="borderAdd">新增</ns-button> |
|
|
|
<ns-button type="primary" style="margin-left: 10px; margin-bottom: 10px" @click="borderAddSon" |
|
|
|
>新增子集</ns-button |
|
|
|
> |
|
|
|
<a-directory-tree @select="handleSelect" multiple :tree-data="treeData"> |
|
|
|
<template #title="{ title, key }"> |
|
|
|
{{ title }} |
|
|
|
<a-button type="link" @click="editTree(title, key)">编辑</a-button> |
|
|
|
<a-button type="link" danger @click="deleteTree(title, key)">删除</a-button> |
|
|
|
<ns-button type="link" @click="editTree(title, key)">编辑</ns-button> |
|
|
|
<ns-button type="link" danger @click="deleteTree(title, key)">删除</ns-button> |
|
|
|
</template> |
|
|
|
</a-directory-tree> |
|
|
|
</a-drawer> |
|
|
|
</ns-drawer> |
|
|
|
|
|
|
|
<a-drawer |
|
|
|
:width="600" |
|
|
|
:visible="serviceVisible" |
|
|
|
:body-style="{ paddingBottom: '80px' }" |
|
|
|
:footer-style="{ textAlign: 'right' }" |
|
|
|
destroyOnClose |
|
|
|
@close="onClose"> |
|
|
|
<a-input-search |
|
|
|
<ns-drawer v-bind="serverDrawer"> |
|
|
|
<ns-input-search |
|
|
|
placeholder="请选择开通模块" |
|
|
|
v-model:value="searchValue" |
|
|
|
style="margin-bottom: 8px" |
|
|
|
@search="onSearch" /> |
|
|
|
<a-tree |
|
|
|
:tree-data="treeData" |
|
|
|
v-model:checkedKeys="checkedKeys" |
|
|
|
checkable |
|
|
|
@select="ServiceSelect"> |
|
|
|
<template #title="{ title }"> |
|
|
|
{{ title }} |
|
|
|
</template> |
|
|
|
</a-tree> |
|
|
|
<ns-button style="margin: 20px" type="primary" @click="onClose">取消</ns-button> |
|
|
|
<ns-button type="primary" @click="Sure">确定</ns-button> |
|
|
|
</a-drawer> |
|
|
|
<a-tree v-if="treeData?.length" v-model:checkedKeys="checkedKeys" v-bind="serverTree" /> |
|
|
|
</ns-drawer> |
|
|
|
|
|
|
|
<TreeAdd ref="treeAdd" /> |
|
|
|
</template> |
|
|
@ -85,52 +69,114 @@ |
|
|
|
const serviceVisible = ref(false); |
|
|
|
const treeAddVisible = ref(false); |
|
|
|
const formSchema = formConfig; |
|
|
|
const opType = ref<string>('add'); |
|
|
|
const calMap = { |
|
|
|
add: enterPrise.save, |
|
|
|
edit: enterPrise.edit, |
|
|
|
}; |
|
|
|
const comApi = computed(() => { |
|
|
|
return calMap[opType.value as keyof typeof calMap]; |
|
|
|
}); |
|
|
|
const tableConfig = computed(() => { |
|
|
|
return insertConfig(visible); |
|
|
|
return insertConfig({ |
|
|
|
visible, |
|
|
|
formData, |
|
|
|
opType, |
|
|
|
getOrgRandomCode, |
|
|
|
borderVisible, |
|
|
|
serviceVisible, |
|
|
|
server: { |
|
|
|
getTree, |
|
|
|
}, |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
const getOrgRandomCode = () => { |
|
|
|
http.post(enterPrise.getCode).then((res) => { |
|
|
|
formData.value.projectId = res.data; |
|
|
|
formData.value.orgCode = res.data; |
|
|
|
}); |
|
|
|
}; |
|
|
|
getOrgRandomCode(); |
|
|
|
|
|
|
|
// drawer form |
|
|
|
const opMap: any = { |
|
|
|
type: 'add', |
|
|
|
fuc: () => {}, |
|
|
|
record: {}, |
|
|
|
const onClose = () => { |
|
|
|
visible.value = false; |
|
|
|
borderVisible.value = false; |
|
|
|
serviceVisible.value = false; |
|
|
|
}; |
|
|
|
|
|
|
|
watch(checkedKeys, () => { |
|
|
|
console.log('checkedKeys', checkedKeys.value); |
|
|
|
// 企业表单drawer |
|
|
|
const addDrawerConfig = ref({ |
|
|
|
width: '520', |
|
|
|
visible: visible, |
|
|
|
footerStyle: { textAlign: 'right' }, |
|
|
|
destroyOnClose: true, |
|
|
|
onClose: onClose, |
|
|
|
}); |
|
|
|
|
|
|
|
const handleSelect = (selectedKeys: any, info: any) => { |
|
|
|
console.log(selectedKeys, 'selectedKeys'); |
|
|
|
console.log(info, 'info'); |
|
|
|
const formDisabled = computed(() => { |
|
|
|
return formRef.value?.validateResult; |
|
|
|
}); |
|
|
|
|
|
|
|
//企业表单数据操作 |
|
|
|
const operateForm = () => { |
|
|
|
formRef.value?.triggerSubmit().then((res) => { |
|
|
|
console.log(formData.value, 'formData.value'); |
|
|
|
http.post(comApi.value, res).then(() => { |
|
|
|
NsMessage.success('操作成功'); |
|
|
|
visible.value = false; |
|
|
|
mainRef.value?.nsTableRef.reload(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}; |
|
|
|
|
|
|
|
// 服务操作逻辑区域 |
|
|
|
const serverOK = () => { |
|
|
|
serviceVisible.value = false; |
|
|
|
}; |
|
|
|
const ServiceSelect = (selectedKeys: any, info: any) => { |
|
|
|
console.log(selectedKeys, 'selectedKeys'); |
|
|
|
console.log(info, 'info'); |
|
|
|
}; |
|
|
|
|
|
|
|
const onClose = () => { |
|
|
|
visible.value = false; |
|
|
|
borderVisible.value = false; |
|
|
|
serviceVisible.value = false; |
|
|
|
const serverTree = ref({ |
|
|
|
checkable: true, |
|
|
|
onSelect: ServiceSelect, |
|
|
|
defaultExpandAll: true, |
|
|
|
treeData: treeData, |
|
|
|
fieldNames: { children: 'menus', title: 'label', key: 'code' }, |
|
|
|
}); |
|
|
|
|
|
|
|
const getTree = (params) => { |
|
|
|
http.post(enterPrise.permissionTree, params).then((res) => { |
|
|
|
treeData.value = res.data.data; |
|
|
|
}); |
|
|
|
}; |
|
|
|
|
|
|
|
const addDrawerConfig = ref({ |
|
|
|
width: '520', |
|
|
|
visible: visible, |
|
|
|
// 开通服务模块drawer |
|
|
|
const serverDrawer = ref({ |
|
|
|
width: '450', |
|
|
|
visible: serviceVisible, |
|
|
|
footerStyle: { textAlign: 'right' }, |
|
|
|
destroyOnClose: true, |
|
|
|
onClose: onClose, |
|
|
|
ok: serverOK, |
|
|
|
cancel: onClose, |
|
|
|
}); |
|
|
|
|
|
|
|
// drawer form |
|
|
|
const opMap: any = { |
|
|
|
type: 'add', |
|
|
|
fuc: () => {}, |
|
|
|
record: {}, |
|
|
|
}; |
|
|
|
|
|
|
|
watch(checkedKeys, () => { |
|
|
|
console.log('checkedKeys', checkedKeys.value); |
|
|
|
}); |
|
|
|
|
|
|
|
const handleSelect = (selectedKeys: any, info: any) => { |
|
|
|
console.log(selectedKeys, 'selectedKeys'); |
|
|
|
console.log(info, 'info'); |
|
|
|
}; |
|
|
|
|
|
|
|
const borderAdd = () => { |
|
|
|
treeAddVisible.value = true; |
|
|
|
treeAdd.value?.toggle(); |
|
|
@ -140,18 +186,6 @@ |
|
|
|
treeAddVisible.value = true; |
|
|
|
}; |
|
|
|
|
|
|
|
const onEdit = () => { |
|
|
|
formRef.value?.triggerSubmit().then(() => { |
|
|
|
console.log(formData.value, 'formData.value'); |
|
|
|
opMap.fuc && opMap.fuc(formData.value); |
|
|
|
visible.value = false; |
|
|
|
}); |
|
|
|
}; |
|
|
|
|
|
|
|
const Sure = () => { |
|
|
|
serviceVisible.value = false; |
|
|
|
}; |
|
|
|
|
|
|
|
const editTree = (title: any, key: any) => { |
|
|
|
console.log(title, 'title'); |
|
|
|
console.log(key, 'key'); |
|
|
|