monitorEquip.vue 7.88 KB
Newer Older
neogcg's avatar
neogcg committed
1 2 3 4 5 6 7 8 9
<template>
  <div>
    <el-form
      ref="monitorForm"
      :model="monitorForm"
      :rules="rules"
      label-width="200px"
      class="form"
    >
neogcg's avatar
neogcg committed
10
      <el-form-item label="所在铁路线:" prop="wayId">
neogcg's avatar
neogcg committed
11 12 13 14 15
        <el-select
          v-model="monitorForm.wayId"
          placeholder="请选择铁路线"
          @change="changerailWay()"
        >
neogcg's avatar
neogcg committed
16
          <el-option
neogcg's avatar
neogcg committed
17 18 19 20 21 22 23 24
            v-for="item in railWaySelect"
            :key="item.id"
            :label="item.name"
            :value="item.id"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="所在站点:" prop="siteId">
neogcg's avatar
neogcg committed
25 26 27 28 29
        <el-select
          v-model="monitorForm.siteId"
          placeholder="请选择站点"
          @change="changesite()"
        >
neogcg's avatar
neogcg committed
30 31 32 33 34 35 36 37
          <el-option
            v-for="item in stationSelect2"
            :key="item.id"
            :label="item.siteName"
            :value="item.id"
          ></el-option>
        </el-select>
      </el-form-item>
neogcg's avatar
neogcg committed
38
      <el-form-item label="所在FSU:" prop="fsuId">
neogcg's avatar
neogcg committed
39 40 41 42 43 44
        <el-select v-model="monitorForm.fsuId" placeholder="请选择FSU">
          <el-option
            v-for="item in fsuSelect2"
            :key="item.id"
            :label="item.equipName"
            :value="item.id"
neogcg's avatar
neogcg committed
45 46 47 48 49 50 51 52
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="设备身份编号:" prop="equipCode">
        <el-input
          v-model="monitorForm.equipCode"
          placeholder="请输入设备身份编号"
        />
neogcg's avatar
neogcg committed
53
      </el-form-item>
neogcg's avatar
neogcg committed
54 55 56 57 58
      <el-form-item label="设备名称:" prop="equipName">
        <el-input
          v-model="monitorForm.equipName"
          placeholder="请输入设备名称"
        />
neogcg's avatar
neogcg committed
59 60 61 62 63 64
      </el-form-item>
      <el-form-item label="设备厂商:" prop="equipFactory">
        <el-input
          v-model="monitorForm.equipFactory"
          placeholder="请输入设备厂商"
        />
neogcg's avatar
neogcg committed
65
      </el-form-item>
neogcg's avatar
neogcg committed
66
      <el-form-item label="IP:" prop="ip">
neogcg's avatar
neogcg committed
67
        <el-input v-model="monitorForm.ip" placeholder="请输入设备厂商" />
neogcg's avatar
neogcg committed
68
      </el-form-item>
neogcg's avatar
neogcg committed
69 70
      <el-form-item label="设备类别:" prop="equipType">
        <el-select v-model="monitorForm.equipType" placeholder="请输入设备类别">
neogcg's avatar
neogcg committed
71 72
          <el-option
            v-for="item in equipTypeSelect"
neogcg's avatar
neogcg committed
73 74
            :key="item.id"
            :label="item.dictValue"
neogcg's avatar
neogcg committed
75
            :value="item.id"
neogcg's avatar
neogcg committed
76 77
          ></el-option>
        </el-select>
neogcg's avatar
neogcg committed
78 79
      </el-form-item>
      <el-form-item label="设备型号:" prop="equipMode">
neogcg's avatar
neogcg committed
80
        <el-select v-model="monitorForm.equipMode" placeholder="请输入设备型号">
neogcg's avatar
neogcg committed
81 82
          <el-option
            v-for="item in equipModeSelect"
neogcg's avatar
neogcg committed
83 84
            :key="item.id"
            :label="item.dictValue"
neogcg's avatar
neogcg committed
85
            :value="item.id"
neogcg's avatar
neogcg committed
86 87
          ></el-option>
        </el-select>
