|
@@ -0,0 +1,301 @@
|
|
|
+<template>
|
|
|
+ <a-card :bordered="false" v-show="visible" class="card" :title="modalTitle">
|
|
|
+ <a-row :gutter="48" slot="extra">
|
|
|
+ <a-col :md="48" :sm="48">
|
|
|
+ <span class="table-page-search-submitButtons" style="float: right">
|
|
|
+ <a-button :loading="confirmLoading" type="primary" @click="save()">保存</a-button>
|
|
|
+ <a-button style="margin-left: 8px" type="default" @click="handleCancel()">返回</a-button>
|
|
|
+ </span>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-form :form="form">
|
|
|
+
|
|
|
+ <a-form-item v-show="false">
|
|
|
+ <a-input v-decorator="['id']" type="hidden"/>
|
|
|
+ <a-input v-decorator="['sbId']" type="hidden"/>
|
|
|
+
|
|
|
+ </a-form-item>
|
|
|
+
|
|
|
+ <row-list :col="2">
|
|
|
+ <row-item>
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ label="设备名称"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ style="width: 70%"
|
|
|
+ disabled
|
|
|
+ v-decorator="['sbName', {rules: [{required: true, message: '设备名称不能为空'}]}]" />
|
|
|
+ <a-button style="width: 30%" type="primary" @click="handleSbSelect">选择</a-button>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ <row-item>
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ label="点位"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input-number
|
|
|
+ style="width: 100%"
|
|
|
+ disabled
|
|
|
+ v-decorator="['positionNum', {rules: [{required: true, message: '点位不能为空'}]}]"/>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ <!-- <row-item>
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ label="类型"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input-number
|
|
|
+ style="width: 100%"
|
|
|
+ :min="0"
|
|
|
+ :formatter="BaseTool.Amount.formatter"
|
|
|
+ :parser="BaseTool.Amount.parser"
|
|
|
+ v-decorator="['type', {rules: [{required: true, message: '类型不能为空'}]}]"/>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>-->
|
|
|
+ <row-item>
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ label="描述"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ v-decorator="['description', {rules: [{required: true, message: '描述不能为空'}]}]"/>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ <row-item>
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ label="系数"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input-number
|
|
|
+ style="width: 100%"
|
|
|
+ disabled
|
|
|
+ v-decorator="['ratio', {rules: [{required: true, message: '系数不能为空'}]}]"/>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ <row-item>
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ label="单位"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ disabled
|
|
|
+ v-decorator="['unit', {rules: [{required: true, message: '单位不能为空'}]}]"/>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ <row-item>
|
|
|
+ <a-form-item
|
|
|
+ label="类型"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-select disabled v-decorator="['type', {initialValue:1, rules: [{required: true, message: '类型不能为空'}]}]" placeholder="请选择">
|
|
|
+ <a-select-option
|
|
|
+ v-for="(label,value) in map"
|
|
|
+ :key="value"
|
|
|
+ :label="label"
|
|
|
+ :value="parseInt(value)">{{ label }}
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ <row-item>
|
|
|
+ <a-form-item
|
|
|
+ label="年"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ style="width: 100%"
|
|
|
+ v-decorator="['year', {rules: [{required: true, message: '不能为空'}]}]"/>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ <row-item>
|
|
|
+ <a-form-item
|
|
|
+ label="月"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ style="width: 100%"
|
|
|
+ v-decorator="['month', {rules: [{required: true, message: '不能为空'}]}]"/>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ <row-item>
|
|
|
+ <a-form-item
|
|
|
+ label="日"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ style="width: 100%"
|
|
|
+ v-decorator="['day', {rules: [{required: true, message: '不能为空'}]}]"/>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ <row-item>
|
|
|
+ <a-form-item
|
|
|
+ label="时"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ style="width: 100%"
|
|
|
+ v-decorator="['hour', {rules: [{required: true, message: '不能为空'}]}]"/>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ <row-item>
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ label="实时数值"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ v-decorator="['result', {rules: [{required: true, message: '实时数值不能为空'}]}]"/>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ <row-item>
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ label="备注"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-input
|
|
|
+ v-decorator="['remark', {rules: [{required: true, message: '备注不能为空'}]}]"/>
|
|
|
+ </a-form-item>
|
|
|
+ </row-item>
|
|
|
+ </row-list>
|
|
|
+ </a-form>
|
|
|
+ <remote-degree-select-modal ref="remoteDegreeSelectModal" @selected="handleSbSelectd"/>
|
|
|
+ </a-card>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import pick from 'lodash.pick'
|
|
|
+import { addRemoteMeasureLog, updateRemoteMeasureLog } from '@/api/remote/measure-log'
|
|
|
+import RemoteDegreeSelectModal from '@/views/remote/degree/modules/RemoteDegreeSelectModal'
|
|
|
+export default {
|
|
|
+ name: 'BaseRemoteMeasureLog',
|
|
|
+ components: {
|
|
|
+ RemoteDegreeSelectModal
|
|
|
+ },
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ confirmLoading: false,
|
|
|
+ modalTitle: null,
|
|
|
+ map: {},
|
|
|
+ form: this.$form.createForm(this),
|
|
|
+ visible: false
|
|
|
+ // 下拉框map
|
|
|
+ }
|
|
|
+ },
|
|
|
+ props: {},
|
|
|
+ created () {
|
|
|
+ // 下拉框map
|
|
|
+ this.map = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REMOTE_MEASURE)
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ base (record) {
|
|
|
+ this.visible = true
|
|
|
+ // 如果是空标识添加
|
|
|
+ if (this.BaseTool.Object.isBlank(record)) {
|
|
|
+ this.modalTitle = '添加'
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.modalTitle = '编辑'
|
|
|
+ const { form: { setFieldsValue } } = this
|
|
|
+ // 日期处理
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setFieldsValue(Object.assign(pick(record, [
|
|
|
+ 'id',
|
|
|
+ 'sbId',
|
|
|
+ 'sbName',
|
|
|
+ 'positionNum',
|
|
|
+ 'type',
|
|
|
+ 'description',
|
|
|
+ 'result',
|
|
|
+ 'year',
|
|
|
+ 'month',
|
|
|
+ 'day',
|
|
|
+ 'hour',
|
|
|
+ 'ratio',
|
|
|
+ 'unit',
|
|
|
+ 'remark'
|
|
|
+ ])))
|
|
|
+ })
|
|
|
+ },
|
|
|
+ save () {
|
|
|
+ const { form: { validateFieldsAndScroll } } = this
|
|
|
+ this.confirmLoading = true
|
|
|
+ validateFieldsAndScroll((errors, values) => {
|
|
|
+ if (errors) {
|
|
|
+ this.confirmLoading = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 日期处理
|
|
|
+ if (this.BaseTool.String.isBlank(values.id)) {
|
|
|
+ addRemoteMeasureLog(values)
|
|
|
+ .then(() => {
|
|
|
+ this.handleCancel(values)
|
|
|
+ }).catch(() => {
|
|
|
+ this.confirmLoading = false
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ updateRemoteMeasureLog(values)
|
|
|
+ .then(() => {
|
|
|
+ this.handleCancel(values)
|
|
|
+ }).catch(() => {
|
|
|
+ this.confirmLoading = false
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleSbSelect () {
|
|
|
+ this.$refs.remoteDegreeSelectModal.base({}, {})
|
|
|
+ },
|
|
|
+ handleSbSelectd (keys, rows) {
|
|
|
+ const [ key ] = keys
|
|
|
+ const [ row ] = rows
|
|
|
+ const { form: { setFieldsValue } } = this
|
|
|
+ this.sbId = key
|
|
|
+ // 日期处理
|
|
|
+ console.log(keys, rows)
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setFieldsValue(Object.assign({
|
|
|
+ 'sbId': row.sbId,
|
|
|
+ 'positionNum': row.positionNum,
|
|
|
+ 'sbName': row.sbName,
|
|
|
+ 'description': row.description,
|
|
|
+ 'ratio': row.ratio,
|
|
|
+ 'type': row.type,
|
|
|
+ 'unit': row.unit
|
|
|
+ }))
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleCancel (values) {
|
|
|
+ this.visible = false
|
|
|
+ this.confirmLoading = false
|
|
|
+ this.form.resetFields()
|
|
|
+ if (this.BaseTool.Object.isNotBlank(values)) {
|
|
|
+ this.$emit('ok', values)
|
|
|
+ } else {
|
|
|
+ this.$emit('ok')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|