fei
2025-09-16 882c04207fdc667b0be8dc347e320d0414eedb94
新增了代码
13个文件已修改
395 ■■■■■ 已修改文件
src/api/system/category.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/materials.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/placeName.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/projectName.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Navbar.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/archiveCategory/index.vue 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/archiveManager/archiveMaterial/index.vue 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/archivePlaceName/index.vue 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/archiveProjectName/index.vue 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/archiveStatics/index.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/archiveToUserStatistic/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/role/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/index.vue 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/category.js
@@ -50,3 +50,15 @@
    method: 'delete'
  })
}
//导入
export function enload(data) {
  return request({
    url: '/system/category/importData',
    method: 'post',
      headers: {
      'Content-Type': 'multipart/form-data'
    },
    data: data
  })
}
src/api/system/materials.js
@@ -42,3 +42,17 @@
    method: 'delete'
  })
}
//导入
export function enload(data) {
  return request({
    url: '/system/materials/importData',
    method: 'post',
      headers: {
      'Content-Type': 'multipart/form-data'
    },
    data: data
  })
}
src/api/system/placeName.js
@@ -42,3 +42,15 @@
    method: 'delete'
  })
}
//导入
export function enload(data) {
  return request({
    url: '/system/placeName/importData',
    method: 'post',
      headers: {
      'Content-Type': 'multipart/form-data'
    },
    data: data
  })
}
src/api/system/projectName.js
@@ -42,3 +42,15 @@
    method: 'delete'
  })
}
//导入
export function enload(data) {
  return request({
    url: '/system/projectName/importData',
    method: 'post',
      headers: {
      'Content-Type': 'multipart/form-data'
    },
    data: data
  })
}
src/layout/components/Navbar.vue
@@ -9,13 +9,13 @@
      <template v-if="device!=='mobile'">
        <search id="header-search" class="right-menu-item" />
        <el-tooltip content="源码地址" effect="dark" placement="bottom">
        <!-- <el-tooltip content="源码地址" effect="dark" placement="bottom">
          <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
        </el-tooltip>
        <el-tooltip content="文档地址" effect="dark" placement="bottom">
          <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
        </el-tooltip>
        </el-tooltip> -->
        <screenfull id="screenfull" class="right-menu-item hover-effect" />
src/views/archiveCategory/index.vue
@@ -66,6 +66,35 @@
          v-hasPermi="['system:category:export']"
        >导出</el-button>
      </el-col>
    <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExportTemplate"
          v-hasPermi="['system:category:export']"
        >导入模板下载</el-button>
      </el-col>
        <el-col :span="1.5">
        <el-upload
          action=""
          class="upload-demo"
          :show-file-list="false"
          :http-request="handleImport"
              accept=".xlsx,.xls"
        >
          <el-button size="mini"   type="primary"
                     plain
                     icon="el-icon-top">导入</el-button>
        </el-upload>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
@@ -121,7 +150,7 @@
</template>
<script>
import { listCategory, getCategory, delCategory, addCategory, updateCategory } from "@/api/system/category"
import { listCategory, getCategory, delCategory, addCategory, updateCategory, enload } from "@/api/system/category"
export default {
  name: "Category",
@@ -253,6 +282,46 @@
      this.download('system/category/export', {
        ...this.queryParams
      }, `category_${new Date().getTime()}.xlsx`)
    },
            /** 导入模板下载操作*/
    handleExportTemplate()
    {
     this.download('/system/category/model', {
      }, `category_${new Date().getTime()}.xlsx`)
    },
     /** 导入操作*/
    async handleImport({file}){
   // 检查文件类型是否为xlsx
  // if (!params.file.name.endsWith('.xlsx')) {
  //   this.$message.error('请上传.xlsx格式的文件');
  //   return;
  // }
  const formData = new FormData();
  formData.append('file', file);
  console.log(file)
  // 显示加载中状态
  const loading = this.$loading({
    lock: true,
    text: '上传中...',
    spinner: 'el-icon-loading',
    background: 'rgba(0, 0, 0, 0.7)'
  });
  enload(formData, {
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  }).then(response => {
    loading.close();
    this.$message.success('导入成功');
    this.getList();
  }).catch(error => {
    loading.close();
    this.$message.error('导入失败: ' + (error.message || '未知错误'));
  });
    }
  }
}
src/views/archiveManager/archiveMaterial/index.vue
@@ -178,7 +178,7 @@
      <el-row :gutter="10" class="mb8">
      <el-row :gutter="12" class="mb8">
        <el-col :span="1.5">
          <el-button
            type="primary"
@@ -220,6 +220,7 @@
            @click="handleExport"
            v-hasPermi="['system:materials:export']"
          >导出</el-button>
        </el-col>
          <el-col :span="1.5">
          <el-button
            type="success"
@@ -229,6 +230,8 @@
            @click="handleImport"
            v-hasPermi="['system:materials:edit']"
          >全部附件导入</el-button>
            <!-- 在按钮下方添加导入对话框 -->
  <el-dialog title="批量导入附件" :visible.sync="importDialogVisible" width="50%">
    <el-upload
