riku
2024-08-02 f346dcb4e26bfca845b4825006af03affe089b8a
对外支持模块
已修改2个文件
已添加1个文件
82 ■■■■■ 文件已修改
src/components/form/FYForm.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/fysp/support/components/DeviceMatch.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/fysp/support/components/FormDevice.vue 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/form/FYForm.vue
@@ -141,8 +141,19 @@
);
//监听表单编辑状态
watch(edit, (nValue) => {
  emit('update:isEdit', nValue);
watch(
  () => props.isEdit,
  (nV, oV) => {
    if (nV != oV) {
      edit.value = nV;
    }
  },
  { immediate: true }
);
watch(edit, (nV, oV) => {
  if (nV != oV) {
    emit('update:isEdit', nV);
  }
});
defineExpose({ formObj, onSubmit, onCancel, onReset });
src/views/fysp/support/components/DeviceMatch.vue
@@ -11,11 +11,20 @@
      <el-row justify="space-between">
        <div>
          <!-- <el-button type="primary" plain :disabled="!enabled">名称同步</el-button> -->
          <el-button type="primary" plain :disabled="!enabled">录入设备信息</el-button>
          <el-button type="primary" plain :disabled="!enabled" @click="setNewDevice"
            >录入设备信息</el-button
          >
        </div>
        <el-button type="danger" :disabled="!enabled">上传匹配信息</el-button>
      </el-row>
      <el-row></el-row>
      <div v-if="newDevice">
        <el-text>新增设备</el-text>
        <FormDevice :form-info="newDevice" :is-edit="true" ></FormDevice>
      </div>
      <div v-if="deviceList.length > 0">
        <el-text>已有设备</el-text>
        <FormDevice v-for="item in deviceList" :key="item.diId" :form-info="item"></FormDevice>
      </div>
    </template>
  </el-card>
</template>
@@ -23,11 +32,16 @@
import { ref, computed, watch } from 'vue';
import deviceApi from '@/api/fysp/deviceApi';
import FormDevice from './FormDevice.vue';
const props = defineProps({
  device: Object,
  scene: Object
});
// æ–°å¢žè®¾å¤‡ä¿¡æ¯
const newDevice = ref();
// åœºæ™¯å·²æœ‰è®¾å¤‡ä¿¡æ¯
const deviceList = ref([]);
const enabled = computed(() => {
@@ -48,4 +62,16 @@
    deviceList.value = res.data;
  });
}
function setNewDevice() {
  newDevice.value = {
    diName: props.device.name,
    diMnCode: props.device.code,
    diType: 1,
    diSupplier: null,
    diMaintainer: null,
    diRunningStatus: true,
    diRemoved: false
  };
}
</script>
src/views/fysp/support/components/FormDevice.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
<template>
  <FYForm :form-info="formInfo" :rules="rules" :useReset="true" @submit="submit" @cancel="cancel">
    <template #form-item="{ formObj }">
      <el-form-item label="站点名称" prop="diName">
        <el-input clearable v-model="formObj.diName" placeholder="站点名称" />
      </el-form-item>
      <el-form-item label="MN编号" prop="diMnCode">
        <el-input clearable v-model="formObj.diMnCode" placeholder="MN编号" />
      </el-form-item>
      <el-form-item label="设备类型" prop="diType">
        <el-input clearable v-model="formObj.diType" placeholder="设备类型" />
      </el-form-item>
      <el-form-item label="供应商" prop="diSupplier">
        <el-input clearable v-model="formObj.diSupplier" placeholder="供应商" />
      </el-form-item>
      <el-form-item label="运维商" prop="diMaintainer">
        <el-input clearable v-model="formObj.diMaintainer" placeholder="运维商" />
      </el-form-item>
      <el-form-item label="是否上线" prop="diRunningStatus">
        <el-switch
          v-model="formObj.diRunningStatus"
          inline-prompt
          active-text="是"
          inactive-text="否"
        />
      </el-form-item>
      <el-form-item label="是否拆除" prop="diRemoved">
        <el-switch v-model="formObj.diRemoved" inline-prompt active-text="是" inactive-text="否" />
      </el-form-item>
    </template>
  </FYForm>
</template>
<script setup>
const props = defineProps({
  formInfo: Object
});
</script>