From 2aa3cb47df411ba61352c27280db9154d706e376 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期日, 02 三月 2025 22:18:18 +0800
Subject: [PATCH] 工程
---
src/views/engineering/index.vue | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 111 insertions(+), 2 deletions(-)
diff --git a/src/views/engineering/index.vue b/src/views/engineering/index.vue
index 3dfc4a5..808b6c7 100644
--- a/src/views/engineering/index.vue
+++ b/src/views/engineering/index.vue
@@ -93,7 +93,16 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
- <el-table v-loading="loading" :data="engineeringList" @selection-change="handleSelectionChange">
+ <el-table
+ v-loading="loading"
+ :data="engineeringList"
+ sortable="custom"
+ row-key="id"
+ border
+ default-expand-all
+ :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
+ :show-overflow-tooltip="true"
+ @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="宸ョ▼鍚嶇О" align="center" prop="projectName" />
<el-table-column label="涓婚」鐩悕绉�" align="center" prop="projectInfoName" />
@@ -106,6 +115,16 @@
<el-table-column label="寮�宸ョ姸鎬�" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_project_status" :value="scope.row.status"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="涓荤閮ㄩ棬" align="center" prop="departmentName">
+
+ </el-table-column>
+ <el-table-column label="涓氫富鍗曚綅" align="center" prop="unitName">
+ </el-table-column>
+ <el-table-column label="骞翠唤" align="center" prop="year">
+ <template slot-scope="scope">
+ {{ scope.row.year ? scope.row.year.split('-')[0] + '骞�' : '' }}
</template>
</el-table-column>
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
@@ -183,6 +202,23 @@
></el-option>
</el-select>
</el-form-item>
+ <el-form-item label="涓荤閮ㄩ棬" prop="department">
+ <treeselect v-model="form.department" @input="getCompetentDepartmentInfo" noChildrenText="鏃犲尮閰嶆暟鎹�" :options="approvalList" :normalizer="normalizer" placeholder="璇烽�夋嫨涓荤閮ㄩ棬">
+ </treeselect>
+ </el-form-item>
+ <el-form-item label="涓氫富鍗曚綅" prop="unit">
+ <treeselect v-model="form.unit" @input="getProjectOwnerUnit" noChildrenText="鏃犲尮閰嶆暟鎹�" :options="selectOptions" :normalizer="normalizer" placeholder="閫夋嫨鍗曚綅" />
+ </el-form-item>
+ <el-form-item label="骞翠唤" prop="year">
+ <el-date-picker v-model="form.year "
+ placeholder="閫夋嫨鏃堕棿"
+ style="width: 100%"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss"/>
+ </el-form-item>
+ <el-form-item label="鐖跺伐绋�" prop="parent">
+ <treeselect v-model="form.parent" @input="getProjectOwnerUnit" noChildrenText="鏃犲尮閰嶆暟鎹�" :options="selectOptions" :normalizer="normalizer" placeholder="閫夋嫨鍗曚綅" />
+ </el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
@@ -195,9 +231,15 @@
<script>
import { getProjectEngineerings, getProjectEngineeringById, deleteProjectEngineeringByIds, deleteProjectEngineeringById, editProjectEngineering, addProjectEngineering } from "@/api/projectEngineering/projectEngineering";
import {list} from "@/api/projectEngineering/projectInfo";
+import Treeselect from '@riophae/vue-treeselect'
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+import {approvalList,listDept} from "@/api/system/dept";
+
export default {
name: "Engineering",
+ components: { Treeselect },
dicts: ['sys_project_type', 'sys_project_status'],
data() {
return {
@@ -220,6 +262,10 @@
title: "",
// 鏄惁鏄剧ず寮瑰嚭灞�
open: false,
+ //涓荤閮ㄩ棬
+ approvalList: [],
+ //涓氫富鍗曚綅
+ selectOptions: [],
// 鏌ヨ鍙傛暟
queryParams: {
currentPage: 1,
@@ -238,6 +284,10 @@
investmentAmount: [{required: true, message: '璇疯緭鍏ユ姇璧勯', trigger: 'change'}],
projectType: [{required: true, message: '璇烽�夋嫨娴佺▼鎺ㄨ繘绫诲瀷', trigger: 'change'}],
status: [{required: true, message: '璇烽�夋嫨寮�宸ョ姸鎬�', trigger: 'change'}],
+ department: [{required: true, message: '璇烽�夋嫨涓荤閮ㄩ棬', trigger: 'change'}],
+ unit: [{required: true, message: '璇烽�夋嫨椤圭洰涓氫富鍗曚綅', trigger: 'change'}],
+ year: [{required: true, message: '璇烽�夋嫨璁″垝寮�宸ユ椂闂�', trigger: 'change'}],
+ parent: [{required: false, message: '璇烽�夋嫨鐖跺伐绋�', trigger: 'change'}],
}
};
},
@@ -245,7 +295,60 @@
this.getList();
this.getProjectList();
},
+ mounted() {
+ //鍒濆鍖栦富绠¢儴闂ㄤ笅鎷夋
+ this.getApprovalList();
+ //鍗曚綅
+ this.getDeptList();
+ },
methods: {
+ getProjectOwnerUnit(unitId) {
+ console.log(unitId)
+ // if (deptId) {
+ // this.projectForm.unit = deptId
+ // } else {
+ // this.projectForm.unit = ''
+ // }
+ },
+ getCompetentDepartmentInfo(deptId) {
+ console.log(deptId)
+ // if (deptId) {
+ // if (this.projectForm.department != deptId) {
+ // this.projectForm.competentDepartmentPerson = ""
+ // this.projectForm.competentDepartmentPhone = ""
+ // }
+ // this.projectForm.department = deptId
+ // this.getCompetentDepartmentPeople(deptId)
+ // } else {
+ // this.projectForm.department = ''
+ // this.deptPersonList = [];
+ // }
+ },
+ getDeptList(){
+ listDept().then(response => {
+ console.log(response.data)
+ this.selectOptions = this.handleTree(response.data, "deptId");
+ this.selectOptions.push({deptId: '', deptName: '鏃�', children: []})
+ });
+ },
+ getApprovalList() {
+ approvalList().then(res => {
+ this.approvalList = this.handleTree(res.data, "deptId");
+ this.approvalList.push({deptId: '', deptName: '鏃�', children: []})
+ console.log(this.approvalList)
+ });
+ },
+ /** 杞崲閮ㄩ棬鏁版嵁缁撴瀯 */
+ normalizer(node) {
+ if (node.children && !node.children.length) {
+ delete node.children;
+ }
+ return {
+ id: node.deptId,
+ label: node.deptName,
+ children: node.children
+ };
+ },
getProjectList() {
list().then(res => {
this.projectList = res.data
@@ -256,6 +359,7 @@
this.loading = true;
getProjectEngineerings(this.queryParams).then(res => {
this.engineeringList = res.data;
+ console.log(this.engineeringList)
this.total = res.total;
this.loading = false;
});
@@ -276,7 +380,11 @@
status: null,
gmtCreate: null,
gmtUpdate: null,
- deleted: null
+ deleted: null,
+ department:null,
+ unit:null,
+ year:null,
+ parent:null,
};
this.resetForm("form");
},
@@ -315,6 +423,7 @@
/** 鎻愪氦鎸夐挳 */
submitForm() {
this.$refs["form"].validate(valid => {
+ console.log(this.form)
if (valid) {
if (this.form.id != null) {
editProjectEngineering(this.form).then(response => {
--
Gitblit v1.8.0