|
@@ -21,7 +21,7 @@
|
|
|
<div class="query-item">
|
|
|
<div class="lable">日期:</div>
|
|
|
<div class="search-input">
|
|
|
- <el-date-picker v-model="recorddate" type="date" value-format="YYYY-MM-DD" placeholder="选择日期" popper-class="date-select">
|
|
|
+ <el-date-picker v-model="recorddate" type="year" value-format="YYYY" placeholder="选择日期" popper-class="date-select">
|
|
|
</el-date-picker>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -35,31 +35,66 @@
|
|
|
<div class="df-table">
|
|
|
<ComTable height="78vh" :data="tableData"></ComTable>
|
|
|
</div>
|
|
|
- <el-dialog title="新增计划发电量" v-model="dialogShow" width="85%" top="10vh" custom-class="modal" :close-on-click-modal="false">
|
|
|
+ <el-dialog title="新增计划发电量" v-model="dialogShow" width="85%" top="10vh" custom-class="modal curDialog"
|
|
|
+ :close-on-click-modal="false" @closed="resetForm">
|
|
|
<el-form ref="form" :model="form" :rules="rules" inline label-width="80px">
|
|
|
<el-form-item label="场站" prop="submitWpId">
|
|
|
- <el-select v-model="form.submitWpId" clearable placeholder="请选择" popper-class="select" @change="getProject(true)">
|
|
|
+ <el-select v-model="form.submitWpId" clearable placeholder="请选择" popper-class="select" @change="reGetProject()">
|
|
|
<el-option v-for="item in wpArray" :key="item.id" :value="item.id" :label="item.name" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="项目" prop="submitProjectId">
|
|
|
<el-select v-model="form.submitProjectId" clearable placeholder="请选择" popper-class="select">
|
|
|
- <el-option v-for="item in projectArray" :key="item.id" :value="item.id" :label="item.name" />
|
|
|
+ <el-option v-for="item in projectArray2" :key="item.id" :value="item.id" :label="item.name" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="时间" prop="submitData">
|
|
|
- <el-date-picker v-model="form.submitData" type="date" value-format="YYYY-MM-DD" placeholder="选择日期"
|
|
|
- popper-class="date-select">
|
|
|
+ <el-date-picker v-model="form.submitData" type="year" value-format="YYYY" placeholder="选择日期" popper-class="date-select">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <!-- <el-form-item label="活动名称" prop="desc">
|
|
|
- <el-input v-model="form.name"></el-input>
|
|
|
- </el-form-item> -->
|
|
|
+ <el-form-item class="curFlex" label="1月份计划发电量(万kWh):" prop="gc01">
|
|
|
+ <el-input v-model="form.gc01"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="curFlex" label="2月份计划发电量(万kWh):" prop="gc02">
|
|
|
+ <el-input v-model="form.gc02"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="curFlex" label="3月份计划发电量(万kWh):" prop="gc03">
|
|
|
+ <el-input v-model="form.gc03"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="curFlex" label="4月份计划发电量(万kWh):" prop="gc04">
|
|
|
+ <el-input v-model="form.gc04"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="curFlex" label="5月份计划发电量(万kWh):" prop="gc05">
|
|
|
+ <el-input v-model="form.gc05"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="curFlex" label="6月份计划发电量(万kWh):" prop="gc06">
|
|
|
+ <el-input v-model="form.gc06"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="curFlex" label="7月份计划发电量(万kWh):" prop="gc07">
|
|
|
+ <el-input v-model="form.gc07"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="curFlex" label="8月份计划发电量(万kWh):" prop="gc08">
|
|
|
+ <el-input v-model="form.gc08"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="curFlex" label="9月份计划发电量(万kWh):" prop="gc09">
|
|
|
+ <el-input v-model="form.gc09"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="curFlex" label="10月份计划发电量(万kWh):" prop="gc10">
|
|
|
+ <el-input v-model="form.gc10"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="curFlex" label="11月份计划发电量(万kWh):" prop="gc11">
|
|
|
+ <el-input v-model="form.gc11"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="curFlex" label="12月份计划发电量(万kWh):" prop="gc12">
|
|
|
+ <el-input v-model="form.gc12"></el-input>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <button class="btn green" @click="dialogShow = false">取消</button>
|
|
|
- <button class="btn green">提交</button>
|
|
|
- </span>
|
|
|
+ <template #footer>
|
|
|
+ <span class="dialog-footer">
|
|
|
+ <button class="btn green" @click="submit">提交</button>
|
|
|
+ <button class="btn green" @click="dialogShow = false">取消</button>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -84,7 +119,8 @@ export default {
|
|
|
wpId: "",
|
|
|
projectArray: [],
|
|
|
projectId: "",
|
|
|
- recorddate: new Date((new Date().getTime() - 3600 * 1000 * 24)).formatDate("yyyy-MM-dd"),
|
|
|
+ projectArray2: [],
|
|
|
+ recorddate: new Date((new Date().getTime() - 3600 * 1000 * 24)).formatDate("yyyy"),
|
|
|
dialogShow: false,
|
|
|
tableData: {
|
|
|
column: [
|
|
@@ -192,26 +228,40 @@ export default {
|
|
|
is_num: false,
|
|
|
is_light: false,
|
|
|
sortable: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "操作",
|
|
|
+ field: "generatingcapacity",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ sortable: true,
|
|
|
+ template () {
|
|
|
+ return "<el-button type='text' style='cursor: pointer;'>编辑</el-button>";
|
|
|
+ },
|
|
|
+ click (e, row) {
|
|
|
+ that.editData(row)
|
|
|
+ }
|
|
|
}
|
|
|
],
|
|
|
data: [],
|
|
|
},
|
|
|
form: {
|
|
|
+ outagehours: 0.0,
|
|
|
submitWpId: "",
|
|
|
submitProjectId: "",
|
|
|
submitData: "",
|
|
|
- gc1:"",
|
|
|
- gc2:"",
|
|
|
- gc3:"",
|
|
|
- gc4:"",
|
|
|
- gc5:"",
|
|
|
- gc6:"",
|
|
|
- gc7:"",
|
|
|
- gc8:"",
|
|
|
- gc9:"",
|
|
|
- gc10:"",
|
|
|
- gc11:"",
|
|
|
- gc12:"",
|
|
|
+ gc01: "",
|
|
|
+ gc02: "",
|
|
|
+ gc03: "",
|
|
|
+ gc04: "",
|
|
|
+ gc05: "",
|
|
|
+ gc06: "",
|
|
|
+ gc07: "",
|
|
|
+ gc08: "",
|
|
|
+ gc09: "",
|
|
|
+ gc10: "",
|
|
|
+ gc11: "",
|
|
|
+ gc12: "",
|
|
|
},
|
|
|
rules: {
|
|
|
submitWpId: [
|
|
@@ -223,9 +273,42 @@ export default {
|
|
|
submitData: [
|
|
|
{ required: true, message: '请选择时间', trigger: 'change' },
|
|
|
],
|
|
|
- gc1: [
|
|
|
- { required: true, message: '该行数据不可为空', trigger: 'change' },
|
|
|
- ]
|
|
|
+ gc01: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ gc02: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ gc03: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ gc04: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ gc05: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ gc06: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ gc07: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ gc08: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ gc09: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ gc10: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ gc11: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
+ gc12: [
|
|
|
+ { required: true, validator: this.BASE.elCkeck.isNumber, trigger: 'change' },
|
|
|
+ ],
|
|
|
}
|
|
|
};
|
|
|
},
|
|
@@ -237,10 +320,10 @@ export default {
|
|
|
let that = this;
|
|
|
that.API.requestData({
|
|
|
method: "GET",
|
|
|
- subUrl: "powercompare/windfarmAjax",
|
|
|
+ subUrl: "powercompare/windfarmAllAjax",
|
|
|
success (res) {
|
|
|
that.wpArray = res.data;
|
|
|
- that.wpId = res.data[0].id;
|
|
|
+ that.wpId = that.wpId || res.data[0].id;
|
|
|
that.getProject();
|
|
|
}
|
|
|
});
|
|
@@ -257,6 +340,7 @@ export default {
|
|
|
},
|
|
|
success (res) {
|
|
|
that.projectArray = res.data;
|
|
|
+ that.projectArray2 = res.data;
|
|
|
that.projectId = res.data[0].id;
|
|
|
if (!skipRequest) {
|
|
|
that.getTableData();
|
|
@@ -265,6 +349,23 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
|
|
|
+ // 弹窗获取期数
|
|
|
+ reGetProject (wpIds = this.form.submitWpId) {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "GET",
|
|
|
+ subUrl: "powercompare/projectAjax",
|
|
|
+ data: {
|
|
|
+ wpIds
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ that.projectArray2 = res.data;
|
|
|
+ that.form.submitProjectId = res.data[0].id
|
|
|
+ that.dialogShow = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
getTableData () {
|
|
|
let that = this;
|
|
|
if (!that.recorddate) {
|
|
@@ -293,6 +394,65 @@ export default {
|
|
|
this.BASE.exportExcel(this.tableData);
|
|
|
},
|
|
|
|
|
|
+ submit () {
|
|
|
+ let that = this;
|
|
|
+ that.$refs.form.validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ let data = that.BASE.deepCopy(that.form);
|
|
|
+ data.windpower = that.form.submitWpId;
|
|
|
+ data.projectid = that.form.submitProjectId;
|
|
|
+ data.year = new Date(that.form.submitData).getFullYear();
|
|
|
+ data.generatingcapacity = (parseFloat(data.gc01) + parseFloat(data.gc02) + parseFloat(data.gc03) + parseFloat(data.gc04) + parseFloat(data.gc05) + parseFloat(data.gc06) + parseFloat(data.gc07) + parseFloat(data.gc08) + parseFloat(data.gc09) + parseFloat(data.gc10) + parseFloat(data.gc11) + parseFloat(data.gc12));
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "projectplan/saveData",
|
|
|
+ data,
|
|
|
+ success (res) {
|
|
|
+ that.getTableData();
|
|
|
+ that.BASE.showMsg({
|
|
|
+ type: "success",
|
|
|
+ msg: "保存成功"
|
|
|
+ });
|
|
|
+ that.dialogShow = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ editData (item) {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "projectplan/getSingleProjectPlan",
|
|
|
+ data: {
|
|
|
+ pjId: item.projectid,
|
|
|
+ year: item.year
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ that.reGetProject(res.data.windpower || "");
|
|
|
+ that.form = res.data;
|
|
|
+ that.form.submitWpId = res.data.windpower;
|
|
|
+ that.form.submitProjectId = res.data.projectid;
|
|
|
+ that.form.submitData = res.data.year;
|
|
|
+ that.form.outagehours = 0.0;
|
|
|
+ that.dialogShow = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ resetForm () {
|
|
|
+ for (let key in this.form) {
|
|
|
+ if(key === "outagehours"){
|
|
|
+ this.form[key] = 0.0;
|
|
|
+ }
|
|
|
+ this.form[key] = "";
|
|
|
+ }
|
|
|
+ this.$refs.form.resetFields();
|
|
|
+ },
|
|
|
+
|
|
|
search () {
|
|
|
this.getTableData();
|
|
|
}
|
|
@@ -347,3 +507,38 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
</style>
|
|
|
+<style lang="less">
|
|
|
+.el-form {
|
|
|
+ .el-form-item {
|
|
|
+ margin-bottom: 30px;
|
|
|
+ }
|
|
|
+ .el-form-item.curFlex {
|
|
|
+ width: 100%;
|
|
|
+ .el-form-item__label {
|
|
|
+ width: 210px !important;
|
|
|
+ }
|
|
|
+ .el-form-item__content {
|
|
|
+ display: flex;
|
|
|
+ justify-content: start;
|
|
|
+ align-items: center;
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.curDialog {
|
|
|
+ .el-dialog__body {
|
|
|
+ max-height: 600px;
|
|
|
+ overflow-y: scroll;
|
|
|
+ }
|
|
|
+
|
|
|
+ .dialog-footer {
|
|
|
+ width: 100%;
|
|
|
+ margin-top: 20px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|