From 6ae0fcef149ddbe614746023a58a3885b3ac4bde Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 25 三月 2025 11:31:04 +0800
Subject: [PATCH] Merge branch 'dev'
---
src/views/engineering/index.vue | 225 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 121 insertions(+), 104 deletions(-)
diff --git a/src/views/engineering/index.vue b/src/views/engineering/index.vue
index 808b6c7..d8c0f49 100644
--- a/src/views/engineering/index.vue
+++ b/src/views/engineering/index.vue
@@ -1,26 +1,26 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
- <el-form-item label="宸ョ▼鍚嶇О" prop="projectName">
+ <el-form-item label="椤圭洰鍚嶇О" prop="projectName">
<el-input
v-model="queryParams.projectName"
- placeholder="璇疯緭鍏ュ伐绋嬪悕绉�"
+ placeholder="椤圭洰鍚嶇О鎼滅储"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="涓婚」鐩�" prop="projectInfoId">
- <el-row>
- <el-select v-model="queryParams.projectInfoId" filterable clearable style="width: 100%" placeholder="璇烽�夋嫨涓婚」鐩�">
- <el-option
- v-for="item in projectList"
- :key="'pp1' + item.id"
- :label="item.projectName"
- :value="item.id">
- </el-option>
- </el-select>
- </el-row>
- </el-form-item>
+<!-- <el-form-item label="涓婚」鐩�" prop="projectInfoId">-->
+<!-- <el-row>-->
+<!-- <el-select v-model="queryParams.projectInfoId" filterable clearable style="width: 100%" placeholder="璇烽�夋嫨涓婚」鐩�">-->
+<!-- <el-option-->
+<!-- v-for="item in projectList"-->
+<!-- :key="'pp1' + item.id"-->
+<!-- :label="item.projectName"-->
+<!-- :value="item.id">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </el-row>-->
+<!-- </el-form-item>-->
<el-form-item label="椤圭洰鎺ㄨ繘绫诲瀷" label-width="120px" prop="projectType">
<el-select v-model="queryParams.projectType" placeholder="璇烽�夋嫨椤圭洰鎺ㄨ繘绫诲瀷" clearable>
<el-option
@@ -47,68 +47,77 @@
</el-form-item>
</el-form>
- <el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
- <el-button
- type="primary"
- plain
- icon="el-icon-plus"
- size="mini"
- @click="handleAdd"
- v-hasPermi="['code:engineering:add']"
- >鏂板</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="success"
- plain
- icon="el-icon-edit"
- size="mini"
- :disabled="single"
- @click="handleUpdate"
- v-hasPermi="['code:engineering:edit']"
- >淇敼</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="danger"
- plain
- icon="el-icon-delete"
- size="mini"
- :disabled="multiple"
- @click="deleteByIds"
- v-hasPermi="['code:engineering:remove']"
- >鍒犻櫎</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="warning"
- plain
- icon="el-icon-download"
- size="mini"
- @click="handleExport"
- v-hasPermi="['code:engineering:export']"
- >瀵煎嚭</el-button>
- </el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
- </el-row>
+<!-- <el-row :gutter="10" class="mb8">-->
+<!-- <el-col :span="1.5">-->
+<!-- <el-button-->
+<!-- type="primary"-->
+<!-- plain-->
+<!-- icon="el-icon-plus"-->
+<!-- size="mini"-->
+<!-- @click="handleAdd"-->
+<!-- v-hasPermi="['code:engineering:add']"-->
+<!-- >鏂板</el-button>-->
+<!-- </el-col>-->
+<!--<!– <el-col :span="1.5">–>-->
+<!--<!– <el-button–>-->
+<!--<!– type="success"–>-->
+<!--<!– plain–>-->
+<!--<!– icon="el-icon-edit"–>-->
+<!--<!– size="mini"–>-->
+<!--<!– :disabled="single"–>-->
+<!--<!– @click="handleUpdate"–>-->
+<!--<!– v-hasPermi="['code:engineering:edit']"–>-->
+<!--<!– >淇敼</el-button>–>-->
+<!--<!– </el-col>–>-->
+<!--<!– <el-col :span="1.5">–>-->
+<!--<!– <el-button–>-->
+<!--<!– type="danger"–>-->
+<!--<!– plain–>-->
+<!--<!– icon="el-icon-delete"–>-->
+<!--<!– size="mini"–>-->
+<!--<!– :disabled="multiple"–>-->
+<!--<!– @click="deleteByIds"–>-->
+<!--<!– v-hasPermi="['code:engineering:remove']"–>-->
+<!--<!– >鍒犻櫎</el-button>–>-->
+<!--<!– </el-col>–>-->
+<!--<!– <el-col :span="1.5">–>-->
+<!--<!– <el-button–>-->
+<!--<!– type="warning"–>-->
+<!--<!– plain–>-->
+<!--<!– icon="el-icon-download"–>-->
+<!--<!– size="mini"–>-->
+<!--<!– @click="handleExport"–>-->
+<!--<!– v-hasPermi="['code:engineering:export']"–>-->
+<!--<!– >瀵煎嚭</el-button>–>-->
+<!--<!– </el-col>–>-->
+<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
+<!-- </el-row>-->
<el-table
+ ref="elTable"
v-loading="loading"
+ style="margin-top: 20px"
:data="engineeringList"
+ height="100%"
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" />
+ :show-overflow-tooltip="true">
+ <el-table-column label="椤圭洰鍚嶇О" min-width="250" :show-overflow-tooltip="true" prop="projectName" />
<el-table-column label="椤圭洰鎺ㄨ繘绫诲瀷" align="center" prop="projectType">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_project_type" :value="scope.row.projectType"/>
+ </template>
+ </el-table-column>
+ <el-table-column label="涓荤閮ㄩ棬" align="center" prop="competentDepartmentName">
+ </el-table-column>
+ <el-table-column label="涓氫富鍗曚綅" align="center" prop="projectOwnerUnitName">
+ </el-table-column>
+ <el-table-column label="骞翠唤" align="center" prop="year">
+ <template slot-scope="scope">
+ {{ scope.row.year ? scope.row.year + '骞�' : '' }}
</template>
</el-table-column>
<el-table-column label="鎶曡祫棰�(涓�)" align="center" prop="investmentAmount" />
@@ -117,31 +126,29 @@
<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" prop="buildContent"/>
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
+ icon="el-icon-plus"
+ style="margin-right: 10px"
+ @click="handleAdd(scope.row)"
+ >娣诲姞瀛愬伐绋�</el-button>
+ <el-button
+ size="mini"
+ type="text"
icon="el-icon-edit"
+ v-if="!isProject(scope.row.id)"
@click="handleUpdate(scope.row)"
- v-hasPermi="['code:engineering:edit']"
>淇敼</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
+ v-if="!isProject(scope.row.id)"
@click="deleteById(scope.row)"
- v-hasPermi="['code:engineering:remove']"
>鍒犻櫎</el-button>
</template>
</el-table-column>
@@ -161,17 +168,9 @@
<el-form-item label="宸ョ▼鍚嶇О" prop="projectName">
<el-input v-model="form.projectName" placeholder="璇疯緭鍏ュ伐绋嬪悕绉�" />
</el-form-item>
- <el-form-item label="涓婚」鐩�" prop="projectInfoId">
- <el-row>
- <el-select v-model="form.projectInfoId" filterable style="width: 100%" placeholder="璇烽�夋嫨涓婚」鐩�">
- <el-option
- v-for="item in projectList"
- :key="'pp' + item.id"
- :label="item.projectName"
- :value="item.id">
- </el-option>
- </el-select>
- </el-row>
+ <el-form-item label="寤鸿鍐呭" prop="buildContent">
+ <el-input v-model.trim="form.buildContent" style="width: 100%;" :rows="4" maxlength="1000"
+ placeholder="璇疯緭鍏�" type="textarea"/>
</el-form-item>
<el-row :gutter="20">
<el-col :span="12">
@@ -213,11 +212,9 @@
<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="閫夋嫨鍗曚綅" />
+ type="year"
+ value-format="yyyy"
+ :picker-options="pickerOptions"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -235,6 +232,7 @@
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {approvalList,listDept} from "@/api/system/dept";
+import {getProjectProcess} from "@/api/projectProcess/projectProcess";
export default {
@@ -275,10 +273,12 @@
projectType: null,
status: null,
},
+ addId:null,
// 琛ㄥ崟鍙傛暟
form: {},
// 琛ㄥ崟鏍¢獙
rules: {
+ buildContent: [{required: true, message: '璇疯緭鍏ュ缓璁惧唴瀹�', trigger: 'blur'}],
projectName: [{required: true, message: '璇疯緭鍏ュ伐绋嬪悕绉�', trigger: 'blur'}],
projectInfoId: [{required: true, message: '璇烽�夋嫨涓婚」鐩�', trigger: 'change'}],
investmentAmount: [{required: true, message: '璇疯緭鍏ユ姇璧勯', trigger: 'change'}],
@@ -302,6 +302,15 @@
this.getDeptList();
},
methods: {
+ pickerOptions: {
+ // 杩欓噷鍙互娣诲姞鏇村鐨刾icker閫夐」锛屼絾涓虹畝鍖栫ず渚嬶紝鍙睍绀虹鐢ㄥ叾浠栨棩鏈熺殑閫昏緫
+ // 鍏抽敭璁剧疆锛氭樉绀哄勾浠介�夋嫨鍣�
+ pickers: ['year']
+ },
+ isProject(id) {
+ const numericPattern = /^\d+(\.\d+)?$/;
+ return numericPattern.test(id)
+ },
getProjectOwnerUnit(unitId) {
console.log(unitId)
// if (deptId) {
@@ -357,10 +366,10 @@
/** 鏌ヨ宸ョ▼搴撳垪琛� */
getList() {
this.loading = true;
- getProjectEngineerings(this.queryParams).then(res => {
- this.engineeringList = res.data;
- console.log(this.engineeringList)
- this.total = res.total;
+
+ getProjectProcess(this.queryParams).then(response => {
+ this.engineeringList = response.data;
+ this.total = response.total;
this.loading = false;
});
},
@@ -386,8 +395,10 @@
year:null,
parent:null,
};
+ this.addId = null;
this.resetForm("form");
},
+
/** 鎼滅储鎸夐挳鎿嶄綔 */
handleQuery() {
this.queryParams.pageNum = 1;
@@ -404,11 +415,18 @@
this.single = selection.length!==1
this.multiple = !selection.length
},
- /** 鏂板鎸夐挳鎿嶄綔 */
- handleAdd() {
+ handleAdd(row){
this.reset();
this.open = true;
this.title = "娣诲姞宸ョ▼";
+ if (this.isProject(row.id)) {
+ this.form.projectInfoId = row.id
+ this.form.parent = '0'
+ } else {
+ this.form.projectInfoId = row.projectInfoId
+ this.form.parent = row.id
+ }
+
},
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
@@ -423,17 +441,16 @@
/** 鎻愪氦鎸夐挳 */
submitForm() {
this.$refs["form"].validate(valid => {
- console.log(this.form)
if (valid) {
- if (this.form.id != null) {
- editProjectEngineering(this.form).then(response => {
- this.$modal.msgSuccess("淇敼鎴愬姛");
+ if (! this.form.id){
+ addProjectEngineering(this.form).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
this.open = false;
this.getList();
});
} else {
- addProjectEngineering(this.form).then(response => {
- this.$modal.msgSuccess("鏂板鎴愬姛");
+ editProjectEngineering(this.form).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
this.open = false;
this.getList();
});
--
Gitblit v1.8.0