沈丘营商办后台前端项目
王恒
2025-08-11 2e4dc3becd0e62fb019b2b2b1007b50a12e684d2
src/views/system/manage/index.vue
@@ -11,7 +11,7 @@
    >
      <el-form-item label="计划名称" prop="companyName">
        <el-input
          v-model="queryParams.planName"
          v-model="queryParams.enforceReason"
          placeholder="请输入计划名称"
          clearable
          style="width: 200px"
@@ -27,9 +27,9 @@
          @keyup.enter="handleQuery"
        />
      </el-form-item>
      <el-form-item label="执法单位" prop="executiveSection">
      <el-form-item label="执法单位" prop="applyDeptIds">
        <el-input
          v-model="queryParams.executiveSection"
          v-model="queryParams.applyDeptIds"
          placeholder="请输入执法单位"
          clearable
          style="width: 200px"
@@ -190,8 +190,8 @@
      <el-form ref="deptRef" :model="form" :rules="rules" label-width="140px">
        <el-row :gutter="20">
          <el-col :span="24">
            <el-form-item label="计划名称" prop="planName">
              <el-input v-model="form.planName" placeholder="请输入计划名称" />
            <el-form-item label="计划名称" prop="enforceReason">
              <el-input v-model="form.enforceReason" placeholder="请输入计划名称" />
            </el-form-item>
          </el-col>
        </el-row>
@@ -210,7 +210,7 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="执行科室" prop="executiveSection">
            <el-form-item label="执行科室" prop="applyDeptIds">
              <el-select
                v-model="selectOffices"
                multiple
@@ -244,7 +244,7 @@
          <el-col :span="24">
            <el-form-item label="被检查对象信息">
              <el-table
                :data="form.checkdObject"
                :data="checkedList"
                max-height="200px"
                style="width: 100%"
              >
@@ -256,9 +256,9 @@
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="检查方式" prop="checkdType">
            <el-form-item label="检查方式" prop="inspectionMethod">
              <el-select
                v-model="form.checkdType"
                v-model="form.inspectionMethod"
                placeholder="请选择检查方式"
                style="width: 100%"
              >
@@ -290,9 +290,9 @@
        </el-row>
        <el-row :gutter="20">
          <el-col :span="24">
            <el-form-item label="检查内容" prop="checkdContent">
            <el-form-item label="检查内容" prop="enforceContent">
              <el-input
                v-model="form.checkdContent"
                v-model="form.enforceContent"
                type="textarea"
                placeholder="请输入检查内容"
              />