@@ -248,11 +251,37 @@
    >
      <el-button slot="trigger" size="small" type="primary">选择文件</el-button>
      <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
      <div slot="tip" class="el-upload__tip">可上传PDF/DOC/XLS/JPG等格式文件,单个文件不超过50MB</div>
      <div slot="tip" class="el-upload__tip">可上传JPG等格式文件,单个文件不超过50MB</div>
    </el-upload>
  </el-dialog>
        </el-col>
        <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExportTemplate"
          v-hasPermi="['system:materials:edit']"
        >导入模板下载</el-button>
      </el-col>
        
        <el-col :span="1.5">
        <el-upload
          action=""
          class="upload-demo"
          :show-file-list="false"
          :http-request="handleImportData"
              accept=".xlsx,.xls"
        >
          <el-button size="mini"   type="primary"
                     plain
                     icon="el-icon-top">导入</el-button>
        </el-upload>
        </el-col>
        <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
      </el-row>
@@ -657,7 +686,7 @@
  </template>
  <script>
  import { listMaterials, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/system/materials"
  import { listMaterials, enload, getMaterials, delMaterials, addMaterials, updateMaterials } from "@/api/system/materials"
import { getToken } from '@/utils/auth'
  export default {
@@ -1032,6 +1061,49 @@
        this.download('system/materials/export', {
          ...this.queryParams
        }, `materials_${new Date().getTime()}.xlsx`)
      },
       /** 导入模板下载操作*/
    handleExportTemplate()
    {
      this.download('/system/materials/model', {
      }, `materials_${new Date().getTime()}.xlsx`)
    },
       /** 导入操作*/
    async handleImportData({file}){
   // 检查文件类型是否为xlsx
  // if (!params.file.name.endsWith('.xlsx')) {
  //   this.$message.error('请上传.xlsx格式的文件');
  //   return;
  // }
  const formData = new FormData();
  formData.append('file', file);
  formData.append('recordId', this.recordId)
  alert(this.recordId)
  console.log(file)
  // 显示加载中状态
  const loading = this.$loading({
    lock: true,
    text: '上传中...',
    spinner: 'el-icon-loading',
    background: 'rgba(0, 0, 0, 0.7)'
  });
  enload(formData, {
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  }).then(response => {
    loading.close();
    this.$message.success('导入成功');
    this.getList();
  }).catch(error => {
    loading.close();
    this.$message.error('导入失败: ' + (error.message || '未知错误'));
  });
      }
    }
  }
src/views/archivePlaceName/index.vue
@@ -58,6 +58,35 @@
          v-hasPermi="['system:name:export']"
        >导出</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExportTemplate"
          v-hasPermi="['system:name:export']"
        >导入模板下载</el-button>
      </el-col>
             <el-col :span="1.5">
        <el-upload
          action=""
          class="upload-demo"
          :show-file-list="false"
          :http-request="handleImport"
              accept=".xlsx,.xls"
        >
          <el-button size="mini"   type="primary"
                     plain
                     icon="el-icon-top">导入</el-button>
        </el-upload>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
@@ -113,7 +142,7 @@
</template>
<script>
import { listPlaceName, getName, delName, addName, updateName } from "@/api/system/placeName"
import { listPlaceName, enload,getName, delName, addName, updateName } from "@/api/system/placeName"
export default {
  name: "Name",
@@ -246,7 +275,49 @@
      this.download('/system/placeName/export', {
        ...this.queryParams
      }, `name_${new Date().getTime()}.xlsx`)
    },
             /** 导入模板下载操作*/
    handleExportTemplate()
    {
     this.download('/system/placeName/model', {
      }, `placeName_${new Date().getTime()}.xlsx`)
    },
      /** 导入操作*/
    async handleImport({file}){
   // 检查文件类型是否为xlsx
  // if (!params.file.name.endsWith('.xlsx')) {
  //   this.$message.error('请上传.xlsx格式的文件');
  //   return;
  // }
  const formData = new FormData();
  formData.append('file', file);
  console.log(file)
  // 显示加载中状态
  const loading = this.$loading({
    lock: true,
    text: '上传中...',
    spinner: 'el-icon-loading',
    background: 'rgba(0, 0, 0, 0.7)'
  });
  enload(formData, {
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  }).then(response => {
    loading.close();
    this.$message.success('导入成功');
    this.getList();
  }).catch(error => {
    loading.close();
    this.$message.error('导入失败: ' + (error.message || '未知错误'));
  });
    }
  }
}
</script>
src/views/archiveProjectName/index.vue
@@ -50,6 +50,35 @@
          v-hasPermi="['system:projectName:export']"
        >导出</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExportTemplate"
          v-hasPermi="['system:category:export']"
        >导入模板下载</el-button>
      </el-col>
        <el-col :span="1.5">
        <el-upload
          action=""
          class="upload-demo"
          :show-file-list="false"
          :http-request="handleImport"
              accept=".xlsx,.xls"
        >
          <el-button size="mini"   type="primary"
                     plain
                     icon="el-icon-top">导入</el-button>
        </el-upload>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
