|
@@ -0,0 +1,340 @@
|
|
|
+<!-- -->
|
|
|
+<template>
|
|
|
+ <div class="tab2Edit2">
|
|
|
+ <div class="top">{{myData.type}}</div>
|
|
|
+ <div class="from">
|
|
|
+ <el-form
|
|
|
+ :model="ruleForm"
|
|
|
+ :rules="rules"
|
|
|
+ ref="ruleForm"
|
|
|
+ label-width="100px"
|
|
|
+ class="demo-ruleForm"
|
|
|
+ >
|
|
|
+ <el-form-item label="1月:" prop="1">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[1]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="2月:" prop="2">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[2]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="3月:" prop="3">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[3]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="4月:" prop="4">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[4]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="5月:" prop="5">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[5]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="6月:" prop="6">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[6]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="7月:" prop="7">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[7]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="8月:" prop="8">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[8]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="9月:" prop="9">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[9]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="10月:" prop="10">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[10]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="11月:" prop="11">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[11]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="12月:" prop="12">
|
|
|
+ <el-input
|
|
|
+ v-model.number="ruleForm[12]"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ <span class="unit">kwh</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="更新时间:">
|
|
|
+ <i class="biaoshi"></i>
|
|
|
+ <el-date-picker
|
|
|
+ v-model="time"
|
|
|
+ type="datetime"
|
|
|
+ placeholder="选择日期时间"
|
|
|
+ align="right"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <!-- 下面的按钮 -->
|
|
|
+ <div class="btn">
|
|
|
+ <el-button @click="$router.push('/layout/tab2')">返 回</el-button>
|
|
|
+ <el-button type="primary" @click="btnOk">提 交</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { energySave } from '@/apis/tab2'
|
|
|
+export default {
|
|
|
+ name: 'tab2Edit2',
|
|
|
+ components: {},
|
|
|
+ data () {
|
|
|
+ // 这里存放数据
|
|
|
+ const validatePass = (rule, value, callback) => {
|
|
|
+ if (value > 99999999.99) {
|
|
|
+ callback(new Error('不能超过99999999.99'))
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ pickerOptions: {
|
|
|
+ shortcuts: [
|
|
|
+ {
|
|
|
+ text: '今天',
|
|
|
+ onClick (picker) {
|
|
|
+ picker.$emit('pick', new Date())
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: '昨天',
|
|
|
+ onClick (picker) {
|
|
|
+ const date = new Date()
|
|
|
+ date.setTime(date.getTime() - 3600 * 1000 * 24)
|
|
|
+ picker.$emit('pick', date)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: '一周前',
|
|
|
+ onClick (picker) {
|
|
|
+ const date = new Date()
|
|
|
+ date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
|
|
|
+ picker.$emit('pick', date)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ disTime: '',
|
|
|
+ time: '',
|
|
|
+ myData: {},
|
|
|
+ ruleForm: {
|
|
|
+ 1: '',
|
|
|
+ 2: '',
|
|
|
+ 3: '',
|
|
|
+ 4: '',
|
|
|
+ 5: '',
|
|
|
+ 6: '',
|
|
|
+ 7: '',
|
|
|
+ 8: '',
|
|
|
+ 9: '',
|
|
|
+ 10: '',
|
|
|
+ 11: '',
|
|
|
+ 12: ''
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ 1: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ 2: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ 3: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ 4: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ 5: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ 6: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ 7: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ 8: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ 9: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ 10: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ 11: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ 12: [
|
|
|
+ { required: true, message: '不能为空', trigger: 'blur' },
|
|
|
+ { validator: validatePass, trigger: 'blur' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ typeSwitch: {
|
|
|
+ '实时用电监控-当前值': 'current',
|
|
|
+ '实时用电监控-近三年均值': 'yearAvg',
|
|
|
+ '月度节能情况-同比增长': 'monthUp',
|
|
|
+ '月度节能情况-均值': 'monthAvg'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 监听属性 类似于data概念
|
|
|
+ computed: {},
|
|
|
+ // 监控data中的数据变化
|
|
|
+ watch: {
|
|
|
+ time (val) {
|
|
|
+ const temp = this.moment(val).format('YYYY-MM-DD HH:mm:ss')
|
|
|
+ this.disTime = temp
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 方法集合
|
|
|
+ methods: {
|
|
|
+ // 点击提交
|
|
|
+ async btnOk () {
|
|
|
+ if (this.time === null) return this.$message.warning('时间不能为空!')
|
|
|
+ try {
|
|
|
+ await this.$refs.ruleForm.validate()
|
|
|
+ const obj = {}
|
|
|
+ obj.type = this.typeSwitch[this.myData.type]
|
|
|
+ obj.id = Number(this.myData.id)
|
|
|
+ obj.data = JSON.stringify(this.ruleForm)
|
|
|
+ obj.userUpdateTime = this.disTime
|
|
|
+ const res = await energySave(obj)
|
|
|
+ if (res.code === 0) {
|
|
|
+ this.$message.success('修改成功')
|
|
|
+ this.$router.push('/layout/tab2')
|
|
|
+ }
|
|
|
+ // console.log(999, res)
|
|
|
+ // console.log(777777777777, obj)
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getCurrentTime () {
|
|
|
+ // 获取当前时间并打印
|
|
|
+ var _this = this
|
|
|
+ const yy = new Date().getFullYear()
|
|
|
+ const mm = new Date().getMonth() + 1
|
|
|
+ const dd = new Date().getDate()
|
|
|
+ const hh = new Date().getHours()
|
|
|
+ const mf =
|
|
|
+ new Date().getMinutes() < 10
|
|
|
+ ? '0' + new Date().getMinutes()
|
|
|
+ : new Date().getMinutes()
|
|
|
+ const ss =
|
|
|
+ new Date().getSeconds() < 10
|
|
|
+ ? '0' + new Date().getSeconds()
|
|
|
+ : new Date().getSeconds()
|
|
|
+ _this.gettime = yy + '/' + mm + '/' + dd + ' ' + hh + ':' + mf + ':' + ss
|
|
|
+ this.time = _this.gettime
|
|
|
+ // console.log(_this.gettime)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 生命周期 - 创建完成(可以访问当前this实例)
|
|
|
+ async created () {
|
|
|
+ this.myData = this.$route.query
|
|
|
+ // console.log(998, this.myData)
|
|
|
+ for (const k in this.myData.data) {
|
|
|
+ this.ruleForm[k] = this.myData.data[k]
|
|
|
+ }
|
|
|
+ this.getCurrentTime()
|
|
|
+ // console.log(999, this.$route.query)
|
|
|
+ },
|
|
|
+ // 生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
+ mounted () {},
|
|
|
+ beforeCreate () {}, // 生命周期 - 创建之前
|
|
|
+ beforeMount () {}, // 生命周期 - 挂载之前
|
|
|
+ beforeUpdate () {}, // 生命周期 - 更新之前
|
|
|
+ updated () {}, // 生命周期 - 更新之后
|
|
|
+ beforeDestroy () {}, // 生命周期 - 销毁之前
|
|
|
+ destroyed () {}, // 生命周期 - 销毁完成
|
|
|
+ activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style lang='less' scoped>
|
|
|
+.tab2Edit2 {
|
|
|
+ height: 100%;
|
|
|
+ position: relative;
|
|
|
+ .top {
|
|
|
+ height: 40px;
|
|
|
+ line-height: 40px;
|
|
|
+ background-color: #fbfbfb;
|
|
|
+ padding-left: 20px;
|
|
|
+ }
|
|
|
+ .from {
|
|
|
+ max-height: 600px;
|
|
|
+ overflow-y: auto;
|
|
|
+ margin-top: 30px;
|
|
|
+ .unit {
|
|
|
+ position: absolute;
|
|
|
+ right: -40px;
|
|
|
+ top: 0;
|
|
|
+ }
|
|
|
+ /deep/.el-form-item__content{
|
|
|
+ width: 500px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .btn {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ width: 200px;
|
|
|
+ position: absolute;
|
|
|
+ left: 50%;
|
|
|
+ bottom: 30px;
|
|
|
+ transform: translateX(-50%);
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|