@@ -397,12 +397,12 @@
              planDetail.planNo
            }}</el-form-item>
            <el-form-item label="计划名称:">{{
              planDetail.planName
              planDetail.enforceReason
            }}</el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="制定计划的机构:">{{
              planDetail.makeOrgName
              planDetail.applyOrgName
            }}</el-form-item>
            <el-form-item label="被检查的对象:">{{
              planDetail.checkdObject
@@ -420,17 +420,17 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="检查方式:">{{
              planDetail.checkdType
              planDetail.inspectionMethod
            }}</el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="执行科室:">{{
              planDetail.executiveSection
              planDetail.applyDeptNames
            }}</el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="检查内容:">{{
              planDetail.checkdContent
              planDetail.enforceContent
            }}</el-form-item>
          </el-col>
          <el-col :span="12">
@@ -567,18 +567,20 @@
const deptOptions = ref(undefined);
const selectOffices = ref([]);
const officeList = ref([]);
let checkedList = ref([]); // 选中的企业列表
const data = reactive({
  form: {
    planName: "", // 计划名称
    makeOrgId: "", // 制定机构id
    makeOrgName: "", // 制定机构
    executiveSection: "", // 执行科室
    executiveSectionName: "", // 执行科室名称
    checkdObject: [], // 被检查对象列表
    checkdIds: "", // 被检查对象id
    checkdType: "", // 检查方式
    enforceReason: "", // 计划名称
    applyOrgId: "", // 制定机构id
    applyOrgName: "", // 制定机构
    applyDeptIds: "", // 执行科室
    applyDeptNames: "", // 执行科室名称
    companyName: "", // 被检查对象
    companyId: "", // 被检查对象id
    companyCode: "", // 被检查对象
    industry: "", // 所属行业
    checkdContent: "", // 检查内容
    inspectionMethod: "", // 检查方式
    enforceContent: "", // 检查内容
    planFrequency: "", // 计划频次
    planFrequencyUnit: "1", // 计划频次单位
    planMonth: "", // 计划月份
@@ -586,8 +588,8 @@
  queryParams: {
    orderType: 1,
    planNo: "",
    planName: "",
    executiveSection: "",
    enforceReason: "",
    applyDeptNames: "",
    value1: "",
    pageNum: 1,
    pageSize: 10,
@@ -595,10 +597,10 @@
  },
  rules: {
    planNo: [{ required: true, message: "计划编号不能为空", trigger: "blur" }],
    planName: [
    enforceReason: [
      { required: true, message: "计划名称不能为空", trigger: "blur" },
    ],
    makeOrgId: [
    applyOrgId: [
      { required: true, message: "制定计划的机构不能为空", trigger: "blur" },
    ],
    checkdIds: [
@@ -610,10 +612,10 @@
    industry: [
      { required: true, message: "所属行业不能为空", trigger: "blur" },
    ],
    checkdContent: [
    enforceContent: [
      { required: true, message: "检查内容不能为空", trigger: "blur" },
    ],
    executiveSection: [
    applyDeptIds: [
      { required: true, message: "执行科室不能为空", trigger: "blur" },
    ],
    planFrequency: [
@@ -622,7 +624,7 @@
    planMonth: [
      { required: true, message: "计划月份不能为空", trigger: "blur" },
    ],
    checkdType: [
    inspectionMethod: [
      { required: true, message: "检查方式不能为空", trigger: "blur" },
    ],
    planStatus: [{ required: true, message: "状态不能为空", trigger: "blur" }],
@@ -641,7 +643,7 @@
  listDept({
    pageNum: 1,
    pageSize: 1000,
    parentId: form.value.makeOrgId,
    parentId: form.value.applyOrgId,
  }).then((response) => {
    officeList.value = response.data;
  });
@@ -661,11 +663,11 @@
// 机构选择
const changeTreeHandler = (e) => {
  form.value.makeOrgId = e.id;
  form.value.makeOrgName = e.label;
  form.value.applyOrgId = e.id;
  form.value.applyOrgName = e.label;
  selectOffices.value = [];
  form.value.executiveSection = "";
  form.value.executiveSectionName = "";
  form.value.applyDeptIds = "";
  form.value.applyDeptNames = "";
  if (e.id) {
    getOfficeList();
  }
@@ -673,12 +675,14 @@
// 科室选择
const handleSelectOffices = (value) => {
  form.value.executiveSectionName = value.map((item) => {
    return officeList.value.find((obj) => obj.deptId === item).deptName;
  }).join(",");
  form.value.executiveSection = value.join(",");
  console.log(form.value.executiveSection);
  console.log(form.value.executiveSectionName);
  form.value.applyDeptNames = value
    .map((item) => {
      return officeList.value.find((obj) => obj.deptId === item).deptName;
    })
    .join(",");
  form.value.applyDeptIds = value.join(",");
  console.log(form.value.applyDeptIds);
  console.log(form.value.applyDeptNames);
};
/*** 计划导入参数 */
@@ -749,20 +753,21 @@
/** 表单重置 */
function reset() {
  form.value = {
    planName: "", // 计划名称
    enforceReason: "", // 计划名称
    makeOrgId: "", // 制定机构id
    makeOrgName: "", // 制定机构
    executiveSection: "", // 执行科室
    executiveSectionName: "", // 执行科室名称
    checkdObject: [], // 被检查对象列表
    applyOrgName: "", // 制定机构
    applyDeptIds: "", // 执行科室id
    applyDeptNames: "", // 执行科室名称
    checkdIds: "", // 被检查对象id
    checkdType: "", // 检查方式
    companyName: "", // 被检查对象名称
    companyCode: "", // 统一社会信用代码
    inspectionMethod: "", // 检查方式
    industry: "", // 所属行业
    checkdContent: "", // 检查内容
    enforceContent: "", // 检查内容
    planFrequency: "", // 计划频次
    planFrequencyUnit: "", // 计划频次单位
    planMonth: "", // 计划月份
    orderType: 1
    orderType: 1,
  };
  proxy.resetForm("deptRef");
}
@@ -777,11 +782,11 @@
  dateRange.value = [];
  queryParams.value = {
    planNo: "", // 计划编号
    planName: "", // 计划名称
    executiveSection: "", // 执法单位
    enforceReason: "", // 计划名称
    applyDeptIds: "", // 执法单位
    planMonthStart: "", // 计划开始月份
    planMonthEnd: "", // 计划结束月份
    orderType: 1
    orderType: 1,
  };
  handleQuery();
}
@@ -822,10 +827,20 @@
          getList();
        });
      } else {
        addManage(form.value).then((response) => {
          proxy.$modal.msgSuccess("新增成功");
          open.value = false;
          getList();
        checkedList.value.forEach((item, index) => {
          console.log(item);
          const submitForm = { ...form.value };
          submitForm.companyId = item.companyId;
          submitForm.companyName = item.companyName;
          submitForm.companyCode = item.companyCode;
          addManage(submitForm).then((response) => {
            if (index === checkedList.value.length - 1) {
              proxy.$modal.msgSuccess("新增成功");
              open.value = false;
              getList();
              reset();
            }
          });
        });
      }
    }
@@ -899,7 +914,7 @@
}
function handleSelectionChange(e) {
  form.value.checkdObject = e;
  checkedList.value = e;
  form.value.checkdIds = e.map((item) => item.companyId).join(",");
}