riku
2024-01-09 023ea35893ed047887a43555509335eec7a8b161
src/views/notice/CompNoticeAdd.vue
@@ -1,11 +1,5 @@
<template>
  <el-form
    :inline="false"
    :model="form"
    ref="formRef"
    :rules="rules"
    label-position="top"
  >
  <el-form :inline="false" :model="form" ref="formRef" :rules="rules" label-position="top">
    <el-form-item label="通知标题" prop="title">
      <el-input v-model="form.title" placeholder="通知标题" />
    </el-form-item>
@@ -22,22 +16,19 @@
    </el-form-item>
    <el-form-item label="区县类型" prop="district">
      <el-select v-model="form.district" placeholder="区县类型">
        <el-option
          v-for="s in districts"
          :key="s.value"
          :label="s.label"
          :value="s.value"
        />
        <el-option v-for="s in districts" :key="s.value" :label="s.label" :value="s.value" />
      </el-select>
    </el-form-item>
    <el-form-item label="场景类型" prop="receiverType">
      <el-select v-model="form.receiverType" placeholder="场景类型">
        <el-option
          v-for="s in sceneTypes"
          :key="s.value"
          :label="s.label"
          :value="s.value"
        />
    <!-- <FYOptionScene
        prop="receiverType"
        :allOption="true"
        :type="1"
        :initValue="true"
        v-model:value="form.receiverType"
      ></FYOptionScene> -->
    <el-form-item label="场景类型" prop="_receiverType">
      <el-select v-model="form._receiverType" placeholder="场景类型">
        <el-option v-for="s in sceneTypes" :key="s.value" :label="s.label" :value="s.value" />
      </el-select>
    </el-form-item>
    <el-form-item label="是否需要签收" prop="needSigned">
@@ -45,16 +36,14 @@
      <span style="margin-left: 16px">{{ form.needSigned ? '是' : '否' }}</span>
    </el-form-item>
    <el-form-item>
      <el-button type="primary" @click="onSubmit" :loading="loading"
        >提交</el-button
      >
      <el-button type="primary" @click="onSubmit" :loading="loading">提交</el-button>
      <el-button @click="onCancel">取消</el-button>
    </el-form-item>
  </el-form>
</template>
<script>
import { enumScene_1 } from '@/enum/scene';
import { enumScene } from '@/enum/scene';
import { enumDistrict } from '@/enum/district';
import { enumNotice } from '@/enum/notice';
@@ -62,10 +51,10 @@
  props: {
    active: {
      type: Boolean,
      default: false,
      default: false
    },
    edit: Boolean,
    loading: Boolean,
    loading: Boolean
  },
  emits: ['update:edit', 'onSubmit', 'onCancel'],
  data() {
@@ -74,7 +63,7 @@
        // expandTrigger: 'hover'
      },
      districts: enumDistrict(),
      sceneTypes: enumScene_1(),
      sceneTypes: enumScene(1),
      noticeTypes: enumNotice(),
      form: {
        //发布者id
@@ -92,41 +81,42 @@
        //通知内容
        content: '',
        //通知图片
        picUrl: '',
        picUrl: null,
        //通知链接
        bodyUrl: '',
        //是否需要签收
        needSigned: false,
        //接受用户场景类型
        _receiverType: null,
        receiverType: '0',
        //接受用户区县
        district: '0',
        //接受用户id
        receiverId: '',
        receiverId: null
      },
      rules: {
        title: [
          {
            required: true,
            message: '请输入通知标题',
            trigger: 'blur',
          },
            trigger: 'blur'
          }
        ],
        content: [
          {
            required: true,
            message: '请输入通知内容',
            trigger: 'blur',
          },
            trigger: 'blur'
          }
        ],
        _typeArray: [
          {
            required: true,
            message: '请选择通知类型',
            trigger: 'change',
          },
        ],
      },
            trigger: 'change'
          }
        ]
      }
    };
  },
  watch: {
@@ -149,8 +139,8 @@
        }
        this.isReset = false;
      },
      deep: true,
    },
      deep: true
    }
  },
  computed: {},
  methods: {
@@ -170,6 +160,9 @@
            this.form.typeId = a[0];
            this.form.subTypeId = 0;
          }
          if (this.form._receiverType == null) {
            this.form.receiverType = '0';
          }
          this.$emit('onSubmit', this.form);
        } else {
          console.log('error submit!', fields);
@@ -179,10 +172,10 @@
    onCancel() {
      // this.reset();
      this.$emit('onCancel');
    },
    }
  },
  mounted() {
    this.noticeTypes[0].disabled = true;
  },
  }
};
</script>