lkk
2024-12-16 c7b33db117fd2893d7d1c93bf5d46e87d33e44d0
src/views/system/notice/index.vue
@@ -104,6 +104,13 @@
            @click="handleDelete(scope.row)"
            v-hasPermi="['system:notice:remove']"
          >删除</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-share"
            @click="handledetails(scope.row)"
            v-hasPermi="['system:notice:remove']"
          >详情</el-button>
        </template>
      </el-table-column>
    </el-table>
@@ -136,7 +143,12 @@
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="24">
          <el-col :span="12" v-if="form.noticeType == 1">
            <el-form-item label="通知人员" prop="noticeType">
              <el-input v-model="form.noticeTitle" placeholder="请输入通知人员" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="状态">
              <el-radio-group v-model="form.status">
                <el-radio
@@ -159,6 +171,22 @@
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
     <!--通知公告详情 -->
    <el-dialog :title="formIn.noticeTitle" :visible.sync="openDetail" width="800px" append-to-body>
      <div style="margin-top:-20px;margin-bottom:10px;">
        <el-tag size="mini" effect="dark" type="warning" v-if="form.noticeType==2">公告</el-tag>
        <el-tag size="mini" effect="dark" v-else>通知</el-tag>
        <span style="margin-left:20px;">{{formIn.createTime}}</span>
      </div>
      <div class="content">
        <div v-html="formIn.noticeContent" style="margin-left:0px;margin-right:76px" class="ql-editor"></div>
      </div>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="cancel"> 关 闭 </el-button>
      </div>
    </el-dialog>
  </div>
</template>
@@ -169,9 +197,21 @@
  name: "Notice",
  dicts: ['sys_notice_status', 'sys_notice_type'],
  data() {
    let checkPhoneNum = (rule, value, callback) => {
         console.log( value)
      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
      if (value == "" && value == undefined && !value) {
        return callback('');
      }  else if(value != undefined && value != ""){
        return callback();
      }else if (!patter.test(value)) {
        return callback('');
      }
    };
    return {
      // 遮罩层
      loading: true,
      openDetail:false,
      // 选中数组
      ids: [],
      // 非单个禁用
@@ -196,15 +236,16 @@
        createBy: undefined,
        status: undefined
      },
      formIn:{},
      // 表单参数
      form: {},
      // 表单校验
      rules: {
        noticeTitle: [
          { required: true, message: "公告标题不能为空", trigger: "blur" }
          { required: true, validator: checkPhoneNum,  trigger: "blur" }
        ],
        noticeType: [
          { required: true, message: "公告类型不能为空", trigger: "change" }
          { required: true, validator: checkPhoneNum,  trigger: "change" }
        ]
      }
    };
@@ -225,6 +266,7 @@
    // 取消按钮
    cancel() {
      this.open = false;
      this.openDetail = false,
      this.reset();
    },
    // 表单重置
@@ -270,6 +312,11 @@
        this.title = "修改公告";
      });
    },
    handledetails(row){
      this.formIn = row;
      this.openDetail = true;
    },
    /** 提交按钮 */
    submitForm: function() {
      this.$refs["form"].validate(valid => {