|
@@ -52,12 +52,12 @@
|
|
<div class="hc-layout-content-box">
|
|
<div class="hc-layout-content-box">
|
|
<HcCard :scrollbar="false" actionSize="lg">
|
|
<HcCard :scrollbar="false" actionSize="lg">
|
|
<template #header>
|
|
<template #header>
|
|
- <el-tooltip :content="btn_drawings?.textInfo" placement="top-start" :disabled="!bubbleVal || !btn_drawings?.textInfo" v-if="btn_drawings">
|
|
|
|
|
|
+ <HcTooltip keys="wbs_views_drawings" v-if="NodeStatus !== '3'">
|
|
<el-button hc-btn :disabled="!nodeDataInfo?.fileUrl" @click="viewsDrawings">
|
|
<el-button hc-btn :disabled="!nodeDataInfo?.fileUrl" @click="viewsDrawings">
|
|
<HcIcon name="wallpaper"/>
|
|
<HcIcon name="wallpaper"/>
|
|
<span>查看图纸</span>
|
|
<span>查看图纸</span>
|
|
</el-button>
|
|
</el-button>
|
|
- </el-tooltip>
|
|
|
|
|
|
+ </HcTooltip>
|
|
<el-button :type="authBtnTabKey === '1'?'primary':''" hc-btn @click="authBtnTabClick('1')">
|
|
<el-button :type="authBtnTabKey === '1'?'primary':''" hc-btn @click="authBtnTabClick('1')">
|
|
<HcIcon name="e911_emergency"/>
|
|
<HcIcon name="e911_emergency"/>
|
|
<span>施工质检</span>
|
|
<span>施工质检</span>
|
|
@@ -80,30 +80,30 @@
|
|
|
|
|
|
<!--底部按钮区域-->
|
|
<!--底部按钮区域-->
|
|
<template #action>
|
|
<template #action>
|
|
- <el-tooltip :content="btn_save?.textInfo" placement="top-start" :disabled="!bubbleVal || !btn_save?.textInfo" v-if="btn_save && NodeStatus !== '3'">
|
|
|
|
|
|
+ <HcTooltip keys="wbs_save" v-if="NodeStatus !== '3'">
|
|
<el-button type="primary" hc-btn :disabled="NodeStatus === '3'" :loading="tableFormSaveLoading" @click="tableFormSaveClick">
|
|
<el-button type="primary" hc-btn :disabled="NodeStatus === '3'" :loading="tableFormSaveLoading" @click="tableFormSaveClick">
|
|
<HcIcon name="save"/>
|
|
<HcIcon name="save"/>
|
|
<span>保存</span>
|
|
<span>保存</span>
|
|
</el-button>
|
|
</el-button>
|
|
- </el-tooltip>
|
|
|
|
- <el-tooltip :content="btn_report?.textInfo" placement="top-start" :disabled="!bubbleVal || !btn_report?.textInfo" v-if="btn_report && NodeStatus !== '3'">
|
|
|
|
|
|
+ </HcTooltip>
|
|
|
|
+ <HcTooltip keys="wbs_report" v-if="NodeStatus !== '3'">
|
|
<el-button hc-btn :disabled="NodeStatus === '3' || NodeStatus === '1'" @click="reportModalClick">
|
|
<el-button hc-btn :disabled="NodeStatus === '3' || NodeStatus === '1'" @click="reportModalClick">
|
|
<HcIcon name="drive_folder_upload"/>
|
|
<HcIcon name="drive_folder_upload"/>
|
|
<span>上报</span>
|
|
<span>上报</span>
|
|
</el-button>
|
|
</el-button>
|
|
- </el-tooltip>
|
|
|
|
- <el-tooltip :content="btn_preview?.textInfo" placement="top-start" :disabled="!bubbleVal || !btn_preview?.textInfo" v-if="btn_preview">
|
|
|
|
|
|
+ </HcTooltip>
|
|
|
|
+ <HcTooltip keys="wbs_preview">
|
|
<el-button hc-btn :disabled="NodeStatus === '1'" :loading="bussPdfsLoading" @click="bussPdfsClick">
|
|
<el-button hc-btn :disabled="NodeStatus === '1'" :loading="bussPdfsLoading" @click="bussPdfsClick">
|
|
<HcIcon name="visibility"/>
|
|
<HcIcon name="visibility"/>
|
|
<span>预览</span>
|
|
<span>预览</span>
|
|
</el-button>
|
|
</el-button>
|
|
- </el-tooltip>
|
|
|
|
- <el-tooltip :content="btn_abolish?.textInfo" placement="top-start" :disabled="!bubbleVal || !btn_abolish?.textInfo" v-if="btn_abolish && NodeStatus === '3'">
|
|
|
|
|
|
+ </HcTooltip>
|
|
|
|
+ <HcTooltip keys="wbs_abolish" v-if="NodeStatus === '3'">
|
|
<el-button hc-btn @click="abolishOneClick">
|
|
<el-button hc-btn @click="abolishOneClick">
|
|
<HcIcon name="undo"/>
|
|
<HcIcon name="undo"/>
|
|
<span>撤回上报流程</span>
|
|
<span>撤回上报流程</span>
|
|
</el-button>
|
|
</el-button>
|
|
- </el-tooltip>
|
|
|
|
|
|
+ </HcTooltip>
|
|
</template>
|
|
</template>
|
|
</HcCard>
|
|
</HcCard>
|
|
</div>
|
|
</div>
|
|
@@ -256,6 +256,7 @@ import {ref,watch,nextTick,onMounted} from "vue";
|
|
import {useRouter, useRoute} from 'vue-router'
|
|
import {useRouter, useRoute} from 'vue-router'
|
|
import {useAppStore} from "~src/store/index";
|
|
import {useAppStore} from "~src/store/index";
|
|
import {hIconJs} from "~src/plugins/renderele";
|
|
import {hIconJs} from "~src/plugins/renderele";
|
|
|
|
+import {HcIsButton} from "~src/plugins/IsButtons";
|
|
import ListItem from "./components/ListItem.vue"
|
|
import ListItem from "./components/ListItem.vue"
|
|
import NodeTree from "./components/nodeTree/index.vue"
|
|
import NodeTree from "./components/nodeTree/index.vue"
|
|
import ImgPreview from "~com/imgPreview/index.vue"
|
|
import ImgPreview from "~com/imgPreview/index.vue"
|
|
@@ -281,7 +282,6 @@ const contractId = ref(useAppState.getContractId);
|
|
const projectInfo = ref(useAppState.getProjectInfo);
|
|
const projectInfo = ref(useAppState.getProjectInfo);
|
|
const contractInfo = ref(useAppState.getContractInfo);
|
|
const contractInfo = ref(useAppState.getContractInfo);
|
|
const isCollapse = ref(useAppState.getCollapse)
|
|
const isCollapse = ref(useAppState.getCollapse)
|
|
-const bubbleVal = ref(useAppState.getBubble);
|
|
|
|
|
|
|
|
//路由参数
|
|
//路由参数
|
|
const routerQuery = useRoutes?.query;
|
|
const routerQuery = useRoutes?.query;
|
|
@@ -292,41 +292,15 @@ const TreeAutoExpandKeys = ref(getStoreData('wbsTreeExpandKeys') || [])
|
|
|
|
|
|
//监听
|
|
//监听
|
|
watch(() => [
|
|
watch(() => [
|
|
- useAppState.getProjectId,
|
|
|
|
- useAppState.getContractId,
|
|
|
|
- useAppState.getProjectInfo,
|
|
|
|
- useAppState.getContractInfo,
|
|
|
|
- useAppState.getBubble,
|
|
|
|
useAppState.getCollapse
|
|
useAppState.getCollapse
|
|
-], ([UserProjectId, UserContractId, UserProjectInfo, UserContractInfo, Bubble, Collapse]) => {
|
|
|
|
- projectId.value = UserProjectId
|
|
|
|
- contractId.value = UserContractId
|
|
|
|
- projectInfo.value = UserProjectInfo
|
|
|
|
- contractInfo.value = UserContractInfo
|
|
|
|
- bubbleVal.value = Bubble
|
|
|
|
|
|
+], ([Collapse]) => {
|
|
isCollapse.value = Collapse
|
|
isCollapse.value = Collapse
|
|
- setContractType(UserContractInfo?.contractType)
|
|
|
|
})
|
|
})
|
|
|
|
|
|
-//获取气泡数据
|
|
|
|
-const getButtons = (value) => {
|
|
|
|
- return useAppState.getButtonsVal(value)
|
|
|
|
-}
|
|
|
|
-//气泡数据
|
|
|
|
-const btn_drawings = ref(getButtons('wbs_views_drawings')) //查看图纸
|
|
|
|
-const btn_save = ref(getButtons('wbs_save')) //保存
|
|
|
|
-const btn_preview = ref(getButtons('wbs_preview')) //预览
|
|
|
|
-const btn_report = ref(getButtons('wbs_report')) //上报
|
|
|
|
-const btn_abolish = ref(getButtons('wbs_abolish')) //撤回上报流程
|
|
|
|
-
|
|
|
|
-//树菜单
|
|
|
|
-const tree_menu_edit = ref(getButtons('wbs_tree_edit')) //编辑节点
|
|
|
|
-const tree_menu_mark = ref(getButtons('wbs_tree_mark')) //标记为首件
|
|
|
|
-const tree_menu_copy = ref(getButtons('wbs_tree_copy')) //复制节点
|
|
|
|
-const tree_menu_add = ref(getButtons('wbs_tree_add')) //新增节点
|
|
|
|
-const tree_menu_up = ref(getButtons('wbs_tree_upload')) //上传图纸
|
|
|
|
-const tree_menu_del = ref(getButtons('wbs_tree_del')) //删除节点
|
|
|
|
-const tree_menu_sort = ref(getButtons('wbs_tree_sort')) //调整排序
|
|
|
|
|
|
+//渲染完成
|
|
|
|
+onMounted(()=> {
|
|
|
|
+ setContractType(contractInfo.value?.contractType)
|
|
|
|
+})
|
|
|
|
|
|
//身份按钮切换数据
|
|
//身份按钮切换数据
|
|
const authBtnTabKey = ref('1')
|
|
const authBtnTabKey = ref('1')
|
|
@@ -336,13 +310,14 @@ const authBtnTabClick = (val) => {
|
|
getTableDataAll()
|
|
getTableDataAll()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+//contractType, 1施工,2监理
|
|
const setContractType = (contractType) => {
|
|
const setContractType = (contractType) => {
|
|
- //contractType, 1施工,2监理
|
|
|
|
if (contractType <= 0) {
|
|
if (contractType <= 0) {
|
|
authBtnTabKey.value = '1'
|
|
authBtnTabKey.value = '1'
|
|
} else {
|
|
} else {
|
|
authBtnTabKey.value = contractType + ''
|
|
authBtnTabKey.value = contractType + ''
|
|
}
|
|
}
|
|
|
|
+ setElTreeMenu(contractType)
|
|
}
|
|
}
|
|
|
|
|
|
const getTableDataAll = () => {
|
|
const getTableDataAll = () => {
|
|
@@ -364,13 +339,6 @@ const wbsTypeTabChange = async (item) => {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
-//渲染完成
|
|
|
|
-onMounted(()=> {
|
|
|
|
- const contractType = contractInfo.value?.contractType
|
|
|
|
- setContractType(contractType)
|
|
|
|
- setElTreeMenu()
|
|
|
|
-})
|
|
|
|
-
|
|
|
|
//上传文件的
|
|
//上传文件的
|
|
const action = ref("/api/blade-resource/oss/endpoint/put-file")
|
|
const action = ref("/api/blade-resource/oss/endpoint/put-file")
|
|
const accept = ref("image/png,image/jpg,image/jpeg")
|
|
const accept = ref("image/png,image/jpg,image/jpeg")
|
|
@@ -380,29 +348,38 @@ const NodeTreeAccordion = ref(true)
|
|
//设置树菜单数据
|
|
//设置树菜单数据
|
|
const ElTreeMenu = ref([])
|
|
const ElTreeMenu = ref([])
|
|
const TreeMark = ref(false)
|
|
const TreeMark = ref(false)
|
|
-const setElTreeMenu = () => {
|
|
|
|
|
|
+const setElTreeMenu = (contractType) => {
|
|
let newArr = [];
|
|
let newArr = [];
|
|
- if (tree_menu_edit.value) {
|
|
|
|
- newArr.push({icon: hIconJs({name:'border_color'}), label: '编辑节点', key: "edit"})
|
|
|
|
- }
|
|
|
|
- if (tree_menu_mark.value) {
|
|
|
|
- newArr.push({icon: hIconJs({name:'grade'}), label: '标记为首件', key: "mark"})
|
|
|
|
- TreeMark.value = true
|
|
|
|
- }
|
|
|
|
- if (tree_menu_copy.value) {
|
|
|
|
- newArr.push({icon: hIconJs({name:'difference'}), label: '复制节点', key: "copy"})
|
|
|
|
- }
|
|
|
|
- if (tree_menu_add.value) {
|
|
|
|
- newArr.push({icon: hIconJs({name:'add_box'}), label: '新增节点', key: "add"})
|
|
|
|
- }
|
|
|
|
- if (tree_menu_up.value) {
|
|
|
|
- newArr.push({icon: hIconJs({name:'backup'}), label: '上传图纸', key: "upload"})
|
|
|
|
- }
|
|
|
|
- if (tree_menu_del.value) {
|
|
|
|
- newArr.push({icon: hIconJs({name:'delete'}), label: '删除节点', key: "del"})
|
|
|
|
- }
|
|
|
|
- if (tree_menu_sort.value) {
|
|
|
|
- newArr.push({icon: hIconJs({name:'sort'}), label: '调整排序', key: "sort"})
|
|
|
|
|
|
+ if (contractType === 1) {
|
|
|
|
+ if (HcIsButton('wbs_tree_edit')) {
|
|
|
|
+ newArr.push({icon: hIconJs({name:'border_color'}), label: '编辑节点', key: "edit"})
|
|
|
|
+ }
|
|
|
|
+ if (HcIsButton('wbs_tree_mark')) {
|
|
|
|
+ newArr.push({icon: hIconJs({name:'grade'}), label: '标记为首件', key: "mark"})
|
|
|
|
+ TreeMark.value = true
|
|
|
|
+ }
|
|
|
|
+ if (HcIsButton('wbs_tree_copy')) {
|
|
|
|
+ newArr.push({icon: hIconJs({name:'difference'}), label: '复制节点', key: "copy"})
|
|
|
|
+ }
|
|
|
|
+ if (HcIsButton('wbs_tree_add')) {
|
|
|
|
+ newArr.push({icon: hIconJs({name:'add_box'}), label: '新增节点', key: "add"})
|
|
|
|
+ }
|
|
|
|
+ if (HcIsButton('wbs_tree_upload')) {
|
|
|
|
+ newArr.push({icon: hIconJs({name:'backup'}), label: '上传图纸', key: "upload"})
|
|
|
|
+ }
|
|
|
|
+ if (HcIsButton('wbs_tree_del')) {
|
|
|
|
+ newArr.push({icon: hIconJs({name:'delete'}), label: '删除节点', key: "del"})
|
|
|
|
+ }
|
|
|
|
+ if (HcIsButton('wbs_tree_sort')) {
|
|
|
|
+ newArr.push({icon: hIconJs({name:'sort'}), label: '调整排序', key: "sort"})
|
|
|
|
+ }
|
|
|
|
+ } else if (contractType === 2) {
|
|
|
|
+ if (HcIsButton('wbs_tree_copy')) {
|
|
|
|
+ newArr.push({icon: hIconJs({name:'difference'}), label: '复制节点', key: "copy"})
|
|
|
|
+ }
|
|
|
|
+ if (HcIsButton('wbs_tree_add')) {
|
|
|
|
+ newArr.push({icon: hIconJs({name:'add_box'}), label: '新增节点', key: "add"})
|
|
|
|
+ }
|
|
}
|
|
}
|
|
ElTreeMenu.value = newArr
|
|
ElTreeMenu.value = newArr
|
|
}
|
|
}
|