|
@@ -3,7 +3,7 @@
|
|
|
<el-card class="box-card">
|
|
|
<span>项目名称:</span>
|
|
|
<div style="display: inline-block">
|
|
|
- <el-input v-model="projectName" placeholder="请输入项目关键字" clearable size="small"/>
|
|
|
+ <el-input v-model="projectName" placeholder="请输入项目关键字" clearable size="small"/>
|
|
|
</div>
|
|
|
<el-button
|
|
|
type="primary"
|
|
@@ -22,25 +22,15 @@
|
|
|
>新增
|
|
|
</el-button>
|
|
|
<el-table v-loading="loading" border :data="projectList" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column label="项目名称" align="center" prop="projectName"/>
|
|
|
- <el-table-column label="所属公司" align="center" prop="company"/>
|
|
|
- <el-table-column label="省份" align="center" prop="province" :formatter="formatProvince"/>
|
|
|
- <el-table-column label="开始日期" align="center" prop="startDate" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.startDate, '{y}-{m}-{d}') }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="完工日期" align="center" prop="endDate" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="项目状态" align="center" prop="status" :formatter="formatStatus"/>
|
|
|
- <el-table-column label="关联设备" align="center" prop="relationEquipment">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ formatEquipment(scope.row.relationEquipment) }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+ <el-table-column label="项目全称" align="center" prop="projectName"/>
|
|
|
+ <el-table-column label="项目简称" align="center" prop="projectNameEasy"/>
|
|
|
+ <el-table-column label="项目状态" align="center" prop="projectState"/>
|
|
|
+ <el-table-column label="项目类别" align="center" prop="projectType"/>
|
|
|
+ <el-table-column label="项目类型" align="center" prop="projectSort" :formatter="formatSort"/>
|
|
|
+ <el-table-column label="经度" align="center" prop="longitude"/>
|
|
|
+ <el-table-column label="纬度" align="center" prop="latitude"/>
|
|
|
+ <el-table-column label="关联设备" align="center" prop="equipment"/>
|
|
|
+
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button
|
|
@@ -61,79 +51,69 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
- <pagination
|
|
|
- v-show="total>0"
|
|
|
- :total="total"
|
|
|
- :page.sync="queryParams.pageNum"
|
|
|
- :limit.sync="queryParams.pageSize"
|
|
|
- @pagination="getList"
|
|
|
- />
|
|
|
+ <!-- <pagination-->
|
|
|
+ <!-- v-show="total>0"-->
|
|
|
+ <!-- :total="total"-->
|
|
|
+ <!-- :page.sync="queryParams.pageNum"-->
|
|
|
+ <!-- :limit.sync="queryParams.pageSize"-->
|
|
|
+ <!-- @pagination="getList"-->
|
|
|
+ <!-- />-->
|
|
|
|
|
|
<!-- 添加或修改项目对话框 -->
|
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false">
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
- <el-form-item label="项目名称" prop="projectName">
|
|
|
+ <el-form-item label="项目全称" prop="projectName">
|
|
|
<el-input v-model="form.projectName" placeholder="请输入项目名称"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="所属公司" prop="company">
|
|
|
- <el-input v-model="form.company" placeholder="请输入所属公司"/>
|
|
|
- <!-- <el-select v-model="form.company" placeholder="请输入所属公司" style="width: 100%" clearable>-->
|
|
|
- <!-- <el-option-->
|
|
|
- <!-- v-for="item in companyData"-->
|
|
|
- <!-- :key="item.name"-->
|
|
|
- <!-- :label="item.name"-->
|
|
|
- <!-- :value="item.name">-->
|
|
|
- <!-- </el-option>-->
|
|
|
- <!-- </el-select>-->
|
|
|
+ <el-form-item label="项目简称" prop="projectNameEasy">
|
|
|
+ <el-input v-model="form.projectNameEasy" placeholder="请输入项目简称"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="省份" prop="province">
|
|
|
- <!-- <el-input v-model="form.province" placeholder="请输入省份"/>-->
|
|
|
- <el-select v-model="form.province" placeholder="请选择省份" style="width: 100%" clearable>
|
|
|
+ <el-form-item label="项目状态" prop="projectName">
|
|
|
+ <el-input v-model="form.projectState" placeholder="请输入项目状态"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="项目类别" prop="projectType">
|
|
|
+ <el-select v-model="form.projectType" placeholder="请选择" style="width: 100%" clearable>
|
|
|
<el-option
|
|
|
- v-for="(item,index) in provinceData"
|
|
|
- :key="item.index"
|
|
|
+ v-for="(item,index) in statusType"
|
|
|
+ :key="index"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="开始日期" prop="startDate">
|
|
|
- <el-date-picker clearable style="width: 100%"
|
|
|
- v-model="form.startDate"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="请选择开始日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="完工日期" prop="endDate">
|
|
|
- <el-date-picker clearable style="width: 100%"
|
|
|
- v-model="form.endDate"
|
|
|
- type="date"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- placeholder="请选择完工日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="项目状态" prop="status">
|
|
|
- <el-select v-model="form.status" placeholder="请选择" style="width: 100%" clearable>
|
|
|
+ <el-form-item label="项目类型" prop="projectSort">
|
|
|
+ <el-select v-model="form.projectSort" placeholder="请选择" style="width: 100%" clearable>
|
|
|
<el-option
|
|
|
- v-for="(item,index) in statusData"
|
|
|
+ v-for="(item,index) in statusSort"
|
|
|
:key="index"
|
|
|
:label="item.label"
|
|
|
:value="item.value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="关联设备" prop="relationEquipment">
|
|
|
- <el-select v-model="form.relationEquipment" placeholder="请选择" style="width: 100%" multiple clearable>
|
|
|
- <el-option
|
|
|
- v-for="item in relationEquipmentData"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- :disabled="item.disabled">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
+ <el-form-item label="经度" prop="longitude">
|
|
|
+ <el-input v-model="form.longitude" placeholder="请输入经度"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="纬度" prop="latitude">
|
|
|
+ <el-input v-model="form.latitude" placeholder="请输入纬度"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="关联设备" prop="equipment">
|
|
|
+ <el-select v-model="form.equipment" placeholder="请选择" style="width: 100%" multiple clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="item in relationEquipmentData"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ :disabled="item.disabled">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="项目概述" prop="projectOverview">
|
|
|
+ <el-input v-model="form.projectOverview" placeholder="请输入项目概述"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="项目风力概述" prop="resourcesOverview">
|
|
|
+ <el-input v-model="form.resourcesOverview" placeholder="请输入项目风力概述"/>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
@@ -161,7 +141,7 @@ export default {
|
|
|
name: "Project",
|
|
|
data() {
|
|
|
return {
|
|
|
- projectName:null,
|
|
|
+ projectName: null,
|
|
|
// 遮罩层
|
|
|
loading: true,
|
|
|
// 选中数组
|
|
@@ -181,16 +161,16 @@ export default {
|
|
|
// 是否显示弹出层
|
|
|
open: false,
|
|
|
// 查询参数
|
|
|
- queryParams: {
|
|
|
- pageNum: 1,
|
|
|
- pageSize: 10,
|
|
|
- projectName: null,
|
|
|
- company: null,
|
|
|
- province: null,
|
|
|
- startDate: null,
|
|
|
- endDate: null,
|
|
|
- status: null
|
|
|
- },
|
|
|
+ // queryParams: {
|
|
|
+ // pageNum: 1,
|
|
|
+ // pageSize: 10,
|
|
|
+ // projectName: null,
|
|
|
+ // company: null,
|
|
|
+ // province: null,
|
|
|
+ // startDate: null,
|
|
|
+ // endDate: null,
|
|
|
+ // status: null
|
|
|
+ // },
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
// 表单校验
|
|
@@ -198,14 +178,16 @@ export default {
|
|
|
projectName: [
|
|
|
{required: true, message: '请填写项目名称'}
|
|
|
],
|
|
|
- status: [
|
|
|
- {required: true, message: '请选择场站状态'}
|
|
|
+ projectSort: [
|
|
|
+ {required: true, message: '请选择项目类型'}
|
|
|
],
|
|
|
},
|
|
|
- statusData: [{label: "立项", value: "0"},
|
|
|
- {label: "运行", value: "1"},
|
|
|
- {label: "终止", value: "2"},
|
|
|
- {label: "结束", value: "3"}],
|
|
|
+ statusType: [{label: "风", value: "风"},
|
|
|
+ {label: "光", value: "光"}],
|
|
|
+ statusSort: [{label: "一类", value: "one"},
|
|
|
+ {label: "二类", value: "tow"},
|
|
|
+ {label: "三类", value: "three"},
|
|
|
+ {label: "其他", value: "four"}],
|
|
|
relationEquipmentData: [],
|
|
|
companyData: [],
|
|
|
provinceData: [],
|
|
@@ -248,14 +230,14 @@ export default {
|
|
|
},
|
|
|
/*条件查询*/
|
|
|
selectList() {
|
|
|
- if (this.projectName !== null && this.projectList !== undefined && this.projectList !== '')
|
|
|
- this.queryParams.projectName = this.projectName
|
|
|
+ // if (this.projectName !== null && this.projectList !== undefined && this.projectList !== '')
|
|
|
+ // this.queryParams.projectName = this.projectName
|
|
|
this.getList()
|
|
|
},
|
|
|
/** 查询项目列表 */
|
|
|
getList() {
|
|
|
this.loading = true;
|
|
|
- listProject(this.queryParams).then(response => {
|
|
|
+ listProject().then(response => {
|
|
|
this.projectList = response.rows;
|
|
|
this.total = response.total;
|
|
|
this.loading = false;
|
|
@@ -281,18 +263,21 @@ export default {
|
|
|
this.form = {
|
|
|
id: null,
|
|
|
projectName: null,
|
|
|
- company: null,
|
|
|
- province: null,
|
|
|
- startDate: null,
|
|
|
- endDate: null,
|
|
|
- status: null,
|
|
|
- relationEquipment: null
|
|
|
+ projectNameEasy: null,
|
|
|
+ projectState: null,
|
|
|
+ projectType: null,
|
|
|
+ projectSort: null,
|
|
|
+ longitude: null,
|
|
|
+ latitude: null,
|
|
|
+ resourcesOverview: null,
|
|
|
+ projectOverview: null,
|
|
|
+ equipment: null
|
|
|
};
|
|
|
this.resetForm("form");
|
|
|
},
|
|
|
/** 搜索按钮操作 */
|
|
|
handleQuery() {
|
|
|
- this.queryParams.pageNum = 1;
|
|
|
+ // this.queryParams.pageNum = 1;
|
|
|
this.getList();
|
|
|
},
|
|
|
/** 重置按钮操作 */
|
|
@@ -317,19 +302,22 @@ export default {
|
|
|
this.reset();
|
|
|
const id = row.id || this.ids
|
|
|
var a = null
|
|
|
- if(row.relationEquipment !== null){
|
|
|
- a= row.relationEquipment.split(",")
|
|
|
- a = a.length === 1 && a[0] === "" ? null : row.relationEquipment.split(",")
|
|
|
+ if (row.equipment !== null) {
|
|
|
+ a = row.equipment.split(",")
|
|
|
+ a = a.length === 1 && a[0] === "" ? null : row.equipment.split(",")
|
|
|
}
|
|
|
this.form = {
|
|
|
id: row.id,
|
|
|
projectName: row.projectName,
|
|
|
- company: row.company,
|
|
|
- province: row.province,
|
|
|
- startDate: row.startDate,
|
|
|
- endDate: row.endDate,
|
|
|
- status: row.status,
|
|
|
- relationEquipment: a
|
|
|
+ projectNameEasy: row.projectNameEasy,
|
|
|
+ projectState: row.projectState,
|
|
|
+ projectType: row.projectType,
|
|
|
+ projectSort: row.projectSort,
|
|
|
+ longitude: row.longitude,
|
|
|
+ latitude: row.latitude,
|
|
|
+ resourcesOverview: row.resourcesOverview,
|
|
|
+ projectOverview: row.projectOverview,
|
|
|
+ equipment: a
|
|
|
}
|
|
|
this.title = "修改&保存";
|
|
|
this.open = true;
|
|
@@ -337,8 +325,8 @@ export default {
|
|
|
/** 提交按钮 */
|
|
|
submitForm() {
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
- if (this.form.relationEquipment !== null) {
|
|
|
- this.form.relationEquipment = this.form.relationEquipment.toString()
|
|
|
+ if (this.form.equipment !== null) {
|
|
|
+ this.form.equipment = this.form.equipment.toString()
|
|
|
}
|
|
|
if (valid) {
|
|
|
if (this.form.id != null) {
|
|
@@ -369,18 +357,14 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
/** 导出按钮操作 */
|
|
|
- handleExport() {
|
|
|
- this.download('client/project/export', {
|
|
|
- ...this.queryParams
|
|
|
- }, `project_${new Date().getTime()}.xlsx`)
|
|
|
- },
|
|
|
- /*格式化省份*/
|
|
|
- formatProvince(row) {
|
|
|
- return this.provinceData.find(w => w.value === row.province).label
|
|
|
- },
|
|
|
- /*格式化项目状态*/
|
|
|
- formatStatus(row) {
|
|
|
- return this.statusData.find(w => w.value === row.status).label
|
|
|
+ // handleExport() {
|
|
|
+ // this.download('client/project/export', {
|
|
|
+ // ...this.queryParams
|
|
|
+ // }, `project_${new Date().getTime()}.xlsx`)
|
|
|
+ // },
|
|
|
+
|
|
|
+ formatSort(row) {
|
|
|
+ return this.statusSort.find(w => w.value === row.projectSort).label
|
|
|
}
|
|
|
}
|
|
|
};
|