Newer
Older
xc-business-system / src / views / quality / review / work / components / detail.vue
<!-- 管理评审工作详情页面 -->
<script name="QualityReviewWorkHandler" lang="ts" setup>
import type { FormInstance, FormRules, UploadUserFile } from 'element-plus'
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus'
import dayjs from 'dayjs'
import fileList from './fileList.vue'
import { getDictByCode } from '@/api/system/dict'
import useUserStore from '@/store/modules/user'
import { getUserList } from '@/api/system/user'
import { addReviewWork, detailReviewWork, updateReviewWork } from '@/api/quality/review/work'
const $route = useRoute()
const $router = useRouter()
const userStore = useUserStore()
const ruleFormRef = ref<FormInstance>() // from组件
const ruleForm = ref({
  yearTime: '',
  yearNum: '',
  workName: '',
  bizLabCode: '',
  beginTime: '',
  endTime: '',
  commanderId: '',
  currentStageName: '',
  commanderName: '',
  currentStage: '0',
  reviewFileList: [] as any,
}) // 表单
const rules = ref<FormRules>({
}) // 表单验证规则
onMounted(() => {
  detailReviewWork({ id: $route.query.id }).then((res) => {
    console.log(res.data, '详情')
    ruleForm.value = res.data
  })
})
// const currentStageList = ref<{ id: string; value: string; name: string }[]>()// 归档状态+
// // 获取字典值
// const fetchDict = () => {
//   getDictByCode('managementReviewCurrentStage').then((res) => {
//     currentStageList.value = res.data
//   })
// }
// fetchDict()
// 编辑
const updateRow = () => {
  $router.push({
    path: '/qreviewwork/update',
    query: { ...$route.query },
  })
}
</script>

<template>
  <app-container style="overflow: hidden;">
    <detail-page title="管理评审工作管理">
      <template #btns>
        <el-button type="primary" @click="updateRow">
          编辑
        </el-button>
        <el-button type="primary">
          下载
        </el-button>
        <el-button type="info" @click="() => $router.go(-1)">
          关闭
        </el-button>
      </template>
    </detail-page>
    <detail-block title="">
      <el-form ref="ruleFormRef" :model="ruleForm" :class="$route.path.includes('detail') ? 'isDetail' : ''" :rules="rules" label-position="right" label-width="120px" class="form" :disabled="$route.path.includes('detail')">
        <el-row :gutter="24" class="marg">
          <el-col :span="6">
            <el-form-item label="审核工作名称" prop="createName">
              <el-input v-model="ruleForm.workName" />
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="开始时间" prop="beginTime">
              <el-date-picker
                v-model="ruleForm.beginTime"
                type="date"
                placeholder="开始时间"
                style="width: 100%;"
                value-format="YYYY-MM-DD"
                format="YYYY-MM-DD"
              />
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="结束时间" prop="endTime">
              <el-date-picker
                v-model="ruleForm.endTime"
                type="date"
                placeholder="结束时间"
                style="width: 100%;"
                value-format="YYYY-MM-DD"
                format="YYYY-MM-DD"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="24" class="marg">
          <el-col :span="6">
            <el-form-item label="质量负责人" prop="commanderId">
              <el-input v-model="ruleForm.commanderName" />
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="归档状态" prop="currentStage">
              <el-input v-model="ruleForm.currentStageName" />
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </detail-block>
    <file-list ref="fileRef" :data="ruleForm.reviewFileList" />
  </app-container>
</template>

<style lang="scss" scoped>
.user-container {
  width: 100%;
  height: 120px;
  overflow-y: scroll;
  border: 1px solid #dcdfe6;
  border-radius: 5px;
}

.mx-1 {
  margin-top: 5px;
  margin-right: 5px;
  margin-left: 5px;
}
</style>