沈丘营商办后台前端项目
王恒
2025-08-13 39cc55bebc53b06a75571b97ce6eaed807f31c42
src/views/system/manage/index.vue
@@ -9,43 +9,35 @@
      label-width="80px"
      label-position="left"
    >
      <el-form-item label="计划名称" prop="companyName">
      <el-form-item label="企业名称" prop="companyName">
        <el-input
          v-model="queryParams.enforceReason"
          placeholder="请输入计划名称"
          v-model="queryParams.companyName"
          placeholder="请输入企业名称"
          clearable
          style="width: 200px"
          @keyup.enter="handleQuery"
        />
      </el-form-item>
      <el-form-item label="计划编号" prop="companyCode">
        <el-input
          v-model="queryParams.planNo"
          placeholder="请输入计划编号"
          clearable
      <el-form-item label="制定机构">
        <el-tree-select
          v-model="queryParams.applyOrgId"
          :data="deptOptions"
          :props="{ value: 'id', label: 'label', children: 'children' }"
          value-key="id"
          placeholder="请选择制定计划的机构"
          check-strictly
          style="width: 200px"
          @keyup.enter="handleQuery"
        />
      </el-form-item>
      <el-form-item label="执法单位" prop="applyDeptIds">
        <el-input
          v-model="queryParams.applyDeptIds"
          placeholder="请输入执法单位"
          clearable
          style="width: 200px"
          @keyup.enter="handleQuery"
        />
      </el-form-item>
      <el-form-item label="执法时间" style="width: 290px">
        <el-date-picker
          v-model="dateRange"
          type="months"
          format="YYYY-MM"
          value-format="YYYY-MM"
          type="monthrange"
          range-separator="-"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          placeholder="请选择计划月份"
          @change="changeDateHandler"
        ></el-date-picker>
        />
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="Search" @click="handleQuery"
@@ -131,9 +123,9 @@
          industryToText(scope.row.industry)
        }}</template>
      </el-table-column>
      <el-table-column prop="inspectionMethod" label="检查方式" width="180">
      <el-table-column prop="enforceType" label="检查方式" width="180">
        <template #default="scope">{{
          methodToText(scope.row.inspectionMethod)
          methodToText(scope.row.enforceType)
        }}</template>
      </el-table-column>
      <el-table-column
@@ -287,17 +279,17 @@
        </el-row>
        <el-row :gutter="20">
          <el-col :span="12">
            <el-form-item label="检查方式" prop="inspectionMethod">
            <el-form-item label="检查方式" prop="enforceType">
              <el-select
                v-model="form.inspectionMethod"
                v-model="form.enforceType"
                placeholder="请选择检查方式"
                style="width: 100%"
              >
                <el-option
                  v-for="(obj, index) in inspection_method"
                  v-for="(obj, index) in enforce_type"
                  :key="index"
                  :label="obj.label"
                  :value="obj.key"
                  :value="obj.value"
                />
              </el-select>
            </el-form-item>
@@ -451,7 +443,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="检查方式:">{{
              methodToText(planDetail.inspectionMethod)
              methodToText(planDetail.enforceType)
            }}</el-form-item>
          </el-col>
          <el-col :span="12">
@@ -579,11 +571,12 @@
import { download as downloadHttp } from "@/utils/request";
const { proxy } = getCurrentInstance();
const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
const { frequency, industry_type, inspection_method } = proxy.useDictPer(
const { frequency, industry_type, enforce_type } = proxy.useDictPer(
  "frequency",
  "industry_type",
  "inspection_method"
  "enforce_type"
);
const statusOptions = ref([
  { label: "已撤回", value: -1 },
  { label: "待提交", value: 0 },
@@ -620,7 +613,7 @@
    companyId: "", // 被检查对象id
    companyCode: "", // 统一社会信用代码
    industry: "", // 所属行业
    inspectionMethod: "", // 检查方式
    enforceType: "", // 检查方式
    enforceContent: "", // 检查内容
    planFrequency: "", // 计划频次
    planFrequencyUnit: "1", // 计划频次单位
@@ -628,16 +621,17 @@
  },
  queryParams: {
    orderType: 1,
    planNo: "",
    companyName: "",
    enforceReason: "",
    applyDeptNames: "",
    value1: "",
    applyOrgId: "",
    planMonthStart: "", // 计划开始月份
    planMonthEnd: "", // 计划结束月份
    pageNum: 1,
    pageSize: 10,
    total: 1,
  },
  rules: {
    planNo: [{ required: true, message: "计划编号不能为空", trigger: "blur" }],
    orderNo: [{ required: true, message: "计划编号不能为空", trigger: "blur" }],
    enforceReason: [
      { required: true, message: "计划名称不能为空", trigger: "blur" },
    ],
@@ -668,7 +662,7 @@
    planMonth: [
      { required: true, message: "计划月份不能为空", trigger: "blur" },
    ],
    inspectionMethod: [
    enforceType: [
      { required: true, message: "检查方式不能为空", trigger: "blur" },
    ],
    checkStatus: [{ required: true, message: "状态不能为空", trigger: "blur" }],
@@ -695,8 +689,7 @@
// 月份选择
const changeDateHandler = (value) => {
  data.queryParams.planMonthStart = value[0];
  data.queryParams.planMonthEnd = value[1];
  data.queryParams.planMonth = value.join(",");
};
// 计划月份选择
@@ -802,7 +795,7 @@
    checkdIds: "", // 被检查对象id
    companyName: "", // 被检查对象名称
    companyCode: "", // 统一社会信用代码
    inspectionMethod: "", // 检查方式
    enforceType: "", // 检查方式
    industry: "", // 所属行业
    enforceContent: "", // 检查内容
    planFrequency: "", // 计划频次
@@ -832,12 +825,15 @@
  queryRef.value.resetFields();
  dateRange.value = [];
  queryParams.value = {
    planNo: "", // 计划编号
    enforceReason: "", // 计划名称
    applyDeptIds: "", // 执行科室
    orderType: 1,
    companyName: "",
    enforceReason: "",
    applyOrgId: "",
    planMonthStart: "", // 计划开始月份
    planMonthEnd: "", // 计划结束月份
    orderType: 1,
    pageNum: 1,
    pageSize: 10,
    total: 1,
  };
  handleQuery();
}
@@ -845,6 +841,7 @@
  getManage(id).then((response) => {
    form.value = JSON.parse(JSON.stringify(response.data));
    form.value.planFrequencyUnit = form.value.planFrequencyUnit.toString();
    form.value.enforceType = Number(form.value.enforceType);
    selectMonth.value = form.value.planMonth.split(",");
    selectOffices.value = form.value.applyDeptIds
      .split(",")
@@ -979,12 +976,12 @@
}
function industryToText(industry) {
  return industry_type.value.find((item) => item.key === industry).label;
  return industry_type.value.find((item) => item.key == industry).label;
}
function methodToText(inspectionMethod) {
  return inspection_method.value.find((item) => item.key === inspectionMethod)
    .label;
function methodToText(enforceType) {
  if (!enforceType) return "";
  return enforce_type.value.find((item) => item.value == enforceType).label;
}
function frequencyToText(data) {
@@ -998,12 +995,12 @@
}
function statusToText(status) {
  return statusOptions.value.find((item) => item.value === status).label;
  return statusOptions.value.find((item) => item.value == status).label;
}
function getUserOrgId() {
  getOrgId().then((response) => {
    form.value.applyOrgId = response.data || '';
    form.value.applyOrgId = response.data || "";
    if (response.data) {
      getOfficeList();
    }