123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <template>
- <el-form ref='form' :rules='rules' :model='form' label-width='140px'>
- <el-form-item v-if='devFlag' ref='form' label='设备标识' prop='EquipmentMark'>
- <el-input v-model='form.EquipmentMark'></el-input>
- </el-form-item>
- <el-form-item
- label='原始点位值单位'
- prop='unit'
- :rules='[
- { required: true, message: "请选择原始点位值单位" , trigger: ["change", "blur"]},
- { validator: validateUnit, trigger: "change"},
- ]'
- >
- <el-cascader :options='options' v-model='form.unit' @change='handleChange'></el-cascader>
- <p
- class='tip'
- >数据字典信息点-{{unitObj ? (unitObj.infoPointName || '--') : '--'}}({{unitObj ? (unitObj.unit || '--') : '--'}})</p>
- </el-form-item>
- </el-form>
- </template>
- <script>
- import { batchQueryUnit } from '@/fetch/point_http'
- export default {
- name: 'step3_auto-handle',
- data() {
- return {
- options: [],
- form: {
- EquipmentMark: '',
- unit: [],
- },
- rules: {
- EquipmentMark: [{ required: true, message: '请输入设备标识', trigger: 'blur' }],
- }
- }
- },
- props: {
- unitObj: {
- default: {}
- },
- devFlag: {
- default: true,
- type: Boolean
- },
- autoHandleShow: {}
- },
- methods: {
- validateUnit(rule, value, callback) {
- if(this.unitObj.unit) {
- callback()
- } else {
- callback(new Error("无数据字典信息点单位"))
- }
- },
- getForm(cb) {
- this.$refs['form'].validate(valid => {
- if (valid) {
- if(this.unitObj.unit) {
- cb(this.form)
- } else {
- cb(false)
- }
- } else {
- cb(false)
- }
- })
- },
- handleChange(val) {
- // console.log(val)
- },
- getUnitList() {
- batchQueryUnit({}, res => {
- if (res.Result == 'success') {
- let data = res.Content
- let arr = []
- data.forEach(item => {
- let first = {
- value: item.Type,
- label: item.Type,
- children: []
- }
- item.Units.forEach(ele => {
- let second = {}
- second = {
- value: ele.Name,
- label: ele.Name
- }
- first.children.push(second)
- })
- arr.push(first)
- })
- this.options = arr
- }
- })
- },
- init() {
- //获取单位
- this.getUnitList()
- }
- },
- created() {
- this.init()
- },
- watch: {
- unitObj: {
- deep: true,
- handler() {
- this.$refs['form'].validateField('unit')
- }
- },
- autoHandleShow: {
- deep: true,
- immediate: true,
- handler(val) {
- if(val){
- this.form = val;
- }
- }
- }
- }
- }
- </script>
- <style scoped lang='scss'>
- .tip {
- color: #ccc;
- }
- </style>
|