|
@@ -12,8 +12,7 @@
|
|
|
</div>
|
|
|
<div class="hc-tree-box" v-loading="treeLoading" element-loading-text="加载中...">
|
|
|
<el-scrollbar>
|
|
|
- <HcTree :projectId="projectId" :contractId="contractId" @nodeTap="projectTreeClick" :menus="ElTreeMenu"
|
|
|
- @menuTap="ElTreeMenuClick" @nodeLoading="treeNodeLoading" ref="treeRef"/>
|
|
|
+ <HcTree :projectId="projectId" :contractId="contractId" @nodeTap="projectTreeClick" @nodeLoading="treeNodeLoading" ref="treeRef"/>
|
|
|
</el-scrollbar>
|
|
|
</div>
|
|
|
<!--左右拖动-->
|
|
@@ -358,143 +357,6 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
-
|
|
|
-
|
|
|
- <el-dialog v-model="addNodeModal" :title="'新增'" width="50rem" class="hc-modal-border" draggable destroy-on-close :close-on-click-modal="false" @closed="cancelClick">
|
|
|
- <el-form :model="addform" ref="ruleFormRef" :rules="rules" label-width="110px">
|
|
|
- <el-form-item label="节点名称" prop="nodeName">
|
|
|
- <el-input v-model="addform.nodeName" size="large"/>
|
|
|
- </el-form-item>
|
|
|
- <!-- <el-form-item label="岗位类型" prop="postType">
|
|
|
- <el-select v-model="addform.postType" placeholder="请选择岗位" size="large" style="width:100%">
|
|
|
- <el-option v-for="item in JobTypeList" :key="item.id" :label="item.title" :value="item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="节点类型" prop="nodeType">
|
|
|
- <el-select :disabled='addform.id' v-model="addform.nodeType" placeholder="请选择节点类型" size="large" style="width:100%">
|
|
|
- <el-option v-for="item in nodeTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="工程类型" prop="projectType">
|
|
|
- <el-select v-model="addform.projectType" placeholder="工程类型" size="large" style="width:100%">
|
|
|
- <el-option v-for="item in projectTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item> -->
|
|
|
- <el-form-item label="储存类型" prop="storageType" v-if="addform.nodeType==1">
|
|
|
- <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-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <template v-if="addform.nodeType==2">
|
|
|
- <el-form-item label="是否存储节点" prop="isStorageNode">
|
|
|
- <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-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <template v-if="addform.isStorageNode==1">
|
|
|
- <el-form-item label="储存类型" prop="storageType">
|
|
|
- <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-select>
|
|
|
- </el-form-item>
|
|
|
- <!-- <el-form-item label="是否竣工图" prop="isBuiltDrawing">
|
|
|
- <el-select v-model="addform.isBuiltDrawing" placeholder="请选择" size="large" style="width:100%">
|
|
|
- <el-option v-for="item in builtDrawingList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="是否接口节点" prop="isInterfaceNode">
|
|
|
- <el-select v-model="addform.isInterfaceNode" placeholder="请选择" size="large" style="width:100%">
|
|
|
- <el-option v-for="item in interfaceNodeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <template v-if="addform.isInterfaceNode==1">
|
|
|
- <el-form-item label="选择接口类型">
|
|
|
- <el-select v-model="addform.interfaceType" placeholder="请选择" size="large" style="width:100%">
|
|
|
- <el-option v-for="item in interfaceTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </template> -->
|
|
|
-
|
|
|
- </template>
|
|
|
- </template>
|
|
|
-
|
|
|
- <!-- <template v-if="addform.nodeType==1">
|
|
|
- <el-form-item label="关联类型" prop="associationType">
|
|
|
- <el-select v-model="addform.associationType" placeholder="请选择" size="large" style="width:100%">
|
|
|
- <el-option v-for="item in associationTypeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <template v-if="addform.associationType==1">
|
|
|
- <el-form-item label="业内资料类型" prop="majorDataType">
|
|
|
- <el-checkbox-group v-model="addform.majorDataType">
|
|
|
- <el-checkbox v-for="item in majorDataTypeList" :key="item.dictKey" :label="item.dictKey" name="type">{{item.dictValue}}</el-checkbox>
|
|
|
- </el-checkbox-group>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="显示层级" prop="displayHierarchy">
|
|
|
- <el-select v-model="addform.displayHierarchy" placeholder="请选择" size="large" style="width:100%">
|
|
|
- <el-option v-for="item in displayHierarchyList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template v-if="addform.associationType==2">
|
|
|
- <el-form-item label="文件类型" prop="expDataType">
|
|
|
- <el-checkbox-group v-model="addform.expDataType">
|
|
|
- <el-checkbox v-for="item in fileTypeList" :key="item.value" :label="item.label">{{item.label}}</el-checkbox>
|
|
|
- </el-checkbox-group>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </template> -->
|
|
|
-
|
|
|
- </el-form>
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button size="large" @click="cancelClick">
|
|
|
- <HcIcon name="close"/>
|
|
|
- <span>取消</span>
|
|
|
- </el-button>
|
|
|
- <el-button type="primary" hc-btn @click="confirmClick">
|
|
|
- <HcIcon name="check"/>
|
|
|
- <span>确认</span>
|
|
|
- </el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
-
|
|
|
- <!--调整节点排序-->
|
|
|
- <HcDialog :show="nodeSortModel" title="调整排序" widths="980px" isTable isRowFooter @close="nodeSortModalClose">
|
|
|
- <el-alert title="可拖动排序,也可在后面点击图标,切换排序" type="warning" :closable="false"/>
|
|
|
- <div class="hc-table-h">
|
|
|
- <HcTable ui="hc-table-row-drop" :column="nodeSortTableColumn" :datas="nodeSortTableData" :loading="nodeSortTableLoading" isRowDrop @row-drop="nodeSortTableRowDrop">
|
|
|
- <template #key2="{row}">
|
|
|
- <span class="text-link">{{row?.key2}}</span>
|
|
|
- </template>
|
|
|
- <template #action="{index}">
|
|
|
- <span class="text-link text-xl" @click="nodeUpSortClick(index)">
|
|
|
- <HcIcon name="arrow-up" fill/>
|
|
|
- </span>
|
|
|
- <span class="text-link text-xl ml-2" @click="nodeDownSortClick(index)">
|
|
|
- <HcIcon name="arrow-down" fill/>
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- </HcTable>
|
|
|
- </div>
|
|
|
- <template #rightRowFooter>
|
|
|
- <el-button hc-btn @click="nodeSortModalClose">
|
|
|
- <HcIcon name="close"/>
|
|
|
- <span>取消</span>
|
|
|
- </el-button>
|
|
|
- <el-button type="primary" hc-btn :loading="nodeSortModalLoading" @click="nodeSortModalSave">
|
|
|
- <HcIcon name="check"/>
|
|
|
- <span>确认</span>
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </HcDialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -509,7 +371,6 @@ import {getArrValue, deepClone} from "vue-utils-plus"
|
|
|
import tasksApi from '~api/tasks/data';
|
|
|
import ossApi from "~api/oss";
|
|
|
import archiveFileApi from "~api/archiveFile/archiveFile.js";
|
|
|
-import {roletree,getDictionary,archiveTreeSave,remove,syncProjectTree,archiveTreeDetail,archiveTreeUpdate,submitArchiveTreeSort} from "~api/other";
|
|
|
|
|
|
//变量
|
|
|
const useAppState = useAppStore()
|
|
@@ -529,11 +390,6 @@ watch(() => [
|
|
|
onMounted(() => {
|
|
|
treeLoading.value = true
|
|
|
setTableColumns()
|
|
|
-
|
|
|
- //数据初始化
|
|
|
- getJobTypeList()
|
|
|
- major_data_type()
|
|
|
- display_hierarchy()
|
|
|
})
|
|
|
|
|
|
//树加载
|
|
@@ -1419,438 +1275,6 @@ const tableRowName = (row) => {
|
|
|
}
|
|
|
|
|
|
|
|
|
-//设置树菜单数据
|
|
|
-const ElTreeMenu = ref([
|
|
|
- {icon: 'add-circle', label: '新增', key: "add"},
|
|
|
- {icon: 'draft', label: '编辑', key: "edit"},
|
|
|
- {icon: 'delete-bin', label: '删除', key: "del"},
|
|
|
- {icon: 'refresh', label: '同步', key: "sync"},
|
|
|
- {icon: 'sort-asc', label: '排序', key: "sort"}
|
|
|
-])
|
|
|
-
|
|
|
-//树菜单被点击
|
|
|
-const nodeItemInfo = ref();
|
|
|
-const ElTreeMenuClick = async ({key,node,data}) => {
|
|
|
- nodeItemInfo.value = node
|
|
|
- // nodeDataInfo.value = data
|
|
|
- setTreeMenuDataClick({key,node,data})
|
|
|
-}
|
|
|
-//处理菜单被点击数据
|
|
|
-const setTreeMenuDataClick = ({key,node,data}) => {
|
|
|
- //console.log(node)
|
|
|
- switch (key) {
|
|
|
- case 'add':
|
|
|
- addNode(node);
|
|
|
- break;
|
|
|
- case 'edit':
|
|
|
- editNodeModal(node);
|
|
|
- break;
|
|
|
- case 'del':
|
|
|
- delNodeMoadl(node);
|
|
|
- break;
|
|
|
- case 'sync':
|
|
|
- syncNodeMoadl(node);
|
|
|
- break;
|
|
|
- case 'sort':
|
|
|
- sortNodeMoadl(node);
|
|
|
- break;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-//新增弹窗
|
|
|
-let addform = ref({})
|
|
|
-let addNodeModal = ref(false)
|
|
|
-
|
|
|
-const addNode = async(node)=>{
|
|
|
- const {code,data } = await archiveTreeDetail({
|
|
|
- id:node.data.id
|
|
|
- })
|
|
|
- if (code == 200) {
|
|
|
- delete data['id'];
|
|
|
- delete data['nodeName'];
|
|
|
- //新增的信息和父级一样
|
|
|
- //是否竣工图,是否接口节点。默认否
|
|
|
- data.isInterfaceNode = 2;
|
|
|
- data.interfaceType = 2;
|
|
|
-
|
|
|
- addform.value = data;
|
|
|
- addNodeModal.value = true;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const cancelClick = () => {
|
|
|
- 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: nodeItemInfo.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(',')//文件类型
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- await saveTreeNode(form)
|
|
|
-
|
|
|
- addNodeModal.value = false
|
|
|
- }
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-const saveTreeNode = async (form)=>{
|
|
|
- if (form.majorDataType) {
|
|
|
- if (form.majorDataType.length > 0) {
|
|
|
- let das = ''
|
|
|
- form.majorDataType.forEach((val, key) => {
|
|
|
- das += val
|
|
|
- if (form.majorDataType.length - 1 != key) {
|
|
|
- das += ','
|
|
|
- }
|
|
|
- })
|
|
|
- form.majorDataType = das
|
|
|
- }
|
|
|
- }
|
|
|
- if (addform.value.id) {
|
|
|
- await archiveTreeUpdateHandle(form)
|
|
|
- } else {
|
|
|
- await archiveTreeSaveHandle(form)
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const archiveTreeSaveHandle = async (form)=>{//新增
|
|
|
- //console.log(form);
|
|
|
- const {code,data} = await archiveTreeSave(form)
|
|
|
- //console.log(res);
|
|
|
- if (code == 200) {
|
|
|
- window.$message?.success('新增成功')
|
|
|
- window?.location?.reload() //刷新页面
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const archiveTreeUpdateHandle = async (form)=>{//新增
|
|
|
- //console.log(form);
|
|
|
- const {code } = await archiveTreeUpdate(form)
|
|
|
- //console.log(res);
|
|
|
- if (code == 200) {
|
|
|
- window.$message?.success('修改成功')
|
|
|
- nodeItemInfo.value.data.title = form.nodeName;
|
|
|
- nodeItemInfo.value.data.isStorageNode = form.isStorageNode;
|
|
|
- nodeItemInfo.value.data.storageType = form.storageType;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-//编辑节点
|
|
|
-const editNodeModal = async (node)=>{
|
|
|
- const {code,data } = await archiveTreeDetail({
|
|
|
- id:node.data.id
|
|
|
- })
|
|
|
- if (code == 200) {
|
|
|
- addform.value = data;
|
|
|
- addNodeModal.value = true
|
|
|
- }
|
|
|
- //addform.value = node.data;
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-const treeRef = ref();
|
|
|
-//删除节点
|
|
|
-const delNodeMoadl = (node)=>{
|
|
|
- delMessage(async() => {
|
|
|
- const {code } = await remove({
|
|
|
- id:node.data.id
|
|
|
- })
|
|
|
- if (code == 200) {
|
|
|
- window.$message?.success('删除成功')
|
|
|
- treeRef.value.ElTreeRef.remove(node)
|
|
|
- }
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-//同步节点
|
|
|
-const syncNodeMoadl = (node)=>{
|
|
|
- window?.$messageBox?.alert('是否同步该节点?', '提示', {
|
|
|
- showCancelButton: true,
|
|
|
- confirmButtonText: '确认同步',
|
|
|
- cancelButtonText: '取消',
|
|
|
- callback: async(action) => {
|
|
|
- if (action === 'confirm') {
|
|
|
- const {code } = await syncProjectTree({
|
|
|
- id:node.data.id
|
|
|
- })
|
|
|
- if (code == 200) {
|
|
|
- window.$message?.success('同步成功')
|
|
|
- window?.location?.reload() //刷新页面
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-//节点排序
|
|
|
-const nodeSortModel = ref(false)
|
|
|
-const nodeSortTableColumn = ref([
|
|
|
- {key:'title', name: '节点名称'},
|
|
|
- {key:'action', name: '排序', width: 90},
|
|
|
-])
|
|
|
-const nodeSortTableData = ref([])
|
|
|
-const nodeSortTableLoading = ref(false)
|
|
|
-const nodeSortModalLoading = ref(false)
|
|
|
-
|
|
|
-
|
|
|
-const nodeSortModalClose = () =>{
|
|
|
- nodeSortModel.value = false;
|
|
|
-}
|
|
|
-
|
|
|
-const nodeSortTableRowDrop = (rows)=>{
|
|
|
- nodeSortTableData.value = rows
|
|
|
-}
|
|
|
-//向下
|
|
|
-const nodeDownSortClick = (index) => {
|
|
|
- const indexs = index + 1
|
|
|
- const data = nodeSortTableData.value
|
|
|
- if(indexs !== data.length) {
|
|
|
- const tmp = data.splice(indexs,1);
|
|
|
- nodeSortTableData.value.splice(index,0,tmp[0]);
|
|
|
- } else {
|
|
|
- window?.$message?.warning('已经处于置底,无法下移')
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-//向上
|
|
|
-const nodeUpSortClick = (index) => {
|
|
|
- const data = nodeSortTableData.value || []
|
|
|
- if(index !== 0) {
|
|
|
- const tmp = data.splice(index - 1,1);
|
|
|
- nodeSortTableData.value.splice(index,0,tmp[0]);
|
|
|
- } else {
|
|
|
- window?.$message?.warning('已经处于置顶,无法上移')
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const sortNodeMoadl = (node)=>{
|
|
|
- nodeSortModel.value = true;
|
|
|
- //console.log(node)
|
|
|
- let list = [];
|
|
|
- if(node.parent){
|
|
|
- node.parent.childNodes.forEach((element)=>{
|
|
|
- list.push(element.data)
|
|
|
- })
|
|
|
- }
|
|
|
- nodeSortTableData.value = list;
|
|
|
-}
|
|
|
-
|
|
|
-const nodeSortModalSave = async()=>{
|
|
|
- nodeSortModalLoading.value = true;
|
|
|
- const {code,data} = await submitArchiveTreeSort(nodeSortTableData.value)
|
|
|
- //console.log(res);
|
|
|
- nodeSortModalLoading.value = false;
|
|
|
- if (code == 200) {
|
|
|
- window.$message?.success('修改成功')
|
|
|
- window?.location?.reload() //刷新页面
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-const ruleFormRef = ref();
|
|
|
-const rules = ref({
|
|
|
- nodeName: [{ required: true, message: '请输入节点名称', trigger: 'blur' }],
|
|
|
- postType: [{ required: true, message: '请选择岗位类型', trigger: 'change' }],
|
|
|
- nodeType: [{ required: true, message: '请选择节点类型', trigger: 'change' }],
|
|
|
- isStorageNode: [{ required: true, message: '请选择存储节点', trigger: 'change' }],
|
|
|
- isBuiltDrawing: [{ required: true, message: '请选择竣工图', trigger: 'change' }],
|
|
|
- isInterfaceNode: [{ required: true, message: '请选择接口节点', trigger: 'change' }],
|
|
|
- interfaceType: [{ required: true, message: '请选择接口类型', trigger: 'change' }],
|
|
|
- associationType: [{ required: true, message: '请选择关联类型', trigger: 'change' }],
|
|
|
- majorDataType: [{ required: true, message: '请选择业内资料类型', trigger: 'change' }],
|
|
|
- displayHierarchy: [{ required: true, message: '请选择显示层级', trigger: 'change' }],
|
|
|
- projectType: [{ required: true, message: '请选择工程类型', trigger: 'change' }],
|
|
|
- storageType: [{ required: true, message: '请选择储存类型', trigger: 'change' }],
|
|
|
- expDataType: [{ required: true, message: '请选择文件类型', trigger: 'change' }],
|
|
|
-})
|
|
|
-
|
|
|
-//类型枚举
|
|
|
-let JobTypeList = ref([]);//岗位类型枚举
|
|
|
-const getJobTypeList = async() => {//岗位类型枚举
|
|
|
- const { data,code } = await roletree()
|
|
|
- //console.log(res);
|
|
|
- if (code == 200) {
|
|
|
- JobTypeList.value = data
|
|
|
- }
|
|
|
-}
|
|
|
-let majorDataTypeList = ref([]);
|
|
|
-const major_data_type = async() => {//内业资料类型
|
|
|
- const { data,code } = await getDictionary({ code: 'major_data_type' })
|
|
|
- //console.log(res);
|
|
|
- if (code == 200) {
|
|
|
- majorDataTypeList.value = data
|
|
|
- }
|
|
|
-}
|
|
|
-let displayHierarchyList = ref([]);
|
|
|
-const display_hierarchy = async() => {//显示层级
|
|
|
- const { data,code } = await getDictionary({ code: 'display_hierarchy' })
|
|
|
- //console.log(res);
|
|
|
- if (code == 200) {
|
|
|
- displayHierarchyList.value = data
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const nodeTypeList = [
|
|
|
-{
|
|
|
- label: '关联电子原生文件',
|
|
|
- value: 1
|
|
|
-}, {
|
|
|
- label: '数字化上传文件',
|
|
|
- value: 2
|
|
|
-},
|
|
|
-]//节点类型枚举
|
|
|
-const projectTypeList = [
|
|
|
-{
|
|
|
- label: '水利水电工程',
|
|
|
- value: 1
|
|
|
-}, {
|
|
|
- label: '公路工程',
|
|
|
- value: 2
|
|
|
-}, {
|
|
|
- label: '全部',
|
|
|
- value: 3
|
|
|
-},
|
|
|
-]//工程类型枚举
|
|
|
-const storageTypeList=[
|
|
|
-{
|
|
|
- label: '普通',
|
|
|
- value: 1
|
|
|
-},{
|
|
|
- label: '竣工图',
|
|
|
- value: 2
|
|
|
-},{
|
|
|
- label: '计量',
|
|
|
- value: 3
|
|
|
-},{
|
|
|
- label: '质检',
|
|
|
- value: 4
|
|
|
-},{
|
|
|
- label: '声像',
|
|
|
- value: 5
|
|
|
-},{
|
|
|
- label: '隐蔽',
|
|
|
- value: 6
|
|
|
-},{
|
|
|
- label: '原材试验',
|
|
|
- value: 7
|
|
|
-},{
|
|
|
- label: '管理文件',
|
|
|
- value: 8
|
|
|
-},{
|
|
|
- label: '变更令',
|
|
|
- value: 9
|
|
|
-},
|
|
|
-]//储存类型枚举
|
|
|
-const storageNodeList = [
|
|
|
- {
|
|
|
- label: '是',
|
|
|
- value: 1
|
|
|
- }, {
|
|
|
- label: '否',
|
|
|
- value: 2
|
|
|
- }
|
|
|
-]//存储节点枚举
|
|
|
-const builtDrawingList = [{
|
|
|
- label: '是',
|
|
|
- value: 1
|
|
|
- }, {
|
|
|
- label: '否',
|
|
|
- value: 2
|
|
|
- },
|
|
|
-]//竣工图枚举
|
|
|
-const interfaceNodeList = [
|
|
|
- {
|
|
|
- label: '是',
|
|
|
- value: 1
|
|
|
- }, {
|
|
|
- label: '否',
|
|
|
- value: 2
|
|
|
- },
|
|
|
-]//接口节点枚举
|
|
|
-const interfaceTypeList = [
|
|
|
- {
|
|
|
- label: '试验接口',
|
|
|
- value: 1
|
|
|
- }, {
|
|
|
- label: '计量接口',
|
|
|
- value: 2
|
|
|
- },
|
|
|
-]//选择接口类型枚举
|
|
|
-const associationTypeList = [
|
|
|
- {
|
|
|
- label: '质检资料',
|
|
|
- value: 1
|
|
|
- },
|
|
|
- {
|
|
|
- label: '试验资料',
|
|
|
- value: 2
|
|
|
- },
|
|
|
- {
|
|
|
- label: '影像资料',
|
|
|
- value: 3
|
|
|
- },
|
|
|
- {
|
|
|
- label: '台账资料',
|
|
|
- value: 4
|
|
|
- },{
|
|
|
- label: '首件资料',
|
|
|
- value: 5
|
|
|
- },{
|
|
|
- label: '日志文件',
|
|
|
- value: 6
|
|
|
- },
|
|
|
-]
|
|
|
-const fileTypeList = [
|
|
|
- {
|
|
|
- label: '配合比',
|
|
|
- value: 1
|
|
|
- },
|
|
|
- {
|
|
|
- label: '原材',
|
|
|
- value: 2
|
|
|
- },{
|
|
|
- label: '汇总',
|
|
|
- value: 3
|
|
|
- },{
|
|
|
- label: '设备',
|
|
|
- value: 4
|
|
|
- },{
|
|
|
- label: '外委(第三方)',
|
|
|
- value: 5
|
|
|
- },
|
|
|
-]
|
|
|
-
|
|
|
-
|
|
|
//左右拖动,改变树形结构宽度
|
|
|
const leftWidth = ref(382);
|
|
|
const onmousedown = () => {
|