沈丘营商办后台前端项目
王恒
4 天以前 a70d04ddb0117cef12752422fa33c864144bf8db
'对接导入导出接口'
1个文件已删除
2个文件已修改
222 ■■■■ 已修改文件
src/api/system/manage.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/manage.ts 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/manage/index.vue 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/manage.js
File was deleted
src/api/system/manage.ts
@@ -1,7 +1,7 @@
import request from "@/utils/request";
// 查询计划管理列表
export function listManage(query) {
export function listManage(query: any) {
  return request({
    url: "/system/manage/list",
    method: "get",
@@ -10,7 +10,7 @@
}
// 查询计划管理详细
export function getManage(id) {
export function getManage(id: any) {
  return request({
    url: "/system/manage/" + id,
    method: "get",
@@ -18,25 +18,25 @@
}
// 新增计划管理
export function addManage(data) {
export function addManage(data: any) {
  return request({
    url: "/system/manage",
    url: "/system/manage/add",
    method: "post",
    data: data,
  });
}
// 修改计划管理
export function updateManage(data) {
export function updateManage(data: any) {
  return request({
    url: "/system/manage",
    method: "put",
    url: "/system/manage/upd",
    method: "post",
    data: data,
  });
}
// 删除计划管理
export function delManage(id) {
export function delManage(id: any) {
  return request({
    url: "/system/manage/" + id,
    method: "delete",
src/views/system/manage/index.vue
@@ -44,6 +44,9 @@
      :default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
      @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column prop="planNo" label="序号" width="55">
        <template #default="scope">{{ scope.$index + 1 }}</template>
      </el-table-column>
      <el-table-column prop="planNo" label="计划编号" width="180"></el-table-column>
      <el-table-column prop="planName" label="计划名称" width="180"></el-table-column>
      <el-table-column prop="makeOrgName" label="制定机构" width="180"></el-table-column>
@@ -58,7 +61,7 @@
      <el-table-column prop="planStatus" label="状态" width="180"></el-table-column>
      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="240">
        <template #default="scope">
          <el-link type="info" @click="createQrcodeHandler(scope.row)">查看</el-link>
          <el-link type="info" @click="handleView(scope.row)">查看</el-link>
          <el-divider direction="vertical" />
          <el-link type="primary" @click="handleAdd(scope.row)">编辑</el-link>
          <el-divider direction="vertical" />
@@ -74,32 +77,44 @@
      <el-form ref="deptRef" :model="form" :rules="rules" label-width="140px">
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="计划编号" prop="planNo">
              <el-input v-model="form.planNo" placeholder="请输入计划名称" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="计划名称" prop="planName">
              <el-input v-model="form.planName" placeholder="请输入计划名称" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="制定计划的机构" prop="makeOrgName">
              <el-input v-model="form.makeOrgName" placeholder="请输入制定计划的机构" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="被检查的对象" prop="checkdObject">
              <el-input v-model="form.checkdObject" placeholder="请输入被检查的对象" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode">
              <el-input v-model="form.unifiedSocialCreditCode" placeholder="请输入统一社会信用代码" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="所属行业" prop="industry">
              <el-input v-model="form.industry" placeholder="请输入所属行业" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="行业" prop="industry">
              <el-input v-model="form.industry" placeholder="请输入行业" />
            <el-form-item label="检查方式" prop="executiveSection">
              <el-input v-model="form.checkdType" placeholder="请输入检查方式" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -117,19 +132,24 @@
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="计划月份" prop="planMonth">
              <el-date-picker v-model="form.planMonth" type="month" format="YYYY-MM" value-format="YYYY-MM"
                placeholder="请选择计划月份" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="计划频率" prop="planFrequency">
              <el-input v-model="form.planFrequency" placeholder="请输入计划频率" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="计划月份" prop="planMonth">
              <el-input v-model="form.planMonth" placeholder="请输入计划月份" />
            <el-form-item label="状态" prop="planStatus">
              <el-input v-model="form.planStatus" placeholder="请输入状态" />
            </el-form-item>
          </el-col>
        </el-row>
        <!-- <el-form-item label="状态">
          <el-switch v-model="form.companyStatus" :active-value="0" :inactive-value="1"></el-switch>
        </el-form-item> -->
      </el-form>
      <template #footer>
        <div class="dialog-footer">
@@ -138,9 +158,6 @@
        </div>
      </template>
    </el-dialog>
    <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>
@@ -165,18 +182,61 @@
        </div>
      </template>
    </el-dialog>
    <!-- 计划详细 -->
    <el-dialog title="计划详情" v-model="planOpen" width="700px" append-to-body>
      <el-form label-width="140px">
        <el-row>
          <el-col :span="12">
            <el-form-item label="计划编号:">{{ planDetail.planNo }}</el-form-item>
            <el-form-item label="计划名称:">{{ planDetail.planName }}</el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="制定计划的机构:">{{ planDetail.makeOrgName }}</el-form-item>
            <el-form-item label="被检查的对象:">{{ planDetail.checkdObject }}</el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="统一社会信用代码:">{{ planDetail.unifiedSocialCreditCode }}</el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="所属行业:">{{ planDetail.industry }}</el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="检查方式:">{{ planDetail.checkdType }}</el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="执行科室:">{{ planDetail.executiveSection }}</el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="检查内容:">{{ planDetail.checkdContent }}</el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="计划月份:">{{ planDetail.planMonth }}</el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="计划频率:">{{ planDetail.planFrequency }}</el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="状态:">{{ planDetail.planStatus }}</el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <template #footer>
        <div class="dialog-footer">
          <el-button @click="planOpen = false; planDetail = {}">关 闭</el-button>
        </div>
      </template>
    </el-dialog>
  </div>
</template>
<script setup name="Dept">
import { getToken } from "@/utils/auth";
import { listCompany, addCompany, updStatus, delCompany, updateCompany, getCompany } from "@/api/system/company/company";
import { listManage } from "@/api/system/manage";
import { listManage, addManage, getManage, updateManage, delManage } 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'; // 下载文件
const thcolor = computed(() => useSettingsStore().theme);
const { proxy } = getCurrentInstance();
const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
const deptList = ref([]);
@@ -184,25 +244,10 @@
const loading = ref(true);
const showSearch = ref(true);
const title = ref("");
const deptOptions = ref([]);
const isExpandAll = ref(false);
const refreshTable = ref(true);
const exporttem = ref()
const exportRecordCom = ref()
const judgeComRef = ref()
const createQrcodeRef = ref()
const options = reactive({
  companyStatus: [
    {
      label: '正常',
      value: 0
    },
    {
      label: '禁用',
      value: 1
    },
  ],
})
const planOpen = ref(false);
const planDetail = ref({});
const data = reactive({
  form: {},
  queryParams: {
@@ -214,6 +259,7 @@
    total: 1
  },
  rules: {
    planNo: [{ required: true, message: "计划编号不能为空", trigger: "blur" }],
    planName: [{ required: true, message: "计划名称不能为空", trigger: "blur" }],
    makeOrgName: [{ required: true, message: "制定计划的机构不能为空", trigger: "blur" }],
    checkdObject: [{ required: true, message: "被检查对象不能为空", trigger: "blur" }],
@@ -223,6 +269,8 @@
    executiveSection: [{ required: true, message: "执行科室不能为空", trigger: "blur" }],
    planFrequency: [{ required: true, message: "计划频次不能为空", trigger: "blur" }],
    planMonth: [{ required: true, message: "计划月份不能为空", trigger: "blur" }],
    checkdType: [{ required: true, message: "检查方式不能为空", trigger: "blur" }],
    planStatus: [{ required: true, message: "状态不能为空", trigger: "blur" }],
  },
});
@@ -243,8 +291,7 @@
});
const { queryParams, form, rules } = toRefs(data);
const recordRow = ref([])
/** 查询企业列表 */
/** 查询计划列表 */
function getList() {
  loading.value = true;
  listManage(queryParams.value).then((response) => {
@@ -262,6 +309,7 @@
/** 表单重置 */
function reset() {
  form.value = {
    planNo: '', // 计划编号
    planName: '', // 计划名称
    makeOrgName: '', // 制定机构
    checkdObject: '', // 被检查对象
@@ -271,6 +319,8 @@
    executiveSection: '', // 执行科室
    planFrequency: '', // 计划频次
    planMonth: '', // 计划月份
    checkdType: '', // 检查方式
    planStatus: '', // 状态
  };
  proxy.resetForm("deptRef");
}
@@ -285,22 +335,28 @@
  handleQuery();
}
function getDetails(id) {
  getCompany(id).then((response) => {
  getManage(id).then((response) => {
    form.value = response.data;
    open.value = true;
    // title.value = "查看企业";
  });
}
/** 详细按钮操作 */
function handleView(row) {
  planOpen.value = true;
  planDetail.value = row
  planOpen.value = true;
}
/** 新增按钮操作 */
function handleAdd(row) {
  if (row) {
    // form.value = row
    title.value = "编辑计划";
    getDetails(row.companyId)
    getDetails(row.id)
  } else {
    form.value = {
      companyStatus: 0
    }
    // form.value = {
    //   companyStatus: 0
    // }
    title.value = "添加计划";
    open.value = true;
  }
@@ -310,14 +366,14 @@
function submitForm() {
  proxy.$refs["deptRef"].validate((valid) => {
    if (valid) {
      if (form.value.companyId != undefined) {
        updateCompany(form.value).then((response) => {
      if (form.value.id != undefined) {
        updateManage(form.value).then((response) => {
          proxy.$modal.msgSuccess("修改成功");
          open.value = false;
          getList();
        });
      } else {
        addCompany(form.value).then((response) => {
        addManage(form.value).then((response) => {
          proxy.$modal.msgSuccess("新增成功");
          open.value = false;
          getList();
@@ -331,7 +387,7 @@
  proxy.$modal
    .confirm('是否确认删除该数据?')
    .then(function () {
      return delCompany({ delId: row.companyId });
      return delManage(row.id);
    })
    .then(() => {
      getList();
@@ -353,7 +409,7 @@
/** 下载模板操作 */
function importTemplate() {
  proxy.download("system/user/importTemplate", {}, `user_template_${new Date().getTime()}.xlsx`);
  proxy.download("system/manage/exportTemplate", {}, `plan_template_${new Date().getTime()}.xlsx`);
}
// 修改企业信息
@@ -367,18 +423,14 @@
  })
}
function createQrcodeHandler(row) {
  createQrcodeRef.value.openDialog(row)
}
let valueArr = []
function downLoadCode() {
  download('/system/company/downloadQrcode', {
    companyIds: valueArr.join()
  }, "企业图片.zip")
  download('/system/manage/export', {
    ids: valueArr.join()
  }, `plan_${new Date().getTime()}.xlsx`)
}
function handleSelectionChange(e) {
  console.log(e)
  valueArr = e.map(item => item.companyId)
  valueArr = e.map(item => item.id)
}
getList();
function selectableFun(e) {