|
@@ -19,13 +19,17 @@
|
|
<el-option v-for="item in projectTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
<el-option v-for="item in projectTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item> -->
|
|
</el-form-item> -->
|
|
- <el-form-item label="储存类型" prop="storageType" v-if="addform.nodeType==1">
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ <!-- <el-form-item label="储存类型" prop="storageType" v-if="addform.nodeType==1">
|
|
<el-select v-model="addform.storageType" placeholder="请选择" size="large" style="width:100%">
|
|
<el-select v-model="addform.storageType" placeholder="请选择" size="large" style="width:100%">
|
|
<el-option v-for="item in storageTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
<el-option v-for="item in storageTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
- </el-form-item>
|
|
|
|
|
|
+ </el-form-item> -->
|
|
|
|
+
|
|
|
|
+ <template v-if="true">
|
|
|
|
|
|
- <template v-if="addform.nodeType==2">
|
|
|
|
|
|
+
|
|
<el-form-item label="是否存储节点" prop="isStorageNode">
|
|
<el-form-item label="是否存储节点" prop="isStorageNode">
|
|
<el-select v-model="addform.isStorageNode" placeholder="请选择" size="large" style="width:100%">
|
|
<el-select v-model="addform.isStorageNode" placeholder="请选择" size="large" style="width:100%">
|
|
<el-option v-for="item in storageNodeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
<el-option v-for="item in storageNodeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
@@ -106,19 +110,21 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
|
|
+import {useAppStore} from "~src/store";
|
|
import {ref, watch, onMounted,nextTick,toRefs,computed } from "vue";
|
|
import {ref, watch, onMounted,nextTick,toRefs,computed } from "vue";
|
|
import {roletree,getDictionary,archiveTreeSave,archiveTreeDetail,archiveTreeUpdate} from "~api/other";
|
|
import {roletree,getDictionary,archiveTreeSave,archiveTreeDetail,archiveTreeUpdate} from "~api/other";
|
|
|
|
+import archiveFileApi from "~api/archiveFile/archiveFile";
|
|
|
|
+import {getArrValue,isArrItem} from "js-fast-way"
|
|
|
|
+const useAppState = useAppStore()
|
|
|
|
|
|
|
|
+const contractId = ref(useAppState.getContractId);
|
|
//参数
|
|
//参数
|
|
const props = defineProps({
|
|
const props = defineProps({
|
|
projectId: {
|
|
projectId: {
|
|
type: [String,Number],
|
|
type: [String,Number],
|
|
default: ''
|
|
default: ''
|
|
},
|
|
},
|
|
- contractId: {
|
|
|
|
- type: [String,Number],
|
|
|
|
- default: ''
|
|
|
|
- },
|
|
|
|
|
|
+
|
|
node: {
|
|
node: {
|
|
type: Object,
|
|
type: Object,
|
|
default: () => ({})
|
|
default: () => ({})
|
|
@@ -134,20 +140,23 @@ const props = defineProps({
|
|
})
|
|
})
|
|
|
|
|
|
const projectId = ref(props.projectId);
|
|
const projectId = ref(props.projectId);
|
|
-const contractId = ref(props.contractId);
|
|
|
|
|
|
+
|
|
// 使用toRefs结构,使其具有响应式
|
|
// 使用toRefs结构,使其具有响应式
|
|
const {node} = toRefs(props);
|
|
const {node} = toRefs(props);
|
|
|
|
|
|
//监听
|
|
//监听
|
|
watch(() => [
|
|
watch(() => [
|
|
props.projectId,
|
|
props.projectId,
|
|
- props.contractId,
|
|
|
|
-], ([UserProjectId, UserContractId]) => {
|
|
|
|
|
|
+
|
|
|
|
+], ([UserProjectId]) => {
|
|
|
|
+
|
|
projectId.value = UserProjectId
|
|
projectId.value = UserProjectId
|
|
- contractId.value = UserContractId
|
|
|
|
|
|
+
|
|
|
|
+
|
|
})
|
|
})
|
|
|
|
|
|
watch(() => [props.show,props.type],([newShow,newType])=>{
|
|
watch(() => [props.show,props.type],([newShow,newType])=>{
|
|
|
|
+
|
|
//console.log(newShow,newType)
|
|
//console.log(newShow,newType)
|
|
if(newShow){
|
|
if(newShow){
|
|
if(newType == 'add'){
|
|
if(newType == 'add'){
|
|
@@ -157,6 +166,7 @@ watch(() => [props.show,props.type],([newShow,newType])=>{
|
|
}
|
|
}
|
|
}else{
|
|
}else{
|
|
cancelClick();
|
|
cancelClick();
|
|
|
|
+ addNodeModal.value = false;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
@@ -185,6 +195,7 @@ let addform = ref({})
|
|
let addNodeModal = ref(false)
|
|
let addNodeModal = ref(false)
|
|
|
|
|
|
const addNode = async()=>{
|
|
const addNode = async()=>{
|
|
|
|
+
|
|
//console.log(node.value.data)
|
|
//console.log(node.value.data)
|
|
const {code,data } = await archiveTreeDetail({
|
|
const {code,data } = await archiveTreeDetail({
|
|
id:node.value.data.id
|
|
id:node.value.data.id
|
|
@@ -192,13 +203,22 @@ const addNode = async()=>{
|
|
if (code == 200) {
|
|
if (code == 200) {
|
|
delete data['id'];
|
|
delete data['id'];
|
|
delete data['nodeName'];
|
|
delete data['nodeName'];
|
|
|
|
+
|
|
//新增的信息和父级一样
|
|
//新增的信息和父级一样
|
|
//是否竣工图,是否接口节点。默认否
|
|
//是否竣工图,是否接口节点。默认否
|
|
data.isInterfaceNode = 2;
|
|
data.isInterfaceNode = 2;
|
|
data.interfaceType = 2;
|
|
data.interfaceType = 2;
|
|
|
|
|
|
addform.value = data;
|
|
addform.value = data;
|
|
|
|
+ console.log(data,'data');
|
|
addNodeModal.value = true;
|
|
addNodeModal.value = true;
|
|
|
|
+ if(data.isStorageNode==1){
|
|
|
|
+ emit('hide', {})
|
|
|
|
+ window.$message.warning('存储节点下面不允许新增节点')
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -206,6 +226,48 @@ const cancelClick = () => {
|
|
emit('hide', {})
|
|
emit('hide', {})
|
|
addNodeModal.value = false
|
|
addNodeModal.value = false
|
|
}
|
|
}
|
|
|
|
+// const confirmClick = async () => {
|
|
|
|
+// await ruleFormRef.value.validate(async (valid, fields) => {
|
|
|
|
+// if (valid) {
|
|
|
|
+// let form = {
|
|
|
|
+// id: addform.value.id,
|
|
|
|
+// projectId:projectId.value,
|
|
|
|
+// parentId: node.value.data.id, //上级节点id
|
|
|
|
+// nodeName: addform.value.nodeName, //节点名称
|
|
|
|
+// nodeType: addform.value.nodeType, // 节点类型
|
|
|
|
+// postType: addform.value.postType, //岗位类型
|
|
|
|
+
|
|
|
|
+// projectType:addform.value.projectType, //工程类型
|
|
|
|
+// storageType:addform.value.storageType, //储存类型
|
|
|
|
+// }
|
|
|
|
+// if(addform.value.nodeType == 2){
|
|
|
|
+// form.isStorageNode = addform.value.isStorageNode //是否为存储节点
|
|
|
|
+// if(addform.value.isStorageNode == 1){
|
|
|
|
+// form.isBuiltDrawing = addform.value.isBuiltDrawing //竣工图
|
|
|
|
+// form.isInterfaceNode = addform.value.isInterfaceNode //是否接口节点
|
|
|
|
+// if(addform.value.isInterfaceNode == 1){
|
|
|
|
+// form.interfaceType = addform.value.interfaceType //选择接口类型
|
|
|
|
+// }
|
|
|
|
+// }else{
|
|
|
|
+// delete form.storageType
|
|
|
|
+// }
|
|
|
|
+// }else if (addform.value.nodeType == 1){
|
|
|
|
+// form.associationType = addform.value.associationType //关联类型
|
|
|
|
+// if(addform.value.associationType == 1){
|
|
|
|
+// form.majorDataType = addform.value.majorDataType //内业资料类型
|
|
|
|
+// form.displayHierarchy = addform.value.displayHierarchy //显示层级
|
|
|
|
+// }else if(addform.value.associationType == 2){
|
|
|
|
+// // form.expDataType = addform.value.expDataType.join(',')//文件类型
|
|
|
|
+// form.expDataType = addform.value.expDataType//文件类型
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+// await saveTreeNode(form)
|
|
|
|
+
|
|
|
|
+// addNodeModal.value = false
|
|
|
|
+// }
|
|
|
|
+// })
|
|
|
|
+// }
|
|
const confirmClick = async () => {
|
|
const confirmClick = async () => {
|
|
await ruleFormRef.value.validate(async (valid, fields) => {
|
|
await ruleFormRef.value.validate(async (valid, fields) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
@@ -220,7 +282,7 @@ const confirmClick = async () => {
|
|
projectType:addform.value.projectType, //工程类型
|
|
projectType:addform.value.projectType, //工程类型
|
|
storageType:addform.value.storageType, //储存类型
|
|
storageType:addform.value.storageType, //储存类型
|
|
}
|
|
}
|
|
- if(addform.value.nodeType == 2){
|
|
|
|
|
|
+
|
|
form.isStorageNode = addform.value.isStorageNode //是否为存储节点
|
|
form.isStorageNode = addform.value.isStorageNode //是否为存储节点
|
|
if(addform.value.isStorageNode == 1){
|
|
if(addform.value.isStorageNode == 1){
|
|
form.isBuiltDrawing = addform.value.isBuiltDrawing //竣工图
|
|
form.isBuiltDrawing = addform.value.isBuiltDrawing //竣工图
|
|
@@ -231,7 +293,7 @@ const confirmClick = async () => {
|
|
}else{
|
|
}else{
|
|
delete form.storageType
|
|
delete form.storageType
|
|
}
|
|
}
|
|
- }else if (addform.value.nodeType == 1){
|
|
|
|
|
|
+
|
|
form.associationType = addform.value.associationType //关联类型
|
|
form.associationType = addform.value.associationType //关联类型
|
|
if(addform.value.associationType == 1){
|
|
if(addform.value.associationType == 1){
|
|
form.majorDataType = addform.value.majorDataType //内业资料类型
|
|
form.majorDataType = addform.value.majorDataType //内业资料类型
|
|
@@ -240,7 +302,7 @@ const confirmClick = async () => {
|
|
// form.expDataType = addform.value.expDataType.join(',')//文件类型
|
|
// form.expDataType = addform.value.expDataType.join(',')//文件类型
|
|
form.expDataType = addform.value.expDataType//文件类型
|
|
form.expDataType = addform.value.expDataType//文件类型
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
|
|
await saveTreeNode(form)
|
|
await saveTreeNode(form)
|
|
|
|
|
|
@@ -250,7 +312,7 @@ const confirmClick = async () => {
|
|
}
|
|
}
|
|
|
|
|
|
const saveTreeNode = async (form)=>{
|
|
const saveTreeNode = async (form)=>{
|
|
- if (form.majorDataType) {
|
|
|
|
|
|
+ if (form?.majorDataType&&isArrItem( form?.majorDataType)) {
|
|
if (form.majorDataType.length > 0) {
|
|
if (form.majorDataType.length > 0) {
|
|
let das = ''
|
|
let das = ''
|
|
form.majorDataType.forEach((val, key) => {
|
|
form.majorDataType.forEach((val, key) => {
|
|
@@ -263,7 +325,15 @@ const saveTreeNode = async (form)=>{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (addform.value.id) {
|
|
if (addform.value.id) {
|
|
- await archiveTreeUpdateHandle(form)
|
|
|
|
|
|
+ console.log(isEditsto.value,'isEditsto.value');
|
|
|
|
+ console.log(ishabvFile.value,'ishabvFile.value');
|
|
|
|
+ // await archiveTreeUpdateHandle(form)
|
|
|
|
+ if(isEditsto.value===1&&addform.value.isStorageNode===2&&ishabvFile.value){
|
|
|
|
+ //是否存储类型由是改为否,要判断该节点下是否有存储文件
|
|
|
|
+ window.$message.warning('当前节点下有存储文件,请迁移或删除后再变更')
|
|
|
|
+ }else{
|
|
|
|
+ await archiveTreeUpdateHandle(form)
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
await archiveTreeSaveHandle(form)
|
|
await archiveTreeSaveHandle(form)
|
|
}
|
|
}
|
|
@@ -290,14 +360,40 @@ const archiveTreeUpdateHandle = async (form)=>{//编辑
|
|
node.value.data.storageType = form.storageType;
|
|
node.value.data.storageType = form.storageType;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+const ishabvFile=ref(false)
|
|
|
|
+//查询该节点下有没有文件
|
|
|
|
+const getTableData = async (nodeid) => {
|
|
|
|
+ console.log(contractId.value,'contractId.value');
|
|
|
|
+ const { error, code, data } = await archiveFileApi.getarchiveFilePage({
|
|
|
|
+ nodeIds: nodeid,
|
|
|
|
+ current: 1,
|
|
|
|
+ size: 20,
|
|
|
|
+ total: 0,
|
|
|
|
+ projectId: projectId.value,
|
|
|
|
+ contractId:contractId.value
|
|
|
|
+ })
|
|
|
|
+ if (!error && code === 200) {
|
|
|
|
+ let dataarr=getArrValue(data['records'])
|
|
|
|
+ if(dataarr.length>0){
|
|
|
|
+ ishabvFile.value=true
|
|
|
|
+ }else{
|
|
|
|
+ ishabvFile.value=false
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ ishabvFile.value=false
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+const isEditsto=ref('')//原始为存储节点
|
|
//编辑节点
|
|
//编辑节点
|
|
const editNodeModal = async ()=>{
|
|
const editNodeModal = async ()=>{
|
|
|
|
+ getTableData(node.value.data.id)
|
|
const {code,data } = await archiveTreeDetail({
|
|
const {code,data } = await archiveTreeDetail({
|
|
id:node.value.data.id
|
|
id:node.value.data.id
|
|
})
|
|
})
|
|
if (code == 200) {
|
|
if (code == 200) {
|
|
addform.value = data;
|
|
addform.value = data;
|
|
|
|
+ isEditsto.value=data.isStorageNode
|
|
|
|
+
|
|
addNodeModal.value = true
|
|
addNodeModal.value = true
|
|
}
|
|
}
|
|
//addform.value = node.data;
|
|
//addform.value = node.data;
|