多体系建设信息化条统-前端
祖安之光
3 hours ago 4e94f50e54271f1be793a9f417cf7e7cc4a13df5
src/views/build/conpanyFunctionConsult/need/evaluate/index.vue
@@ -8,9 +8,10 @@
              plain
              icon="Plus"
              @click="openDialog('add',{})"
              v-hasPermi="['needEvaluate:list:add']"
          >新增</el-button>
        </el-form-item>
        <el-form-item label="企业名称:" v-if="data.isAdmin" style="margin-left: 20px">
        <el-form-item label="单位名称:" v-if="data.isAdmin" style="margin-left: 20px">
          <el-select v-model="data.queryParams.companyId" placeholder="请选择" filterable clearable>
            <el-option
                v-for="item in data.companyList"
@@ -21,23 +22,13 @@
          </el-select>
        </el-form-item>
        <el-form-item label="年份:" style="margin-left: 20px">
          <el-select
          <el-date-picker
              v-model="data.queryParams.year"
              type="year"
              value-format="YYYY"
              placeholder="请选择年份"
              style="width: 240px"
              filterable
              allow-create
              default-first-option
              :reserve-keyword="false"
              @change="handleChangeNum"
          >
            <el-option
                v-for="item in data.yearList"
                :key="item.value"
                :label="item.label"
                :value="item.label"
            />
          </el-select>
          />
        </el-form-item>
        <el-form-item>
          <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
@@ -55,14 +46,18 @@
    <el-table v-loading="loading" :data="dataList" :border="true"  @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" />
      <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
      <el-table-column label="名称" prop="companyName" align="center"  />
      <el-table-column label="部门" prop="departName" align="center"  />
      <el-table-column label="名称"  align="center">
        <template #default="scope">
          <span>{{scope.row.year}}年度{{scope.row.deptName}}相关方期望或要求评价表</span>
        </template>
      </el-table-column>
      <el-table-column label="部门" prop="deptName" align="center"  />
      <el-table-column label="年份" prop="year" align="center"  />
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160">
        <template #default="scope">
          <el-button link type="primary"  @click="openDialog('review',scope.row)" >查看</el-button>
          <el-button link type="primary"  @click="openDialog('edit',scope.row)" >编辑</el-button>
          <el-button link type="danger"  @click="handleDelete(scope.row)" >删除</el-button>
          <el-button link type="primary"  @click="openDialog('edit',scope.row)" v-hasPermi="['needEvaluate:list:edit']">编辑</el-button>
          <el-button link type="danger"  @click="handleDelete(scope.row)" v-hasPermi="['needEvaluate:list:del']">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
@@ -90,6 +85,7 @@
import Cookies from "js-cookie";
import {generateWordDocument} from "@/utils/exportWord";
import {delTable, getTable} from "@/api/qualityObjectives/table";
import {delNeedEvaluate, getNeedEvaluate} from "@/api/need/need";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const noticeRef = ref();
@@ -144,25 +140,25 @@
  }else {
    data.queryParams.companyId = userInfo.companyId
  }
  getNowYear()
  getList();
  if(data.isAdmin){
    getCompanyList()
  }
});
const getNowYear = () =>{
  data.queryParams.year = new Date().getFullYear().toString()
}
const getList = async () => {
  loading.value = true;
  // const res = await getTable(data.queryParams);
  // if(res.code === 200){
  //   dataList.value = res.data.list
  //   total.value = res.data.total
  // }else{
  //   ElMessage.warning(res.message)
  // }
  dataList.value = [
    {}
  ]
  const res = await getNeedEvaluate(data.queryParams);
  if(res.code === 200){
    dataList.value = res.data.list
    total.value = res.data.total
  }else{
    ElMessage.warning(res.message)
  }
  loading.value = false;
}
const searchClick = () => {
@@ -228,6 +224,7 @@
      type: ''
    }
  }
  getNowYear()
  getList();
}
@@ -243,13 +240,22 @@
  const data = JSON.parse(JSON.stringify(choosedData.value))
  let name = ''
  data.forEach(item => {
    item.tableList =[
      {
        num: 1
    item.evaluateTime = item.evaluateTime.substring(0,10)
    item.tableData = item.expectContents.map((i,index) => {
      return{
        ...i,
        expectContentMesses: i.expectContentMesses.map((q,qindex) => {
          return{
            ...q,
            first: qindex == 0,
            num: index+1,
            stakeholder: i.stakeholder
          }
        })
      }
    ]
    })
    try {
      generateWordDocument(templatePath.value, item, `_相关方期望或要求评价表.docx`);
      generateWordDocument(templatePath.value, item, item.companyName +`_相关方期望或要求评价表.docx`);
    } catch (error){
      ElMessage({
        type: 'warning',
@@ -282,7 +288,7 @@
        type: 'warning',
      })
      .then( async() => {
        const res = await delTable(val.id);
        const res = await delNeedEvaluate(val.id);
        if(res.code === 200){
          ElMessage({
            type: 'success',