neogcg's avatar
neogcg committed
88
      </el-form-item>
neogcg's avatar
neogcg committed
89

neogcg's avatar
neogcg committed
90 91 92 93 94 95
      <el-form-item label="设备生产序列号:" prop="equipSerialNumber">
        <el-input
          v-model="monitorForm.equipSerialNumber"
          placeholder="请输入设备生产序列号"
        />
      </el-form-item>
neogcg's avatar
neogcg committed
96
      <el-form-item label="设备所在铁路公里标:" prop="kmSign">
neogcg's avatar
neogcg committed
97
        <el-input
neogcg's avatar
neogcg committed
98 99
          v-model="monitorForm.kmSign"
          placeholder="请输入设备所在铁路公里标"
neogcg's avatar
neogcg committed
100 101 102
        />
      </el-form-item>
      <el-form-item label="安装日期:" prop="installDate">
neogcg's avatar
neogcg committed
103 104 105 106 107 108 109 110 111
        <el-date-picker
          v-model="monitorForm.installDate"
          type="datetime"
          placeholder="请选择安装日期"
          format="yyyy-MM-dd HH:mm:ss"
          style="width: 400px"
          value-format="yyyy-MM-dd HH:mm:ss"
        >
        </el-date-picker>
neogcg's avatar
neogcg committed
112
      </el-form-item>
neogcg's avatar
neogcg committed
113

neogcg's avatar
neogcg committed
114
      <el-form-item label="	维护日期:" prop="repairDate">
neogcg's avatar
neogcg committed
115
        <el-date-picker
neogcg's avatar
neogcg committed
116 117 118 119 120 121 122 123
          v-model="monitorForm.repairDate"
          type="datetime"
          placeholder="请选择维护日期"
          format="yyyy-MM-dd HH:mm:ss"
          style="width: 400px"
          value-format="yyyy-MM-dd HH:mm:ss"
        >
        </el-date-picker>
neogcg's avatar
neogcg committed
124 125 126 127 128 129 130 131 132
      </el-form-item>
    </el-form>
    <div class="btn">
      <el-button type="primary" @click="reset">重置</el-button>
      <el-button type="primary" @click="submit">确认提交</el-button>
    </div>
  </div>
</template>
<script>
neogcg's avatar
neogcg committed
133 134 135 136 137 138 139 140
import {
  railWaylist,
  monitorEquipsave,
  selectMonitorItem,
  selectForSite,
  selectForFsu,
} from "../../api";

