沈丘营商办后台前端项目
wangyuhang
5 天以前 8d27f95cf6e3b3289e90828ecef72e0c74f804b0
src/views/system/manage/index.vue
@@ -29,8 +29,8 @@
        <el-button type="primary" plain icon="Plus" @click="handleAdd()" v-hasPermi="['system:dept:add']">新增</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" plain icon="Upload" @click="exportExcel"
          v-hasPermi="['system:dept:add']">导入</el-button>
        <el-button type="info" plain icon="Upload" @click="handleImport"
          v-hasPermi="['system:user:import']">导入</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" plain icon="Download" @click="downLoadCode">导出</el-button>
@@ -138,25 +138,51 @@
        </div>
      </template>
    </el-dialog>
    <exportExcelCom ref="exporttem" @resList="resList"></exportExcelCom>
    <exportRecord ref="exportRecordCom" :recordRow="recordRow" @uploadList="getList"></exportRecord>
    <judgeCom ref="judgeComRef" @upload="getList"></judgeCom>
    <createQrcode ref="createQrcodeRef"></createQrcode>
    <!-- 计划导入对话框 -->
    <el-dialog :title="upload.title" v-model="upload.open" width="400px" append-to-body>
      <el-upload ref="uploadRef" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
        :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
        :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
        <el-icon class="el-icon--upload"><upload-filled /></el-icon>
        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
        <template #tip>
          <div class="el-upload__tip text-center">
            <div class="el-upload__tip"><el-checkbox v-model="upload.updateSupport" />是否更新已经存在的计划数据</div>
            <span>仅允许导入xls、xlsx格式文件。</span>
            <el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
              @click="importTemplate">下载模板</el-link>
          </div>
        </template>
      </el-upload>
      <template #footer>
        <div class="dialog-footer">
          <el-button type="primary" @click="submitFileForm">确 定</el-button>
          <el-button @click="upload.open = false">取 消</el-button>
        </div>
      </template>
    </el-dialog>
  </div>
</template>
<script setup name="Dept">
// import FileUpload from '@/components/ImageUpload/index'
// import exportRecord from './components/exportRecord'
// import createQrcode from './components/createQrcode'
// import judgeCom from './components/judge'
import { listCompany, addCompany, updStatus, delCompany, updateCompany, getCompany } from "@/api/system/company/company";
// import exportExcelCom from './components/export'
import { listManage } from "@/api/system/manage";
import { getToken } from "@/utils/auth";
import {
  listCompany,
  addCompany,
  updStatus,
  delCompany,
  updateCompany,
  getCompany
} from "@/api/system/company/company";
import { listManage ,exportTemplate} from "@/api/system/manage";
import { computed } from "vue";
import { judgeStatus, companyStatus, scopeList } from '@/utils/mapList/index.ts'
import useSettingsStore from "@/store/modules/settings";
import { download } from '@/utils/request'; // 下载文件
import {download as downloadHttp, download} from '@/utils/request'; // 下载文件
const thcolor = computed(() => useSettingsStore().theme);
const { proxy } = getCurrentInstance();
const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
@@ -207,6 +233,35 @@
  },
});
/*** 计划导入参数 */
const upload = reactive({
  // 是否显示弹出层(用户导入)
  open: false,
  // 弹出层标题(用户导入)
  title: "",
  // 是否禁用上传
  isUploading: false,
  // 是否更新已经存在的用户数据
  updateSupport: 0,
  // 设置上传的请求头部
  headers: { Authorization: "Bearer " + getToken() },
  // 上传的地址
  url: import.meta.env.VITE_APP_BASE_API + "/system/manage/importData",
});
/**文件上传中处理 */
const handleFileUploadProgress = (event, file, fileList) => {
  upload.isUploading = true;
};
/** 文件上传成功处理 */
const handleFileSuccess = (response, file, fileList) => {
  upload.open = false;
  upload.isUploading = false;
  proxy.$refs["uploadRef"].handleRemove(file);
  proxy.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", {
    dangerouslyUseHTMLString: true,
  });
  getList();
};
const { queryParams, form, rules } = toRefs(data);
const recordRow = ref([])
/** 查询企业列表 */
@@ -304,6 +359,30 @@
    })
    .catch(() => { });
}
/** 导入按钮操作 */
function handleImport() {
  upload.title = "计划导入";
  upload.open = true;
}
/** 提交上传文件 */
function submitFileForm() {
  proxy.$refs["uploadRef"].submit();
}
/** 下载模板操作 */
function importTemplate() {
  exportTemplate().then(val => {
    downloadHttp('/tool/file/download', {
      fileName: val.msg,
      delete: true
    }, "计划信息模板.xlsx")
  })
}
// 修改企业信息
function changeCompanyNews(row, event) {
  if (loading.value) {
@@ -314,21 +393,7 @@
    getList();
  })
}
// 导入模板
function exportExcel() {
  exporttem.value.openDialog()
}
// 导入记录
function exportRecordComOpen() {
  exportRecordCom.value.openDialog()
}
function resList(row) {
  recordRow.value = row
  exportRecordCom.value.openDialog()
}
function checkJudge(row) {
  judgeComRef.value.openDialog(row)
}
function createQrcodeHandler(row) {
  createQrcodeRef.value.openDialog(row)
}