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