neogcg's avatar
neogcg committed
141
import { successAlert, warningAlert } from "@/utils/alert";
neogcg's avatar
neogcg committed
142 143 144 145 146
export default {
  props: [],
  components: {},
  data() {
    return {
neogcg's avatar
neogcg committed
147
      railWaySelect: [],
neogcg's avatar
neogcg committed
148 149
      stationSelect2: [],
      fsuSelect2: [],
neogcg's avatar
neogcg committed
150 151
      equipTypeSelect: [],
      equipModeSelect: [],
neogcg's avatar
neogcg committed
152 153 154 155
      monitorForm: formInit(),
      params: {
        current: 1,
        size: 10,
neogcg's avatar
neogcg committed
156 157
      },
      rules: {
neogcg's avatar
neogcg committed
158 159 160 161
           wayId: [{ required: true, message: "请选择铁路线", trigger: "blur" }],
        siteId: [{ required: true, message: "请选择站点", trigger: "blur" }],
        fsuId: [{ required: true, message: "请选择FSU", trigger: "blur" }],
      
neogcg's avatar
neogcg committed
162 163 164 165 166
        equipCode: [
          { required: true, message: "请输入设备身份编号", trigger: "blur" },
        ],
        equipFactory: [
          { required: true, message: "请输入设备厂商", trigger: "blur" },
neogcg's avatar
neogcg committed
167
        ],
neogcg's avatar
neogcg committed
168
        ip: [{ required: true, message: "请输入IP", trigger: "blur" }],
neogcg's avatar
neogcg committed
169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
        equipMode: [
          { required: true, message: "请选择设备型号", trigger: "blur" },
        ],
        equipName: [
          { required: true, message: "请输入设备名", trigger: "blur" },
        ],
        equipSerialNumber: [
          { required: true, message: "请输入设备生产序列号", trigger: "blur" },
        ],
        equipType: [
          { required: true, message: "请输入设备类别", trigger: "blur" },
        ],
        installDate: [
          { required: true, message: "请输入安装日期", trigger: "blur" },
        ],
        kmSign: [
          {
            required: true,
            message: "请输入设备所在铁路公里标",
            trigger: "blur",
          },
        ],
        repairDate: [
          { required: true, message: "请输入维护日期", trigger: "blur" },
        ],
      },
    };
  },
neogcg's avatar
neogcg committed
197
  computed: {},
neogcg's avatar
neogcg committed
198
  methods: {
neogcg's avatar
neogcg committed
199
    changerailWay() {
neogcg's avatar
neogcg committed
200 201 202
      selectForSite({ wayId: this.monitorForm.wayId }).then((res) => {
        this.stationSelect2 = res;
      });
neogcg's avatar
neogcg committed
203
    },
neogcg's avatar
neogcg committed
204
    changesite() {
neogcg's avatar
neogcg committed
205 206 207 208
      selectForFsu({ siteId: this.monitorForm.siteId }).then((res) => {
        this.fsuSelect2 = res;
        console.log(this.fsuSelect2);
      });
neogcg's avatar
neogcg committed
209
    },
neogcg's avatar
neogcg committed
210 211 212 213 214 215
    reset() {
      this.$refs.monitorForm.resetFields();
    },
    submit() {
      this.$refs.monitorForm.validate((valid) => {
        if (valid) {
neogcg's avatar
neogcg committed
216
          this.monitorForm.parentId = this.monitorForm.fsuId;
neogcg's avatar
neogcg committed
217

neogcg's avatar
neogcg committed
218
          monitorEquipsave(this.monitorForm).then((res) => {
neogcg's avatar
neogcg committed
219 220 221
            if (res.code == 200) {
              successAlert("添加成功");
            } else {
neogcg's avatar
neogcg committed
222
              warningAlert("添加失败");
neogcg's avatar
neogcg committed
223 224
            }
          });
neogcg's avatar
neogcg committed
225
        }
neogcg's avatar
neogcg committed
226 227 228
        this.monitorForm = formInit();
      });
    },
neogcg's avatar
neogcg committed
229

neogcg's avatar
neogcg committed
230 231 232 233 234 235 236
    getAllWay() {
      railWaylist(this.params).then((res) => {
        this.railWaySelect = res.records;
        if (res.total > this.params.size) {
          this.params.size = res.total;
          this.getAllWay();
        }
neogcg's avatar
neogcg committed
237 238 239
      });
    },
  },
neogcg's avatar
neogcg committed
240 241
  created() {
    selectMonitorItem().then((res) => {
neogcg's avatar
neogcg committed
242 243
      this.equipTypeSelect = res["03"];
      this.equipModeSelect = res["09"];
neogcg's avatar
neogcg committed
244 245
    });
  },
neogcg's avatar
neogcg committed
246
  mounted() {
neogcg's avatar
neogcg committed
247
    this.getAllWay();
neogcg's avatar
neogcg committed
248
  },
neogcg's avatar
neogcg committed
249
};
neogcg's avatar
neogcg committed
250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269
function formInit(data = {}) {
  return {
    wayId: "",
    parentId: "",
    siteId: "",
    fsuId: "",
    equipCode: "",
    ip: "",
    equipFactory: "",
    equipMode: "",
    equipName: "",
    equipSerialNumber: "",
    equipType: "",
    installDate: "",
    kmSign: "",

    repairDate: "",
    ...data,
  };
}
neogcg's avatar
neogcg committed
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284
</script>
<style lang="scss" scoped>
.form {
  padding: 20px 0;
  width: 600px;
  margin: 0 auto;
}
.btn {
  padding-top: 50px;
  text-align: center;
  button {
    width: 120px;
  }
}
</style>