Newer
Older
KaiFengPC / src / views / project / projectQuality / qualityRectification / qualityComponents / todoDon.vue
@zhangdeliang zhangdeliang on 23 May 4 KB 初始化项目
<template>
  <div class="water-analysis-pageTD">
    <el-table :data="tableDataList" v-loading="tableLoading" stripe max-height="500">
      <el-table-column type="index" width="55" label="序号" />
      <el-table-column :label="i.label" :prop="i.props" show-overflow-tooltip v-for="i in qualityRectificationCloum">
        <template #default="{ row }" v-if="i.props == 'projectName'">
          <span class="projectName"> {{ row.projectName }}</span>
        </template>
        <template #default="{ row }" v-if="i.props == 'reformNo'">
          <span @click="onCheck(row, 4, '详情')" class="projectName"> {{ row.reformNo }}</span>
        </template>
        <template #default="{ row }" v-if="i.props == 'abarbeitungStartTime'">
          {{ row.abarbeitungStartTime.substring(0, 10) }}
        </template>
        <template #default="{ row }" v-if="i.props == 'abarbeitungEndTime'">
          {{ row.abarbeitungEndTime.substring(0, 10) }}
        </template>
        <template #default="{ row }" v-if="i.props == 'status'">
          <span style="color: red" v-if="row.fromStatus">驳回</span>
          <dict-tag :options="quality_rectification_status" :value="row.status" />
        </template>
      </el-table-column>
      <el-table-column fixed="right" label="操作" width="230">
        <template #default="{ row }">
          <el-button link type="primary" icon="View" @click="onCheck(row, 4, '详情')">详情</el-button>
          <el-button
            v-if="row.status == 'projectDeptReplay' && todoList.queryScope == 'todo'"
            icon="Edit"
            link
            type="success"
            @click="onCheck(row, 6, '处理')"
            >处理</el-button
          >
          <el-button
            icon="EditPen"
            v-if="
              (row.status == 'startQualityImprovement' || row.status == 'start') &&
              (todoList.queryScope != 'done') & (userName == row.createBy)
            "
            link
            type="success"
            @click="onCheck(row, 3, '提交')"
            >提交</el-button
          >
          <el-button
            icon="Delete"
            v-if="row.status == 'start' && todoList.queryScope == 'main' && userName == row.createBy"
            link
            type="danger"
            @click="onCheck(row, 8)"
            >删除</el-button
          >
        </template>
      </el-table-column>
    </el-table>
    <slot name="pagination"></slot>
    <el-dialog
      v-model="visible"
      :title="'质量整改' + tittle"
      :modal-append-to-body="false"
      :close-on-click-modal="false"
      width="90%"
      height="95%"
    >
      <tableDalgo ref="tableDalgoRef" v-if="visible" @onModalClose="onModalClose" :typeList="typeList"></tableDalgo>
      <template #footer>
        <div class="dialog-footer">
          <el-button v-if="tittle != '详情'" @click="open2" type="primary">{{ tittle }}</el-button>
          <el-button @click="closed">关闭</el-button>
        </div>
      </template>
    </el-dialog>
  </div>
</template>
<script setup>
import { getInfo, projectInfoDelete, projectInfoGet, getInfoMamin } from '@/api/project/qualityRectification';
import tableDalgo from './tableDalgo.vue';
import emgBox from '@/utils/ElMessageBox';
import { qualityRectificationCloum } from '@/utils/cloums';
const { proxy } = getCurrentInstance();
const { project_operation_pattern, unit_property, credit_line, quality_rectification_status } = proxy.useDict(
  'project_operation_pattern',
  'unit_property',
  'credit_line',
  'quality_rectification_status'
);
const queryParams = ref({
  pageNum: 1,
  pageSize: 10,
});
const userName = sessionStorage.getItem('userName');
const visible = ref(false);
const tableDataList = ref([]);
const tableLoading = ref(false);
const typeList = ref({});
const tableDalgoRef = ref();
const tittle = ref('');
const { todoList, getInfoList, tableData } = defineProps(['todoList', 'getInfoList', 'tableData']);
const onCheck = (row, v, t) => {
  tittle.value = t;
  if (v == 8) {
    emgBox(row.id, projectInfoDeleteM, '您确定删除吗?');
  } else {
    projectInfoGet(row.id).then(({ code, data }) => {
      if (code == 200) {
        typeList.value = { ...data, type: v };
        visible.value = true;
      }
    });
  }
};
//删除
const projectInfoDeleteM = async id => {
  let { code } = await projectInfoDelete(id);
  getInfoList(tableData);
};
function onModalClose() {
  getInfoList(tableData);
  visible.value = false;
}
function closed() {
  console.log(tableDalgoRef.value, 99);
  tableDalgoRef.value.closed();
}
function open2() {
  tableDalgoRef.value.submit();
}
onMounted(() => {
  tableDataList.value = todoList;
});
</script>
<style lang="scss" scoped></style>