|
@@ -1,27 +1,30 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<el-card class="box-card">
|
|
|
- <span>项目名称:</span>
|
|
|
- <div style="display: inline-block">
|
|
|
- <el-input v-model="projectName" placeholder="请输入项目关键字" clearable size="small"/>
|
|
|
+ <div style="margin-bottom: .5%">
|
|
|
+ <span>项目名称:</span>
|
|
|
+ <div style="display: inline-block">
|
|
|
+ <el-input v-model="projectName" placeholder="请输入项目关键字" clearable size="small"/>
|
|
|
+ </div>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="el-icon-search"
|
|
|
+ size="small"
|
|
|
+ @click="selectList"
|
|
|
+ >查询
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="small"
|
|
|
+ @click="handleAdd"
|
|
|
+ >新增
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- plain
|
|
|
- icon="el-icon-search"
|
|
|
- size="small"
|
|
|
- @click="selectList"
|
|
|
- >查询
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- plain
|
|
|
- icon="el-icon-plus"
|
|
|
- size="small"
|
|
|
- @click="handleAdd"
|
|
|
- >新增
|
|
|
- </el-button>
|
|
|
- <el-table v-loading="loading" border :data="projectList" @selection-change="handleSelectionChange">
|
|
|
+
|
|
|
+ <el-table v-loading="loading" border :data="projectList.slice((page.currentPage-1)*page.pageSize,page.currentPage*page.pageSize)" @selection-change="handleSelectionChange">
|
|
|
<el-table-column label="项目全称" align="center" prop="projectName"/>
|
|
|
<el-table-column label="项目简称" align="center" prop="projectNameEasy"/>
|
|
|
<el-table-column label="项目状态" align="center" prop="projectState"/>
|
|
@@ -50,77 +53,107 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
-
|
|
|
- <!-- <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-input v-model="form.projectName" placeholder="请输入项目名称"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="项目简称" prop="projectNameEasy">
|
|
|
- <el-input v-model="form.projectNameEasy" placeholder="请输入项目简称"/>
|
|
|
- </el-form-item>
|
|
|
- <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 statusType"
|
|
|
- :key="index"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="项目类型" prop="projectSort">
|
|
|
- <el-select v-model="form.projectSort" placeholder="请选择" style="width: 100%" clearable>
|
|
|
- <el-option
|
|
|
- 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="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>
|
|
|
- <el-button @click="cancel">取 消</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
+ <div class="block">
|
|
|
+ <el-pagination
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page=page.currentPage
|
|
|
+ :page-sizes="[8,10, 15, 30, 50]"
|
|
|
+ :page-size=page.pageSize
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total=page.total>
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
</el-card>
|
|
|
+ <!-- 添加或修改项目对话框 -->
|
|
|
+ <el-dialog :title="title" :visible.sync="open" width="60%" append-to-body :close-on-click-modal="false">
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
+ <el-row :gutter="20" class="mb8">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="项目全称" prop="projectName">
|
|
|
+ <el-input v-model="form.projectName" placeholder="请输入项目名称"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="项目简称" prop="projectNameEasy">
|
|
|
+ <el-input v-model="form.projectNameEasy" placeholder="请输入项目简称"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20" class="mb8">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="项目状态" prop="projectState">
|
|
|
+ <el-input v-model="form.projectState" placeholder="请输入项目状态"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="项目类别" prop="projectType">
|
|
|
+ <el-select v-model="form.projectType" placeholder="请选择" style="width: 100%" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="(item,index) in statusType"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20" class="mb8">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="项目类型" prop="projectSort">
|
|
|
+ <el-select v-model="form.projectSort" placeholder="请选择" style="width: 100%" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="(item,index) in statusSort"
|
|
|
+ :key="index"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <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-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20" class="mb8">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="项目经度" prop="longitude">
|
|
|
+ <el-input v-model="form.longitude" placeholder="请输入经度"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="项目纬度" prop="latitude">
|
|
|
+ <el-input v-model="form.latitude" placeholder="请输入纬度"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-form-item label="项目拐点坐标" prop="coordinates" label-width="100px">
|
|
|
+ <el-input v-model="form.coordinates" placeholder="请输入项目拐点坐标" type="textarea" :rows="2"/>
|
|
|
+ <span>拐点坐标填写样例:经度1,纬度1;经度2,纬度2;经度3,纬度3;经度4,纬度4;............;经度n,纬度n 标点符号","和";"都是英文书写</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="项目概述" prop="projectOverview" label-width="100px">
|
|
|
+ <el-input v-model="form.projectOverview" placeholder="请输入项目概述" type="textarea" :rows="2"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="项目风力概述" prop="resourcesOverview" label-width="110px">
|
|
|
+ <el-input v-model="form.resourcesOverview" placeholder="请输入项目风力概述" type="textarea" :rows="2"/>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
+ <el-button @click="cancel">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -140,6 +173,28 @@ import {companyListInfo} from "@/api/biz/dataQuery/company";
|
|
|
export default {
|
|
|
name: "Project",
|
|
|
data() {
|
|
|
+ const reg = /^[\-\+]?(0?\d{1,2}(\.\d{1,9})*|1[0-7]?\d{1}(\.\d{1,9})*|180(\.0{1,9})*)$/
|
|
|
+ const reg1 = /^[\-\+]?([0-8]?\d{1}(\.\d{1,9})*|90(\.0{1,9})*)$/
|
|
|
+ const checkLongitude = (rule, value, callback) => {
|
|
|
+ if (!value) {
|
|
|
+ callback(new Error('不许为空'))
|
|
|
+ }
|
|
|
+ if (reg.test(value) == false) {
|
|
|
+ callback(new Error('请输入正确经度'));
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const checkLatitude = (rule, value, callback) => {
|
|
|
+ if (!value) {
|
|
|
+ callback(new Error('不许为空'))
|
|
|
+ }
|
|
|
+ if (reg1.test(value) == false) {
|
|
|
+ callback(new Error('请输入正确纬度'));
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
return {
|
|
|
projectName: null,
|
|
|
// 遮罩层
|
|
@@ -181,6 +236,23 @@ export default {
|
|
|
projectSort: [
|
|
|
{required: true, message: '请选择项目类型'}
|
|
|
],
|
|
|
+ projectType: [
|
|
|
+ {required: true, message: '请选择项目类别'}
|
|
|
+ ],
|
|
|
+ projectNameEasy: [
|
|
|
+ {required: true, message: '请填写项目简称'}
|
|
|
+ ],
|
|
|
+ equipment: [
|
|
|
+ {required: true, message: '请选择关联设备'}
|
|
|
+ ],
|
|
|
+ longitude: [{required: true, validator: checkLongitude, trigger: 'blur'}],
|
|
|
+ latitude: [{required: true, validator: checkLatitude, trigger: 'blur'}],
|
|
|
+ projectOverview: [
|
|
|
+ {required: true, message: '请填写项目概述'}
|
|
|
+ ],
|
|
|
+ resourcesOverview: [
|
|
|
+ {required: true, message: '请填写项目风力资源概述'}
|
|
|
+ ]
|
|
|
},
|
|
|
statusType: [{label: "风", value: "风"},
|
|
|
{label: "光", value: "光"}],
|
|
@@ -191,12 +263,18 @@ export default {
|
|
|
relationEquipmentData: [],
|
|
|
companyData: [],
|
|
|
provinceData: [],
|
|
|
+ page: {
|
|
|
+ total: 0, // 总页数
|
|
|
+ currentPage: 1, // 当前页数
|
|
|
+ pageSize: 8 // 每页显示多少条
|
|
|
+ },
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
this.getAllWindTowerInfo()
|
|
|
- this.getcompanyInfo()
|
|
|
- this.getProvince()
|
|
|
+ // this.getcompanyInfo()
|
|
|
+ // this.getProvince()
|
|
|
+ this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
getProvince() {
|
|
@@ -239,7 +317,7 @@ export default {
|
|
|
this.loading = true;
|
|
|
listProject(data).then(response => {
|
|
|
this.projectList = response.rows;
|
|
|
- this.total = response.total;
|
|
|
+ this.page.total = response.total;
|
|
|
this.loading = false;
|
|
|
});
|
|
|
},
|
|
@@ -317,7 +395,8 @@ export default {
|
|
|
latitude: row.latitude,
|
|
|
resourcesOverview: row.resourcesOverview,
|
|
|
projectOverview: row.projectOverview,
|
|
|
- equipment: a
|
|
|
+ equipment: a,
|
|
|
+ coordinates:row.coordinates
|
|
|
}
|
|
|
this.title = "修改&保存";
|
|
|
this.open = true;
|
|
@@ -365,7 +444,22 @@ export default {
|
|
|
|
|
|
formatSort(row) {
|
|
|
return this.statusSort.find(w => w.value === row.projectSort).label
|
|
|
- }
|
|
|
+ },
|
|
|
+ /*pageSize改变*/
|
|
|
+ handleSizeChange(val) {
|
|
|
+ this.page.pageSize = val
|
|
|
+ this.page.currentPage = 1
|
|
|
+ },
|
|
|
+ /*currentPage改变*/
|
|
|
+ handleCurrentChange(val) {
|
|
|
+ this.page.currentPage = val
|
|
|
+ },
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
+<style scoped>
|
|
|
+.block {
|
|
|
+ float: right;
|
|
|
+ margin: 1%;
|
|
|
+}
|
|
|
+</style>
|