@@ -57,6 +86,9 @@
      <el-table-column type="selection" width="55" align="center" />
      <!-- <el-table-column label="${comment}" align="center" prop="id" /> -->
      <el-table-column label="项目名称" align="center" prop="name" />
            <el-table-column label="公司名称" align="center" prop="companyName" />
      <el-table-column label="项目负责人" align="center" prop="createPerson" />
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
        <template slot-scope="scope">
          <el-button
@@ -101,7 +133,7 @@
</template>
<script>
import { listName, getName, delName, addName, updateName } from "@/api/system/projectName"
import { listName, getName, enload,delName, addName, updateName } from "@/api/system/projectName"
export default {
  name: "Name",
@@ -147,6 +179,7 @@
      this.loading = true
      listName(this.queryParams).then(response => {
        this.nameList = response.data.data
        console.log(response.data.data)
        this.total = response.data.total
        this.loading = false
      })
@@ -233,6 +266,47 @@
      this.download('system/projectName/export', {
        ...this.queryParams
      }, `name_${new Date().getTime()}.xlsx`)
    },
    /** 导入模板下载操作*/
    handleExportTemplate()
    {
      this.download('/system/projectName/model', {
      }, `projectName_${new Date().getTime()}.xlsx`)
    },
      /** 导入操作*/
    async handleImport({file}){
   // 检查文件类型是否为xlsx
  // if (!params.file.name.endsWith('.xlsx')) {
  //   this.$message.error('请上传.xlsx格式的文件');
  //   return;
  // }
  const formData = new FormData();
  formData.append('file', file);
  console.log(file)
  // 显示加载中状态
  const loading = this.$loading({
    lock: true,
    text: '上传中...',
    spinner: 'el-icon-loading',
    background: 'rgba(0, 0, 0, 0.7)'
  });
  enload(formData, {
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  }).then(response => {
    loading.close();
    this.$message.success('导入成功');
    this.getList();
  }).catch(error => {
    loading.close();
    this.$message.error('导入失败: ' + (error.message || '未知错误'));
  });
    }
  }
}
src/views/archiveStatics/index.vue
@@ -3,7 +3,7 @@
   
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
      <!-- <el-col :span="1.5">
        <el-button
          type="primary"
          plain
@@ -34,7 +34,7 @@
          @click="handleDelete"
          v-hasPermi="['system:records:remove']"
        >删除</el-button>
      </el-col>
      </el-col> -->
      <el-col :span="1.5">
        <el-button
          type="warning"
@@ -538,8 +538,9 @@
    },
    /** 导出按钮操作 */
    handleExport() {
      this.download('system/records/export', {
        ...this.queryParams
     // alert(98)
      this.download('system/records/exportAllStatis', {
       // ...this.queryParams
      }, `records_${new Date().getTime()}.xlsx`)
    }
  }
src/views/archiveToUserStatistic/index.vue
@@ -206,7 +206,6 @@
      this.loading = true
      console.log(this.queryParams)
      console.log("--------------")
      alert(123)
      listArchiverecordstouserStatistic(this.queryParams).then(response => {
        console.log(response)
@@ -350,8 +349,8 @@
    },
    /** 导出按钮操作 */
    handleExport() {
      this.download('system/records/export', {
        ...this.queryParams
      this.download('system/archiverecordstouser/exportArToUser', {
        // ...this.queryParams
      }, `records_${new Date().getTime()}.xlsx`)
    }
  }
src/views/system/role/index.vue
@@ -358,7 +358,12 @@
    /** 查询菜单树结构 */
    getMenuTreeselect() {
      menuTreeselect().then(response => {
        this.menuOptions = response.data
            const hiddenMenuIds = [1, 2, 3];
        this.menuOptions = response.data.filter(menu => !hiddenMenuIds.includes(menu.id)
        );
        console.log(this.menuOptions)
      })
    },
    // 所有菜单节点数据
src/views/system/user/index.vue
@@ -103,11 +103,19 @@
              <el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="角色">
              <el-select v-model="form.roleIds" multiple placeholder="请选择角色">
                <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <!-- <el-col :span="12">
            <el-form-item label="归属部门" prop="deptId">
              <treeselect v-model="form.deptId" :options="enabledDeptOptions" :show-count="true" placeholder="请选择归属部门" />
            </el-form-item>
          </el-col>
          </el-col> -->
        </el-row>
        <el-row>
          <el-col :span="12">
@@ -150,20 +158,14 @@
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
          <!-- <el-col :span="12">
            <el-form-item label="岗位">
              <el-select v-model="form.postIds" multiple placeholder="请选择岗位">
                <el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" :value="item.postId" :disabled="item.status == 1" ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="角色">
              <el-select v-model="form.roleIds" multiple placeholder="请选择角色">
                <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          </el-col> -->
        </el-row>
        <el-row>
          <el-col :span="24">