Newer
Older
adminAccountabilityFront / src / views / rule / grade / components / edit.vue
liyaguang on 14 Sep 2023 3 KB feat(*): 考核相关静态页面
<!--
 * @Description: 考核等级管理新建/编辑/详情页面
 * @Author: 李亚光
 * @Date: 2023-09-14
 -->
<script lang="ts" setup name="RuleGradeHandler">
import type { FormInstance, FormRules, UploadUserFile } from 'element-plus'
import ruleTable from './ruleTable.vue'
const $route = useRoute()
const $router = useRouter()
// 对话框类型:create,update
const dialogStatus = ref('create')
// 显示标题
const textMap: { [key: string]: string } = {
  update: '编辑',
  create: '新增',
  detail: '详情',
}
// 表单对象
const ruleForm = ref({

})
// 表单验证规则
const rules = ref<FormRules>({
  reason: [{ required: true, message: '送检原因必填', trigger: ['blur', 'change'] }],
})
// 表单实例对象
const ruleFormRef = ref()
// 等级评定规则表格实例对象
const ruleTableRef = ref()
</script>

<template>
  <app-container style="overflow: hidden;">
    <detail-page class="base-info-device" :title="`考核等级评定-${textMap[dialogStatus]}`">
      <template #btns>
        <el-button type="primary">
          保存
        </el-button>
        <el-button type="info" @click="$router.go(-1)">
          关闭
        </el-button>
      </template>
    </detail-page>
    <detail-block-com>
      <el-form
        ref="ruleFormRef" :model="ruleForm" :rules="rules" label-position="right" label-width="110px" class="form"
        :class="[$route.path.includes('detail') ? 'isDetail' : '']" :disabled="$route.path.includes('detail')"
      >
        <el-row :gutter="24" class="marg">
          <el-col :span="5" />
          <el-col :span="14">
            <el-form-item label="等级评定名称" prop="approvalNo">
              <el-input v-model.trim="ruleForm.approvalNo" placeholder="等级评定名称" />
            </el-form-item>
          </el-col>
          <el-col :span="5" />
        </el-row>
        <el-row :gutter="24" class="marg">
          <el-col :span="5" />
          <el-col :span="14">
            <el-form-item label="等级评定描述" prop="approvalName">
              <el-input v-model.trim="ruleForm.approvalName" type="textarea" placeholder="等级评定描述" :rows="3" maxlength="50" show-word-limit />
            </el-form-item>
          </el-col>
          <el-col :span="5" />
        </el-row>
        <el-row :gutter="24" class="marg">
          <el-col :span="5" />
          <el-col :span="14">
            <!-- 等级评定规则表格 -->
            <el-form-item label="等级评定规则">
              <rule-table ref="ruleTableRef" :data="[]" />
            </el-form-item>
          </el-col>
          <el-col :span="5" />
        </el-row>
        <el-row :gutter="24" class="marg">
          <el-col :span="5" />
          <el-col :span="14">
            <el-form-item label="备注" prop="approvalName">
              <el-input v-model.trim="ruleForm.approvalName" type="textarea" placeholder="备注" :rows="4" maxlength="100" show-word-limit />
            </el-form-item>
          </el-col>
          <el-col :span="5" />
        </el-row>
      </el-form>
    </detail-block-com>
  </app-container>
</template>

<style lang="scss" scoped>
  .isDetail {
    ::v-deep {
      .el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label::before,
      .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label::before {
        content: "";
        display: none;
      }
    }
  }
</style>