{"remainingRequest":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xypm-web\\src\\views\\projectManagent\\projectManagentSub.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web\\src\\views\\projectManagent\\projectManagentSub.vue","mtime":1676577074063},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\n// import projectArr from '../../../src/assets/data.json'\r\nimport req from '@/request.js'\r\nimport merge from './Merge.vue'\r\nconst eipUserSelector = () =>\r\n  import('@/components/selector/EipUserSelector.vue')\r\nexport default {\r\n  name: 'projectManagentSub',\r\n  components: {\r\n    merge,\r\n    eipUserSelector,\r\n  },\r\n  data() {\r\n    return {\r\n      loading2: false,\r\n      importData: {\r\n        title: '项目管理导入',\r\n        templateName: '项目管理模板.xls',\r\n        downloadUrl: './../static/excel/ExportProjectManagent.xlsx',\r\n        importUrl:\r\n          window.context.cqxy + '/biz/projectManagement/pm/v1/importExcelData',\r\n      },\r\n      searchForm: {\r\n        projectId: '',\r\n        projectName: '',\r\n        projectType: '',\r\n        // projectModel: '',\r\n        projectMoneyOne: '',\r\n        projectMoneyTwo: '',\r\n        isStart: '', //是否已开工\r\n        year: '',\r\n        createTime: '', //new Date().getFullYear()\r\n      }, //顶部搜索参数\r\n      optionYears: [], //顶部搜索年份选择数组\r\n      optionsIsStart: [\r\n        {label: '是', value: 1},\r\n        {label: '否', value: 2},\r\n      ], //顶部搜索是否开工选择数据\r\n      dataBaseOptions: {\r\n        dataBaseId: '',\r\n        tableName: '', // 必填\r\n        tableSchema: '',\r\n      },\r\n      ConstructionModeArr: [],\r\n      ProjectTypeArr: [],\r\n      originAPIOptions: {\r\n        url: '', // 列表请求接口地址\r\n        method: 'post', // 列表请求方法\r\n        moduleRoot: '', // 微服务根路径\r\n      },\r\n      exportQuery: {},\r\n      data: [], //表格数据\r\n      pageResult: {\r\n        page: 1,\r\n        pageSize: 50,\r\n        total: 0,\r\n      },\r\n      form: {}, //基本信息表单\r\n      dialogVisible: false,\r\n      dialogTitle: '添加',\r\n      indexArr: [],\r\n      // activeNames: ['1', '2', '3', '4'],\r\n      active: 0,\r\n      loading: false,\r\n      expandTableData: [],\r\n      currentPage: 1,\r\n      /* 合并新项目 */\r\n      newProjectIds: '',\r\n      pageSizes: [10, 20, 50, 100, 200, 300, 500],\r\n      pagerCount: 11,\r\n      pagination: {page: 1, pageSize: 10, total: 0},\r\n      parent: '',\r\n      querySearch: [], //导出时传入查询的参数\r\n      elTableSection: null,\r\n      commencementTime: '', //查看修改回调建设时间\r\n      rules: {\r\n        // projectCode: {\r\n        //   required: true,\r\n        //   message: '请输入项目代码',\r\n        //   trigger: 'blur',\r\n        // },\r\n        projectName: {\r\n          required: true,\r\n          message: '请输入项目名称',\r\n          trigger: 'blur',\r\n        },\r\n        projectManager: {\r\n          required: true,\r\n          message: '必填',\r\n          trigger: 'blur',\r\n        },\r\n        // projectNature: {\r\n        //   required: true,\r\n        //   message: '请选择工程属性',\r\n        //   trigger: 'blur'\r\n        // },\r\n        // projectMoney: {\r\n        //   required: true,\r\n        //   message: '请输入项目金额',\r\n        //   trigger: 'blur',\r\n        // },\r\n        projectType: {\r\n          required: true,\r\n          message: '请选择项目类型',\r\n          trigger: 'blur',\r\n        },\r\n        ownerUnit: {\r\n          required: true,\r\n          message: '请输入业主单位',\r\n          trigger: 'blur',\r\n        },\r\n        // responsibleUnit: {\r\n        //   required: true,\r\n        //   message: '请输入责任单位',\r\n        //   trigger: 'blur',\r\n        // },\r\n        // constructUnit: {\r\n        //   required: true,\r\n        //   message: '请输入施工单位',\r\n        //   trigger: 'blur',\r\n        // },\r\n        // projectModel: {\r\n        //   required: true,\r\n        //   message: '请选择建设模式',\r\n        //   trigger: 'blur',\r\n        // },\r\n        // projectAddress: {\r\n        //   required: true,\r\n        //   message: '请输入项目地址',\r\n        //   trigger: 'blur',\r\n        // },\r\n        // preliminaryEstimate: {\r\n        //   required: true,\r\n        //   message: '请输入初设概算总投资',\r\n        //   trigger: 'blur',\r\n        // },\r\n        // projectStatus: {\r\n        //   required: true,\r\n        //   message: '请选择项目状态',\r\n        //   trigger: 'blur',\r\n        // },\r\n        // commencementTime: {\r\n        //   required: true,\r\n        //   message: '请选择开工时间',\r\n        //   trigger: 'blur',\r\n        // },\r\n        // completionTime: {\r\n        //   required: true,\r\n        //   message: '请选择完工时间',\r\n        //   trigger: 'blur',\r\n        // },\r\n      },\r\n    }\r\n  },\r\n  mounted() {},\r\n  created() {\r\n    this.getYear()\r\n  },\r\n  computed: {\r\n    deleteUrl: function () {\r\n      return window.context.cqxy + '/biz/projectManagement/pm/v1/delete'\r\n    },\r\n  },\r\n  methods: {\r\n    //跳转单个项目页面\r\n    handleGo(row) {\r\n      const {href} = this.$router.resolve({\r\n        name: 'projectBefore',\r\n        params: {\r\n          id: row.id,\r\n          projectName: row.projectName,\r\n        },\r\n      })\r\n      window.open(href, '_blank')\r\n    },\r\n    handleRouterClick(params) {\r\n      this.$router.push({\r\n        name: 'ProjectFlowChart',\r\n        params: {id: params.id},\r\n      })\r\n    },\r\n    handleCommand(params) {\r\n      if (params.command == 'bianzhi') {\r\n        this.$router.push({\r\n          name: 'ProjectFlowChart',\r\n          params: {\r\n            id: params.row.id,\r\n            projectName: params.row.projectName,\r\n          },\r\n        })\r\n      } else if (params.command == 'person') {\r\n        this.$router.push({\r\n          name: 'PersonnelManagement',\r\n          params: params.row,\r\n        })\r\n      }\r\n    },\r\n    //重置\r\n    handleReset() {\r\n      this.searchForm.projectName = ''\r\n      this.searchForm.createTime = ''\r\n      this.searchForm.projectId = ''\r\n      this.searchForm.projectType = ''\r\n      this.searchForm.projectModel = ''\r\n      this.searchForm.projectMoneyOne = ''\r\n      this.searchForm.projectMoneyTwo = ''\r\n      this.searchForm.isStart = ''\r\n      this.$refs['searchForm'].resetFields()\r\n      this.pageResult = {\r\n        page: 1,\r\n        pageSize: 20,\r\n        total: 0,\r\n      }\r\n      this.$nextTick(() => {\r\n        this.$refs.AtTable.handleClearFilter()\r\n      })\r\n    },\r\n    //导入后重新加载数据\r\n    load() {\r\n      this.$refs.AtTable.load(true)\r\n      this.pagination = {...this.pagination, page}\r\n      this.handleExpandChange(this.parent, true)\r\n    },\r\n    //导出\r\n    handleExport() {\r\n      this.loading2 = true\r\n      let query = [\r\n        {\r\n          group: 'defaultQueryGroup',\r\n          operation: 'EQUAL',\r\n          relation: 'AND',\r\n          property: 'parent_id_',\r\n          value: 'root',\r\n        },\r\n      ]\r\n      let search = {\r\n        id_: this.searchForm.projectId,\r\n        project_name_: this.searchForm.projectName,\r\n        project_type_: this.searchForm.projectType,\r\n        // project_model_: this.searchForm.projectModel\r\n        CREATE_TIME_: this.searchForm.createTime,\r\n        project_status_: this.searchForm.isStart,\r\n        project_money_: [\r\n          this.searchForm.projectMoneyOne,\r\n          this.searchForm.projectMoneyTwo,\r\n        ],\r\n      }\r\n      for (let i in search) {\r\n        if (search[i] && typeof search[i] !== 'undefined') {\r\n          //判断是否已开工\r\n          if (i == 'project_status_') {\r\n            for (let j = 1; j <= 9; j++) {\r\n              if (search[i] == 2) {\r\n                query.push({\r\n                  group: 'advance',\r\n                  operation: 'LIKE',\r\n                  property: i,\r\n                  relation: 'OR',\r\n                  value: j,\r\n                })\r\n              } else {\r\n                query.push({\r\n                  group: 'advance',\r\n                  operation: 'LIKE',\r\n                  property: i,\r\n                  relation: 'OR',\r\n                  value: j + 6,\r\n                })\r\n              }\r\n            }\r\n            //判断投资金额范围\r\n          } else if (i == 'project_money_') {\r\n            if (search[i][0] && typeof search[i][0] !== 'undefined') {\r\n              query.push({\r\n                group: 'advance',\r\n                operation: 'GREAT',\r\n                property: i,\r\n                relation: 'AND',\r\n                value: search[i][0],\r\n              })\r\n            }\r\n            if (search[i][1] && typeof search[i][1] !== 'undefined') {\r\n              query.push({\r\n                group: 'advance',\r\n                operation: 'LESS',\r\n                property: i,\r\n                relation: 'AND',\r\n                value: search[i][1],\r\n              })\r\n            }\r\n          } else if (i == 'CREATE_TIME_') {\r\n            query.push(\r\n              {\r\n                group: 'createTimeGroup',\r\n                operation: 'BETWEEN',\r\n                property: 'commencement_time_',\r\n                relation: 'OR',\r\n                value: [\r\n                  `${search[i]}-01-01 00:00:00`,\r\n                  `${search[i]}-12-31 23:59:59`,\r\n                ],\r\n              }\r\n              // {\r\n              //   group: 'createTimeGroup',\r\n              //   operation: 'BETWEEN',\r\n              //   parentGroup: '',\r\n              //   property: 'COMPLETION_TIME_',\r\n              //   relation: 'OR',\r\n              //   value: [\r\n              //     `${search[i]}-01-01 00:00:00`,\r\n              //     `${search[i]}-12-31 23:59:59`,\r\n              //   ],\r\n              // },\r\n              // {\r\n              //   group: 'createTimeSubGroup',\r\n              //   operation: 'LESS_EQUAL',\r\n              //   parentGroup: 'createTimeGroup',\r\n              //   property: 'commencement_time_',\r\n              //   relation: 'AND',\r\n              //   value: `${search[i]}-12-31 23:59:59`,\r\n              // },\r\n              // {\r\n              //   group: 'createTimeSubGroup',\r\n              //   operation: 'LESS',\r\n              //   parentGroup: 'createTimeGroup',\r\n              //   property: 'PROJECT_STATUS_',\r\n              //   relation: 'AND',\r\n              //   value: '12',\r\n              // }\r\n            )\r\n          } else {\r\n            query.push({\r\n              group: 'advance',\r\n              operation: 'LIKE',\r\n              property: i,\r\n              relation: 'AND',\r\n              value: search[i],\r\n            })\r\n          }\r\n        }\r\n      }\r\n      let data = {\r\n        pageBean: {\r\n          page: 1,\r\n          pageSize: -1,\r\n          showTotal: true,\r\n        },\r\n        querys: query,\r\n      }\r\n      req\r\n        .downloadPostCopy(\r\n          '${cqxy}/biz/projectManagement/pm/v1/exportDataToExcel',\r\n          data\r\n        )\r\n        .then((res) => {\r\n          if (res.status == 200) {\r\n            this.loading2 = false\r\n            this.$message.success('导出成功')\r\n          } else {\r\n            this.loading2 = false\r\n            this.$message.error('导出失败')\r\n          }\r\n        })\r\n    },\r\n    //上一步\r\n    prevSteps() {\r\n      this.active--\r\n      this.active = this.active\r\n    },\r\n    //下一步\r\n    nextSteps() {\r\n      if (this.active !== 0) {\r\n        this.active++\r\n        this.active = this.active\r\n        this.$refs['form'].clearValidate()\r\n      }\r\n      let _this = this\r\n      let vaitalArr = [\r\n        // 'projectCode',\r\n        'projectName',\r\n        // 'projectManager',\r\n        // 'projectNature',\r\n        // 'projectMoney',\r\n        // 'projectType',\r\n        // 'ownerUnit',\r\n        // 'responsibleUnit',\r\n        // 'constructUnit',\r\n        // 'projectModel',\r\n        // 'projectAddress',\r\n        // 'preliminaryEstimate',\r\n        // 'projectStatus',\r\n        // 'commencementTime',\r\n        // 'completionTime',\r\n      ]\r\n      Promise.all(\r\n        vaitalArr.map((item) => {\r\n          const p = new Promise((resolve, reject) => {\r\n            _this.$refs.form.validateField(item, (vaild) => {\r\n              resolve(vaild)\r\n            })\r\n          })\r\n          return p\r\n        })\r\n      ).then((result) => {\r\n        result = result.filter((item) => item)\r\n        if (!result.length) {\r\n          this.active++\r\n          this.active = this.active\r\n          this.$refs['form'].clearValidate()\r\n        }\r\n      })\r\n    },\r\n    handleDict(val, obj, str) {\r\n      if (str === 'xmgl-xmzt') {\r\n        this.form.projectStatusValue = obj.name\r\n      } else if (str === 'xmgl-xmlx') {\r\n        this.form.projectTypeValue = obj.name\r\n      } else if (str === 'xmgl-jsms') {\r\n        this.form.projectModelValue = obj.name\r\n      } else if (str === 'xmgl-shsjfs') {\r\n        this.form.socialAuditTypeValue = obj.name\r\n      } else if (str === 'xmgl-gjsjjg') {\r\n        this.form.stateAuditOfficeValue = obj.name\r\n      }\r\n    },\r\n    handleAdd() {\r\n      this.dialogTitle = '添加'\r\n      this.commencementTime = []\r\n      // 获取当前登录用户名\r\n      let currentUser = JSON.parse(window.sessionStorage.getItem('currentUser'))\r\n      this.form = {\r\n        projectCode: '',\r\n        projectName: '',\r\n        projectType: 1, //项目类型\r\n        // projectModel: 1, //建设模式\r\n        // projectStatus: 1, //项目状态\r\n        // socialAuditType: 1, //社会审计方式\r\n        // stateAuditOffice: 1, //国家审计机关\r\n        projectNature: 1, //工程属性\r\n        // projectApprovalAuthority: 1, //立项审批机关\r\n        // commencementTime: this.getDate(),\r\n        // completionTime: this.getDate(),\r\n        // commencementTime: '',\r\n        // completionTime: ''\r\n        ownerUnit: '重庆西永微电子产业园区开发有限公司',\r\n        projectManagerId: currentUser.userId,\r\n        projectManager: currentUser.username,\r\n      }\r\n      this.dialogVisible = true\r\n    },\r\n    handleRowDBClick(data) {\r\n      // if (this.getMethodauth('project_update')) {\r\n      this.$http\r\n        .get('${cqxy}/biz/projectManagement/pm/v1/' + data.id)\r\n        .then((res) => {\r\n          if (res.status == 200) {\r\n            this.dialogTitle = '修改'\r\n            this.dialogVisible = true\r\n            this.form = res.data\r\n            this.commencementTime = [\r\n              this.form.commencementTime || '',\r\n              this.form.completionTime || '',\r\n            ]\r\n          } else {\r\n            this.$message.error('请求出错,请重新选择')\r\n          }\r\n        })\r\n      // }\r\n    },\r\n    handleSelect(selection) {\r\n      this.indexArr = selection\r\n    },\r\n    handleDialogCancel() {\r\n      this.dialogVisible = false\r\n      this.active = 0\r\n      /* 发送一个事件用于侧边栏按钮监听是否显示 */\r\n      this.$bus.$emit('handleAsideBtn', true)\r\n    },\r\n    handleDialogClose() {\r\n      this.dialogVisible = false\r\n      this.active = 0\r\n    },\r\n    handleSetCurrent() {\r\n      if (this.indexArr.length === 1) {\r\n        this.$http\r\n          .post(\r\n            '${cqxy}/biz/projectManagement/pm/v1/currentProject/' +\r\n              this.indexArr[0].id\r\n          )\r\n          .then((res) => {\r\n            let data = res.data\r\n            if (data.state) {\r\n              this.$message.success(data.message)\r\n            } else {\r\n              this.$message.error(data.message)\r\n            }\r\n            this.$refs.AtTable.load()\r\n          })\r\n      } else {\r\n        this.$message.info('请选择一个项目作为当前项目!')\r\n      }\r\n    },\r\n    handleDialogSubmit() {\r\n      let url, params\r\n      if (this.newProjectIds) {\r\n        url = '/biz/projectManagement/pm/v1/mergeItems'\r\n        params = {\r\n          projectIds: this.newProjectIds,\r\n          projectManagement: this.form,\r\n        }\r\n      } else {\r\n        url = '/biz/projectManagement/pm/v1/save'\r\n        params = this.form\r\n      }\r\n      this.$refs.form.validate((valid) => {\r\n        if (valid) {\r\n          this.loading = true\r\n          this.$http.post('${cqxy}' + url, params).then((res) => {\r\n            this.loading = false\r\n            if (res.data.state) {\r\n              // this.$refs.projectInfoSelector.getProjectData()\r\n              this.$refs.form.resetFields()\r\n              this.$message.success(res.data.message)\r\n              this.dialogVisible = false\r\n              this.$refs.AtTable.load()\r\n              this.active = 0\r\n            } else {\r\n              this.$message.error(res.data.message)\r\n            }\r\n          })\r\n        }\r\n      })\r\n    },\r\n    //上传发送事件\r\n    handleUpload() {\r\n      this.$bus.$emit('openUploader')\r\n    },\r\n    loadData(param, cb) {\r\n      //   this.$refs.projectInfoSelector.getProjectData(this.searchForm.createTime)\r\n      let query = []\r\n      let search = {\r\n        id_: this.searchForm.projectId,\r\n        project_name_: this.searchForm.projectName,\r\n        project_type_: this.searchForm.projectType,\r\n        // project_model_: this.searchForm.projectModel\r\n        CREATE_TIME_: this.searchForm.createTime,\r\n        project_status_: this.searchForm.isStart,\r\n        project_money_: [\r\n          this.searchForm.projectMoneyOne,\r\n          this.searchForm.projectMoneyTwo,\r\n        ],\r\n      }\r\n      for (let i in search) {\r\n        if (search[i] && typeof search[i] !== 'undefined') {\r\n          //判断是否已开工\r\n          if (i == 'project_status_') {\r\n            for (let j = 1; j <= 9; j++) {\r\n              if (search[i] == 2) {\r\n                query.push({\r\n                  group: 'advance',\r\n                  operation: 'EQUAL',\r\n                  property: i,\r\n                  relation: 'OR',\r\n                  value: j,\r\n                })\r\n              } else {\r\n                query.push({\r\n                  group: 'advance',\r\n                  operation: 'EQUAL',\r\n                  property: i,\r\n                  relation: 'OR',\r\n                  value: j + 6,\r\n                })\r\n              }\r\n            }\r\n            //判断投资金额范围\r\n          } else if (i == 'project_money_') {\r\n            if (search[i][0] && typeof search[i][0] !== 'undefined') {\r\n              query.push({\r\n                group: 'advance',\r\n                operation: 'GREAT',\r\n                property: i,\r\n                relation: 'AND',\r\n                value: search[i][0],\r\n              })\r\n            }\r\n            if (search[i][1] && typeof search[i][1] !== 'undefined') {\r\n              query.push({\r\n                group: 'advance',\r\n                operation: 'LESS',\r\n                property: i,\r\n                relation: 'AND',\r\n                value: search[i][1],\r\n              })\r\n            }\r\n          } else if (i == 'CREATE_TIME_') {\r\n            query.push(\r\n              {\r\n                group: 'createTimeGroup',\r\n                operation: 'BETWEEN',\r\n                parentGroup: '',\r\n                property: 'commencement_time_',\r\n                relation: 'AND',\r\n                value: [\r\n                  `${search[i]}-01-01 00:00:00`,\r\n                  `${search[i]}-12-31 23:59:59`,\r\n                ],\r\n              }\r\n              // {\r\n              //   group: 'createTimeGroup',\r\n              //   operation: 'BETWEEN',\r\n              //   parentGroup: '',\r\n              //   property: 'COMPLETION_TIME_',\r\n              //   relation: 'OR',\r\n              //   value: [\r\n              //     `${search[i]}-01-01 00:00:00`,\r\n              //     `${search[i]}-12-31 23:59:59`,\r\n              //   ],\r\n              // },\r\n\r\n              // {\r\n              //   group: 'createTimeSubGroup',\r\n              //   operation: 'LESS_EQUAL',\r\n              //   parentGroup: 'createTimeGroup',\r\n              //   property: 'commencement_time_',\r\n              //   relation: 'AND',\r\n              //   value: `${search[i]}-12-31 23:59:59`,\r\n              // },\r\n              // {\r\n              //   group: 'createTimeSubGroup',\r\n              //   operation: 'LESS',\r\n              //   parentGroup: 'createTimeGroup',\r\n              //   property: 'PROJECT_STATUS_',\r\n              //   relation: 'AND',\r\n              //   value: '12',\r\n              // }\r\n            )\r\n          } else {\r\n            query.push({\r\n              group: 'advance',\r\n              operation: 'LIKE',\r\n              property: i,\r\n              relation: 'AND',\r\n              value: search[i],\r\n            })\r\n          }\r\n        }\r\n      }\r\n      if (param.querys && param.querys.length) {\r\n        param.querys.push(...query)\r\n      } else {\r\n        param.querys = query\r\n      }\r\n      this.$http\r\n        .post('${cqxy}/biz/projectManagement/pm/v1/page', param)\r\n        .then(\r\n          (resp) => {\r\n            let response = resp.data.value\r\n            this.data = response.rows\r\n            this.pageResult = {\r\n              page: response.page,\r\n              pageSize: response.pageSize,\r\n              total: response.total,\r\n            }\r\n          },\r\n          (error) => {\r\n            reject(error)\r\n          }\r\n        )\r\n        .finally(() => {\r\n          if (cb) {\r\n            cb()\r\n          }\r\n        })\r\n    },\r\n    findinfo() {\r\n      this.$refs.AtTable.load()\r\n      // this.loadData()\r\n    },\r\n    /* 项目合并方法 */\r\n    handleSizeChange(pageSize) {\r\n      this.pagination = {...this.pagination, pageSize}\r\n      this.handleExpandChange(this.parent)\r\n    },\r\n    handleCurrentChange(page) {\r\n      this.pagination = {...this.pagination, page}\r\n      this.handleExpandChange(this.parent, true)\r\n    },\r\n    handleMergeNewProject(ids) {\r\n      let currentUser = JSON.parse(window.sessionStorage.getItem('currentUser'))\r\n      this.form = {\r\n        projectCode: '',\r\n        projectName: '',\r\n        projectType: 1, //项目类型\r\n        projectNature: 1, //工程属性\r\n        ownerUnit: '重庆西永微电子产业园区开发有限公司',\r\n        projectManagerId: currentUser.userId,\r\n        projectManager: currentUser.username,\r\n      }\r\n      this.newProjectIds = ids\r\n      this.dialogVisible = true\r\n    },\r\n    handleExpandChange(row, doNotResetPage) {\r\n      this.parent = {\r\n        id: row.id,\r\n      }\r\n      // 默认重置页码为第一页\r\n      if (!doNotResetPage) {\r\n        this.pagination.page = 1\r\n      }\r\n      let param = {\r\n        pageBean: {\r\n          ...this.pagination,\r\n          showTotal: true,\r\n        },\r\n        querys: [\r\n          {\r\n            group: 'main',\r\n            operation: 'EQUAL',\r\n            property: 'parent_Id_',\r\n            relation: 'AND',\r\n            value: this.parent.id,\r\n          },\r\n        ],\r\n        // params: {\r\n        //   parentId: this.parent.id,\r\n        // },\r\n      }\r\n      delete param.pageBean.total\r\n      this.$http\r\n        .post('${cqxy}/biz/projectManagement/pm/v1/page', param)\r\n        .then((resp) => {\r\n          let response = resp.data.value\r\n          this.expandTableData = response.rows\r\n          this.pagination = {\r\n            page: response.page,\r\n            pageSize: response.pageSize,\r\n            total: response.total,\r\n          }\r\n        })\r\n    },\r\n    //返回一个boolean类型，是否显示列表按钮\r\n    getMethodauth(elAuth) {\r\n      let allMethod = window.sessionStorage.allMethod\r\n      let methodAuth = window.sessionStorage.methodAuth\r\n      let allMethodArray = allMethod && allMethod.split(',')\r\n      let methodAuthArray = methodAuth && methodAuth.split(',')\r\n      // 无权限则隐藏按钮\r\n      if (\r\n        methodAuthArray &&\r\n        methodAuthArray.includes(elAuth) &&\r\n        allMethodArray &&\r\n        allMethodArray.includes(elAuth)\r\n      ) {\r\n        return true\r\n      } else {\r\n        return false\r\n      }\r\n    },\r\n    //获取顶部搜索的年份区间\r\n    getYear() {\r\n      const myDate = new Date()\r\n      const startYear = 2006 //起始年份\r\n      const endYear = myDate.getFullYear() + 3 //结束年份\r\n      for (let i = endYear; i >= startYear; i--) {\r\n        this.optionYears.push({\r\n          label: i + '年',\r\n          value: i,\r\n        })\r\n      }\r\n    },\r\n    getByYearTime() {\r\n      let arr = []\r\n      if (typeof this.searchForm.commencementTime !== 'undefined') {\r\n        let year = this.searchForm.year\r\n        arr = [year + '01-01', year + '12-30']\r\n        this.searchForm.year = arr\r\n      }\r\n    },\r\n    handleExpSelect(selection) {\r\n      this.elTableSection = selection\r\n    },\r\n    splitProject() {\r\n      this.ids = []\r\n      if (\r\n        this.$refs.AtTable.selection &&\r\n        this.$refs.AtTable.selection.length !== 0 &&\r\n        !this.elTableSection\r\n      ) {\r\n        this.$message.error('请选择展开的项目')\r\n        return\r\n      }\r\n      if (!this.elTableSection) {\r\n        this.$message.error('请至少选择一条数据')\r\n        return\r\n      }\r\n      if (this.elTableSection && this.elTableSection.length == 0 && !this.row) {\r\n        this.$message.error('请至少选择一条数据')\r\n        return\r\n      }\r\n      if (this.row) {\r\n        this.ids.push(this.row.id)\r\n      } else {\r\n        for (let item of this.elTableSection) {\r\n          this.ids.push(item.id)\r\n        }\r\n      }\r\n      this.$http\r\n        .post('${cqxy}/biz/projectManagement/pm/v1/splitItems?ids=' + this.ids)\r\n        .then((res) => {\r\n          if (res.data.state) {\r\n            this.$message.success(res.data.message)\r\n            this.$refs.AtTable.load(true)\r\n            /* 刷新合并项目里面的数据 */\r\n            this.pagination = {...this.pagination, page}\r\n            this.handleExpandChange(this.parent, true)\r\n          } else {\r\n            this.message.error(res.data.message)\r\n          }\r\n        })\r\n    },\r\n    handleDateChange(e) {\r\n      if (e.length !== 0) {\r\n        this.form.commencementTime = e[0]\r\n        this.form.completionTime = e[1]\r\n      }\r\n    },\r\n  },\r\n}\r\n",null]}