祖安之光
2 天以前 b7ebccdbc4f29cc7663582213886579091c84dd5
src/views/build/conpanyFunctionConsult/qualityObjectives/table/index.vue
@@ -2,7 +2,7 @@
  <div class="app-container">
    <div style="margin-bottom: 10px">
      <el-form style="display: flex;flex-wrap: wrap;">
        <el-form-item v-if="!data.isAdmin">
        <el-form-item>
          <el-button
              type="primary"
              plain
@@ -11,25 +11,33 @@
          >新增</el-button>
        </el-form-item>
        <el-form-item label="企业名称:" v-if="data.isAdmin" style="margin-left: 20px">
          <el-select
              v-model="data.queryParams.companyName"
              filterable
              remote
              @change="selectValue"
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              :loading="loadingCompany"
              style="width: 240px"
          >
          <el-select v-model="data.queryParams.companyId" placeholder="请选择" filterable clearable>
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.name"
            />
                :value="item.id">
            </el-option>
          </el-select>
<!--          <el-select-->
<!--              v-model="data.queryParams.companyName"-->
<!--              filterable-->
<!--              remote-->
<!--              @change="selectValue"-->
<!--              reserve-keyword-->
<!--              placeholder="请输入企业名称"-->
<!--              remote-show-suffix-->
<!--              :remote-method="getCompanyList"-->
<!--              :loading="loadingCompany"-->
<!--              style="width: 240px"-->
<!--          >-->
<!--            <el-option-->
<!--                v-for="item in data.companyList"-->
<!--                :key="item.id"-->
<!--                :label="item.name"-->
<!--                :value="item.name"-->
<!--            />-->
<!--          </el-select>-->
        </el-form-item>
        <el-form-item label="年份:" style="margin-left: 20px">
          <el-select
@@ -209,8 +217,16 @@
  const userInfo = JSON.parse(Cookies.get('userInfo'))
  console.log("userInfo",userInfo)
  data.isAdmin = userInfo.userType === 0;
  data.queryParams.companyId = userInfo.companyId
  if(data.isAdmin){
    data.queryParams.companyId = null
  }else {
    data.queryParams.companyId = userInfo.companyId
  }
  getList();
  if(data.isAdmin){
    getCompanyList()
  }
});
const getList = async () => {
  loading.value = true;
@@ -233,10 +249,10 @@
  data.dialogVisible = true
}
const openDialog = (type, value) => {
  noticeRef.value.openDialog(type, value);
  noticeRef.value.openDialog(type, value,data.companyList);
}
const openDeptDialog = (type, value) => {
  deptRef.value.openDialog(type, value);
  deptRef.value.openDialog(type, value,data.companyList);
}
const selectValue = (val) => {
@@ -247,22 +263,20 @@
  })
}
const getCompanyList = async (val)=>{
  if(val != ""){
    loadingCompany.value = true;
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      loadingCompany.value = false;
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
const getCompanyList = async ()=>{
  const queryParams = {
    pageNum: 1,
    pageSize: 999
  }
  const res = await getCompany(queryParams)
  if (res.code == 200) {
    data.companyList = res.data.list?res.data.list:[]
    // data.queryParams.companyId = data.companyList[0].id
  } else {
    ElMessage.warning(res.message)
  }
}
const handleSizeChange = (val) => {
  data.queryParams.pageSize = val
@@ -288,6 +302,7 @@
    }
    choosedData.value = []
    data.companyList = [];
    getCompanyList()
  }else {
    data.queryParams = {
      companyId: data.queryParams.companyId,
@@ -298,6 +313,7 @@
    }
  }
  getList();
}
const exportData = () => {
  if(choosedData.value && choosedData.value.length === 0){
@@ -324,8 +340,12 @@
    const year = now.getFullYear()
    const month = (now.getMonth() +1).toString().padStart(2, '0');
    item.nowDate = year + '-' + month
    item.year = year
    item.tableData = item.qualityTargets
    item.tableData = item.qualityTargets.map((i,index) => {
      return {
        ...i,
        nuum: index+1
      }
    })
    try {
      generateWordDocument(templatePath.value, item, name+'_质量目标分解表.docx');
    } catch (error){
@@ -366,7 +386,7 @@
  if (!/^\d+$/.test(value)) { // 验证是否为数字
    ElMessage.warning('只能输入数字')
    data.queryParams.year = '' // 重置选择,避免非法值被添加到options中
  } else if (!data.yearList.some(option => option.value === value)) { // 确保不是已存在的选项
  } else if (!data.yearList.some(option => option.label === value)) { // 确保不是已存在的选项
    data.yearList.push({ value, label: value }); // 添加新选项(这里简单地将值和标签设为相同)
  }
}