qinxianzhangyao
2024-05-24 94c40e717c313d91bde25bff7c6938dfc21d9aaf
qxtj
8个文件已修改
1个文件已添加
1639 ■■■■ 已修改文件
src/api/system/comp.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reservation/groupcheck/index.vue 248 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reservation/grouprecords/index.vue 645 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reservation/resercopy/index.vue 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/biol/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/info/index.vue 173 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/tijian/index.vue 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/tijianall/index.vue 417 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/comp.js
@@ -150,3 +150,39 @@
    params: query
  })
}
export function addPlOrderAndDetail(data) {
  return request({
    url: '/hosp/order/addPlOrderAndDetail',
    method: 'post',
    data: data
  })
}
// 查询体检单位信息维护列表
export function getListByCompId(query) {
  return request({
    url: '/hosp/order/getCusTomterListByCompId',
    method: 'get',
    params: query
  })
}
// 查询体检单位信息维护列表
export function plRevokeTjOrderByTjNum(data) {
  return request({
    url: '/hosp/order/plRevokeTjOrderByTjNum',
    method: 'post',
    data: data
  })
}
// 查询体检单位信息维护列表
export function makeTjPDF(query) {
  return request({
    url: '/hosp/order/makeTjPDF',
    method: 'get',
    params: query
  })
}
src/views/reservation/groupcheck/index.vue
@@ -64,29 +64,16 @@
      </el-form-item>
    </el-form>
    <el-row :gutter="10" class="mb8" style="margin: 5px 20px">
      <el-col :span="1.5">
    <el-row :gutter="20" style="margin: 5px 20px">
      <el-col :span="12" style="margin-left: 50%;">
        <el-button
          type="primary"
          class="btn"
          icon="el-icon-thumb"
          :disabled="isdisabled"
          size="mini"
          @click="submitForm"
          @click="submitforms"
        >
          批量签到</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          class="btn"
          icon="el-icon-thumb"
          :disabled="isdisabled"
          size="mini"
          @click="submitForm"
        >
          批量打印导检单</el-button
        >
      </el-col>
    </el-row>
@@ -99,6 +86,7 @@
            :data="userList"
            @selection-change="handleSelectionChange"
            border
            height="490"
          >
            <el-table-column
              type="selection"
@@ -195,31 +183,34 @@
            <el-table-column label="分组" align="center" prop="groupingName" />
            <el-table-column label="项目收费" align="center" prop="ysPrice" />
          </el-table>
          <div class="pag">
          <!-- <div class="pag">
      <div class="pag1">
        <pagination v-show="total > 0" :total="total" :page.sync="objs.page"
          :limit.sync="objs.pageSize" @pagination="handleQuery" />
              <pagination
                v-show="total > 0"
                :total="total"
                :page.sync="objs.page"
                :limit.sync="objs.pageSize"
                @pagination="handleQuery"
              />
      </div>
    </div>
          </div> -->
        </div>
      </el-col>
      <el-col :span="12"> 
        <el-table
            :data="selectList"
            border
          >
        <el-table :data="selectList" border height="490">
          <el-table-column
            label="单位名称"
            align="center"
            prop="company"
            width="200"
          />
            <el-table-column
              label="工号"
              align="center"
              prop="jobNo"
              width="80"
            />
            <el-table-column
              label="姓名"
              align="center"
              prop="name"
              width="75"
            />
          <el-table-column label="姓名" align="center" prop="name" width="75" />
            <el-table-column label="性别" align="center" prop="sex" width="75">
              <template slot-scope="scope">
                <dict-tag
@@ -234,23 +225,105 @@
              prop="idCard"
              width="200"
            />
          <el-table-column label="年龄" align="center" prop="age" width="75" />
          <el-table-column
            label="出生日期"
            align="center"
            prop="birthday"
            width="100"
          />
          <el-table-column label="职位" align="center" prop="position" />
          <el-table-column label="部门" align="center" prop="department" />
          <el-table-column
            label="部门编号"
            align="center"
            prop="departmentId"
          />
            <el-table-column
              label="联系电话"
              align="center"
              prop="phoe"
              width="120"
            />
          <el-table-column label="地址" align="center" prop="address" />
          <el-table-column
            label="婚姻状况"
            align="center"
            prop="marriage"
            key="marriage"
          >
            <template slot-scope="scope">
              <dict-tag
                :options="dict.type.dict_user_marry"
                :value="scope.row.marriage"
              />
            </template>
          </el-table-column>
          <el-table-column
            label="民族"
            align="center"
            prop="nation"
            key="nation"
          >
            <template slot-scope="scope">
              <dict-tag
                :options="dict.type.dict_user_national"
                :value="scope.row.nation"
              />
            </template>
          </el-table-column>
          <el-table-column label="联系邮箱" align="center" prop="email" />
          <!-- <el-table-column label="体检类别" align="center" prop="tjCategory" /> -->
            <el-table-column label="分组" align="center" prop="groupingName" />
            <el-table-column label="项目收费" align="center" prop="ysPrice" />
            <el-table-column fixed="right" label="操作" align="center" width="90px" class-name="small-padding fixed-width">
          <el-table-column
            fixed="right"
            label="操作"
            align="center"
            width="90px"
            class-name="small-padding fixed-width"
          >
        <template slot-scope="scope">
          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
            title="删除"></el-button>
              <el-button
                size="mini"
                type="text"
                icon="el-icon-delete"
                @click="handleDelete(scope.row)"
                title="删除"
              ></el-button>
        </template>
      </el-table-column>
          </el-table>
      </el-col>
    </el-row>
    <el-dialog
      :title="title"
      :visible.sync="open2"
      width="800px"
      append-to-body
    >
      <el-form ref="form" :model="forms" label-width="100px" :inline="true">
        <el-form-item label="体检类别">
          <el-select
            style="width: 150px"
            v-model="forms.tjCategory"
            placeholder="请选择体检类别"
          >
            <el-option
              v-for="dict in dict.type.dict_tjtype"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer2">
        <el-button type="primary" @click="submitType">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
    <!-- 添加或修改体检单位信息维护对话框 -->
    <div class="dia">
@@ -352,6 +425,20 @@
        </div>
      </el-dialog>
    </div>
    <el-dialog
      title="PDF 预览"
      :visible.sync="dialogVisible"
      :close-on-click-modal="false"
    >
      <div class="main">
        <iframe
          id="printIframe"
          :src="url"
          frameborder="0"
          style="width: 100%; height: 100%"
        ></iframe>
      </div>
    </el-dialog>
  </div>
</template>
  
@@ -359,7 +446,8 @@
import {
  addDept,
  addComp,
  Deptlist,getCusTomterListByCompId
  addPlOrderAndDetail,
  getCusTomterListByCompId,
} from "@/api/system/comp";
import {  getCompany, queryCompany } from "@/api/team/tuanti";
@@ -369,6 +457,7 @@
    "dict_user_marry",
    "sys_yes_no",
    "sys_user_sex",
    "dict_tjtype",
    "reservation_pay_type",
    "sys_normal_disable",
  ],
@@ -407,8 +496,10 @@
        discount: "",
      },
      size: "",
      url: "",
      // 套餐提交按钮
      confirm: false,
      dialogVisible: false,
      deptList: [],
      data: {
        dwId: "",
@@ -420,8 +511,6 @@
        compId: null,
        name: null,
        reservationTime: null,
        page:1,
        pageSize:10
      },
      // 非单个禁用
      single: true,
@@ -429,7 +518,7 @@
      multiple: true,
      // 用户表格数据
      userList: null,
      userList: [],
      // 查询参数
      queryParam: {
@@ -437,7 +526,7 @@
        pageSize: 10,
      },
      // 表单参数
      form: {},
      forms: {},
      // 表单校验
      rules: {
@@ -545,6 +634,7 @@
      // 是否显示弹出层
      open: false,
      open1: false,
      open2: false,
      // 查询参数
      queryParams: {
        pageNum: 1,
@@ -570,10 +660,11 @@
  },
  methods: {
    handleQuery() {
      getCusTomterListByCompId(this.objs).then(res => {
        this.userList = res.data.records
        this.total = res.data.total
      })
      this.loading = true;
      getCusTomterListByCompId(this.objs).then((res) => {
        this.userList = res.data;
        this.loading = false;
      });
    },
    // 保存部门
    handleAddDept() {
@@ -601,14 +692,59 @@
    // },
      // 多选框选中数据
      handleSelectionChange(selection) {
        console.log(selection)
      selection.forEach((item) => {
        this.selectList.push(item);
        this.userList.forEach((item1, index) => {
          if (item.idCard == item1.idCard) {
            this.userList.splice(index, selection.length);
          }
        });
      });
      for (var i = 0; i < this.selectList.length; i++) {
        // 首次遍历数组
        for (var j = i + 1; j < this.selectList.length; j++) {
          // 再次遍历数组
          if (this.selectList[i].idCard == this.selectList[j].idCard) {
            // 判断连个值是否相等
            this.selectList.splice(j, 1); // 相等删除后者
            j--;
          }
        }
      }
      return this.selectList;
      // console.log(this.selectList);
      // this.ids = selection.map((item) => item.cusId);
      // this.single = selection.length !== 1;
      // this.multiple = !selection.length;
    },
    handleDelete(row){
      this.selectList.forEach((item, index) => {
        if (item == row) {
          this.selectList.splice(index, 1);
        }
      });
      this.userList.push(row);
    },
    submitforms() {
      this.open2 = true;
    },
    submitType() {
      let cusIds = [];
      this.selectList.forEach((item) => {
        cusIds.push(item.idCard);
      });
      let data = {
        cusIds: cusIds,
        tjCategory: this.forms.tjCategory,
      };
      addPlOrderAndDetail(data).then((res) => {
        this.open2 = false;
        this.$modal.msgSuccess("签到成功");
        this.handleQuery();
        this.selectList = [];
      });
    },
   
    // 搜索
@@ -636,6 +772,7 @@
    cancel() {
      this.open = false;
      this.open1 = false;
      this.open2 = false;
      this.reset();
    },
    /** 新增按钮操作 */
@@ -678,9 +815,11 @@
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.objs.drugManufacturerId = "";
      this.objs.dwDeptName = "";
      this.objs.compId = "";
      this.objs.name = "";
      this.objs.reservationTime = "";
      this.userList = [];
      this.selectList = [];
      this.form = {};
    },
@@ -688,16 +827,18 @@
    selectTime(val) {
      this.objs.reservationTime = val;
    },
    /** 确认按钮 */
    submitForm() {},
    doPrint(val) {
      var ordonnance = document.getElementById(val).contentWindow;
      setTimeout(() => {
        ordonnance.print();
      }, 100);
    },
  },
};
</script>
  
  
  <style>
.pag {
  width: 100%;
  display: flex;
@@ -725,9 +866,14 @@
  display: flex;
}
.main {
  height: 700px;
  overflow: hidden;
}
.dialog-footer2 {
  width: 960px;
  height: 36px;
  /* width: 960px;
  height: 36px; */
  display: flex;
  justify-content: center;
}
src/views/reservation/grouprecords/index.vue
New file
@@ -0,0 +1,645 @@
<template>
  <div class="app-container">
    <el-form
      :model="objs"
      :rules="rules"
      ref="form"
      size="small"
      :inline="true"
      label-width="100px"
    >
      <el-form-item label="单位名称" prop="compId">
        <el-select
          :remote-method="getRemoteData"
          v-model="objs.compId"
          remote
          filterable
          style="width: 200px"
          placeholder="请选择单位名称"
          clearable
          @clear="getCompanyList"
        >
          <el-option
            v-for="dict in CompanyList"
            :key="dict.cnName"
            :label="dict.cnName"
            :value="dict.drugManufacturerId"
          />
        </el-select>
        <i class="el-icon-circle-plus-outline" @click="handleAdd"></i>
      </el-form-item>
      <el-form-item label="姓名" prop="name">
        <el-input
          v-model="objs.name"
          placeholder="请输入姓名"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="签到时间" prop="reservationTime">
        <el-date-picker
          clearable
          v-model="objs.reservationTime"
          type="date"
          format="yyyy-MM-dd"
          value-format="yyyy-MM-dd"
          style="width: 220px"
          placeholder="请选择签到日期"
          @change="selectTime"
          :picker-options="setDisabled"
        >
        </el-date-picker>
      </el-form-item>
      <el-form-item>
        <el-button
          type="primary"
          icon="el-icon-search"
          size="mini"
          @click="handleQuery"
          >搜索</el-button
        >
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
          >重置</el-button
        >
      </el-form-item>
    </el-form>
    <el-row :gutter="10" class="mb8" style="margin: 5px 20px">
      <el-col :span="1.5">
        <el-button
          type="primary"
          class="btn"
          icon="el-icon-thumb"
          size="mini"
          @click="submitforms"
        >
          批量撤销</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="primary"
          class="btn"
          icon="el-icon-thumb"
          size="mini"
          @click="submitForm"
        >
          批量打印导检单</el-button
        >
      </el-col>
    </el-row>
    <div style="margin: 5px 20px">
      <el-table
        v-loading="loading"
        :data="userList"
        @selection-change="handleSelectionChange"
        border
        height="490"
      >
        <el-table-column
          type="selection"
          width="55"
          align="center"
          fixed="left"
        />
        <el-table-column
          label="单位名称"
          align="center"
          prop="company"
          width="200"
        />
        <el-table-column label="工号" align="center" prop="jobNo" width="80" />
        <el-table-column label="姓名" align="center" prop="name" width="75" />
        <el-table-column label="性别" align="center" prop="sex" width="75">
          <template slot-scope="scope">
            <dict-tag
              :options="dict.type.sys_user_sex"
              :value="scope.row.sex"
            />
          </template>
        </el-table-column>
        <el-table-column
          label="身份证号"
          align="center"
          prop="idCard"
          width="200"
        />
        <el-table-column label="年龄" align="center" prop="age" width="75" />
        <el-table-column
          label="出生日期"
          align="center"
          prop="birthday"
          width="100"
        />
        <el-table-column label="职位" align="center" prop="position" />
        <el-table-column label="部门" align="center" prop="department" />
        <el-table-column label="部门编号" align="center" prop="departmentId" />
        <el-table-column
          label="联系电话"
          align="center"
          prop="phoe"
          width="120"
        />
        <el-table-column label="地址" align="center" prop="address" />
        <el-table-column
          label="婚姻状况"
          align="center"
          prop="marriage"
          key="marriage"
        >
          <template slot-scope="scope">
            <dict-tag
              :options="dict.type.dict_user_marry"
              :value="scope.row.marriage"
            />
          </template>
        </el-table-column>
        <el-table-column label="民族" align="center" prop="nation" key="nation">
          <template slot-scope="scope">
            <dict-tag
              :options="dict.type.dict_user_national"
              :value="scope.row.nation"
            />
          </template>
        </el-table-column>
        <el-table-column label="联系邮箱" align="center" prop="email" />
        <!-- <el-table-column label="体检类别" align="center" prop="tjCategory" /> -->
        <el-table-column label="分组" align="center" prop="groupingName" />
        <el-table-column label="项目收费" align="center" prop="ysPrice" />
      </el-table>
      <div class="pag">
        <div class="pag1">
          <pagination
            v-show="total > 0"
            :total="total"
            :page.sync="objs.page"
            :limit.sync="objs.pageSize"
            @pagination="handleQuery"
          />
        </div>
      </div>
    </div>
    <!-- 添加或修改体检单位信息维护对话框 -->
    <div class="dia">
      <el-dialog
        :title="title"
        :visible.sync="open"
        width="1000px"
        append-to-body
      >
        <el-form
          ref="form"
          :model="form"
          :rules="rules"
          label-width="100px"
          :inline="true"
        >
          <el-form-item label="单位名称" prop="cnName">
            <el-input v-model="form.cnName" placeholder="请输入中文名称" />
          </el-form-item>
          <el-form-item label="联系人" prop="contactPerson">
            <el-input v-model="form.contactPerson" placeholder="请输入联系人" />
          </el-form-item>
          <el-form-item label="联系电话" prop="contactPhone">
            <el-input
              v-model="form.contactPhone"
              placeholder="请输入联系电话"
            />
          </el-form-item>
          <el-form-item label="税号" prop="taxNumber">
            <el-input v-model="form.taxNumber" placeholder="请输入税号" />
          </el-form-item>
          <el-form-item label="法人" prop="legalPerson">
            <el-input v-model="form.legalPerson" placeholder="请输入法人" />
          </el-form-item>
          <el-form-item label="注册地址" prop="registerAddress">
            <el-input
              v-model="form.registerAddress"
              placeholder="请输入注册地址"
            />
          </el-form-item>
          <el-form-item label="通讯地址" prop="mailingAddress">
            <el-input
              v-model="form.mailingAddress"
              placeholder="请输入通讯地址"
            />
          </el-form-item>
          <el-form-item label="开户银行" prop="bankAccount">
            <el-input v-model="form.bankAccount" placeholder="请输入开户银行" />
          </el-form-item>
          <el-form-item label="银行账户" prop="countNum">
            <el-input v-model="form.countNum" placeholder="请输入银行账户" />
          </el-form-item>
          <el-form-item label="邮箱" prop="email">
            <el-input v-model="form.email" placeholder="请输入邮箱" />
          </el-form-item>
          <el-form-item label="负责人" prop="principal">
            <el-input v-model="form.principal" placeholder="请输入负责人" />
          </el-form-item>
          <el-form-item label="网址" prop="url">
            <el-input v-model="form.url" placeholder="请输入网址" />
          </el-form-item>
          <el-form-item label="传真" prop="faxNumber">
            <el-input v-model="form.faxNumber" placeholder="请输入传真" />
          </el-form-item>
          <el-form-item label="行政区划名称" prop="areaName">
            <el-input
              v-model="form.areaName"
              placeholder="请输入行政区划名称"
            />
          </el-form-item>
          <el-form-item label="排序" prop="orderNum">
            <el-input v-model="form.orderNum" placeholder="请输入排序" />
          </el-form-item>
          <el-form-item label="有效时间" prop="validTime">
            <el-date-picker
              clearable
              v-model="form.validTime"
              type="date"
              value-format="yyyy-MM-dd"
              placeholder="请选择有效时间"
            >
            </el-date-picker> </el-form-item
          ><br />
          <el-form-item label="备注" prop="remark">
            <el-input
              v-model="form.remark"
              type="textarea"
              placeholder="请输入内容"
              :rows="2"
              label-width="400px"
              style="width: 830px"
              resize="none"
            ></el-input>
          </el-form-item>
        </el-form>
        <div slot="footer" class="dialog-footer2">
          <el-button type="primary" @click="submitFormS">确 定</el-button>
          <el-button @click="cancel">取 消</el-button>
        </div>
      </el-dialog>
    </div>
    <el-dialog
      title="PDF 预览"
      :visible.sync="dialogVisible"
      :close-on-click-modal="false"
    >
      <div class="main">
        <iframe
          id="printIframe"
          :src="url"
          frameborder="0"
          style="width: 100%; height: 100%"
        ></iframe>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import {
  addComp,
  plRevokeTjOrderByTjNum,
  getListByCompId, makeTjPDF,
} from "@/api/system/comp";
import { getCompany, queryCompany } from "@/api/team/tuanti";
export default {
  dicts: [
    "dict_user_national",
    "dict_user_marry",
    "sys_yes_no",
    "sys_user_sex",
    "dict_tjtype",
    "reservation_pay_type",
    "sys_normal_disable",
  ],
  name: "Grouprecords",
  data() {
    let checkPhoneNum = (rule, value, callback) => {
      console.log(value);
      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
      if (value == "" && value == undefined && !value) {
        return callback("");
      } else if (value != undefined && value != "") {
        return callback();
      } else if (!patter.test(value)) {
        return callback("");
      }
    };
    return {
      setDisabled: {
        // 返回禁用时间
        disabledDate(time) {
          // return time.getTime() < Date.now()// 不可选历史天、不可选当前天、可选未来天
          return time.getTime() < Date.now() - 8.64e7; // 不可选历史天、可选当前天、可选未来天
        },
      },
      CompanyList: [],
      url: "",
      dialogVisible: false,
      form: {
        company: "",
        payType: "",
        name: "",
        phoe: "",
        signingPic: "",
        discount: "",
      },
      size: "",
      objs: {
        compId: null,
        name: null,
        reservationTime: null,
        page: 1,
        pageSize: 10,
      },
      // 用户表格数据
      userList: [],
      // 查询参数
      queryParam: {
        pageNum: 1,
        pageSize: 10,
      },
      // 表单参数
      forms: {},
      // 表单校验
      rules: {
        drugManufacturerId: [
          { required: true, validator: checkPhoneNum, trigger: "change" },
        ],
        reservationTime: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        dwDeptName: [
          { required: true, validator: checkPhoneNum, trigger: "change" },
        ],
        signingPic: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        contactPerson: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        contactPhone: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        taxNumber: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        legalPerson: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        registerAddress: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        bankAccount: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        countNum: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        principal: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        faxNumber: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        mailingAddress: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        email: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
        pacName: [
          { required: true, validator: checkPhoneNum, trigger: "change" },
        ],
        payType: [
          { required: true, validator: checkPhoneNum, trigger: "change" },
        ],
        phoe: [
          {
            required: true,
            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
            validator: checkPhoneNum,
            trigger: "blur",
          },
        ],
        proPrice: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        createTime: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        cnName: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
        businessLicenseNumber: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        createTime: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        updateTime: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        effective: [
          {
            required: true,
            validator: checkPhoneNum,
            trigger: "change",
          },
        ],
        name: [{ required: true, validator: checkPhoneNum, trigger: "change" }],
        contactPhone: [
          { required: true, validator: checkPhoneNum, trigger: "change" },
        ],
      },
      // 遮罩层
      loading: true,
      pacStatus: "启用",
      // 非单个禁用
      single: true,
      // 非多个禁用
      multiple: true,
      ids:[],
      // 总条数
      total: 0,
      // 弹出层标题
      title: "",
      // 是否显示弹出层
      open: false,
    };
  },
  created() {
    this.getCompanyList();
  },
  watch: {
    inputVal(newValue) {
      if (newValue) {
        this.searchData(true);
      } else {
        this.searchData(false);
      }
    },
  },
  methods: {
    handleQuery() {
      this.loading = true;
      getListByCompId(this.objs).then((res) => {
        if (res.data) {
          this.userList = res.data.records;
          this.total = res.data.total;
        } else {
          this.userList = [];
        }
        this.loading = false;
      });
    },
    submitforms() {
      if (this.ids.length != 0) {
        plRevokeTjOrderByTjNum(this.ids).then((res) => {
          this.$modal.msgSuccess("撤销成功");
          this.handleQuery();
        });
      } else {
        this.$modal.msgError("请选择撤销人员");
      }
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map((item) => item.id);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
    },
    // 搜索
    getRemoteData(query) {
      if (query) {
        let compName = query;
        queryCompany(compName).then((response) => {
          this.CompanyList = response.data;
          this.CompanyList.forEach((item) => {
            this.objs = item;
          });
        });
      }
    },
    // 获取单位信息集合
    getCompanyList() {
      this.loading = true;
      getCompany(this.queryParam).then((response) => {
        this.CompanyList = response.data;
        this.loading = false;
      });
    },
    // 取消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    /** 新增按钮操作 */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加体检单位信息维护";
    },
    /** 提交按钮 */
    submitFormS() {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          addComp(this.form).then((response) => {
            this.$modal.msgSuccess("新增成功");
            this.open = false;
            this.getCompanyList();
          });
        }
      });
    },
    // 表单重置
    reset() {
      this.form = {
        company: null,
        payType: null,
        name: null,
        phoe: null,
        signingPic: null,
        pacStatus: "启用",
      };
      this.resetForm("form");
    },
    /** 重置按钮操作 */
    resetQuery() {
      this.objs.compId = "";
      this.objs.name = "";
      this.objs.reservationTime = "";
      this.userList = [];
      this.form = {};
    },
    //获取时间
    selectTime(val) {
      this.objs.reservationTime = val;
    },
     /** 确认按钮 */
     submitForm() {
      makeTjPDF().then((response) => {
        if (response.size === 0) {
          const loading = this.$loading({
            lock: true,
            text: "Loading",
            spinner: "el-icon-loading",
            background: "rgba(0, 0, 0, 0.7)",
          });
          setTimeout(() => {
            loading.close();
          }, 3000);
          this.$message({
            message: "报告正在生成,请两分钟后预览!",
            type: "warning",
          });
        } else {
          this.dialogVisible = true;
          const newBlob = [];
          newBlob.push(response);
          const blob = new Blob(newBlob, { type: "application/pdf" });
          this.url = window.webkitURL.createObjectURL(blob); //将后端返回的blob文件读取出url
        }
      });
    },
  },
};
</script>
<style>
.pag {
  width: 100%;
  display: flex;
  justify-content: center;
}
.pag1 {
  width: 30%;
}
.dialog-footer2 {
  display: flex;
  justify-content: center;
}
.main {
  height: 700px;
  overflow: hidden;
}
</style>
src/views/reservation/resercopy/index.vue
@@ -716,43 +716,43 @@
          sums[index] = this.ListObj.count;
          return;
        }
        if (index === 7) {
        if (index === 6) {
          sums[index] = "男组人数";
          return;
        }
        if (index === 8) {
        if (index === 7) {
          sums[index] = this.ListObj.manCount;
          return;
        }
        if (index === 9) {
        if (index === 8) {
          sums[index] = "男组金额";
          return;
        }
        if (index === 10) {
        if (index === 9) {
          sums[index] = this.ListObj.manMoney;
          return;
        }
        if (index === 12) {
        if (index === 11) {
          sums[index] = "女组人数";
          return;
        }
        if (index === 13) {
        if (index === 12) {
          sums[index] = this.ListObj.woManCount;
          return;
        }
        if (index === 14) {
        if (index === 13) {
          sums[index] = "女组金额";
          return;
        }
        if (index === 15) {
        if (index === 14) {
          sums[index] = this.ListObj.woManMoney;
          return;
        }
        if (index === 16) {
        if (index === 15) {
          sums[index] = "合计金额";
          return;
        }
        if (index === 17) {
        if (index === 16) {
          sums[index] = this.ListObj.hjMoney;
          return;
        }
@@ -846,7 +846,7 @@
    /** 导入按钮操作 */
    handleImport() {
      if (this.data.dwId || this.data.dwDeptId) {
      if (this.objs.drugManufacturerId && this.objs.reservationTime &&this.objs.dwDeptName) {
        this.upload.title = "用户导入";
        this.upload.open = true;
      } else {
src/views/system/biol/index.vue
@@ -41,9 +41,9 @@
      <el-col :span="1.5">
        <el-button type="primary" size="mini" :disabled="multiple" @click="jiankangReport">健康检查表打印</el-button>
      </el-col>
      <el-col :span="1.5">
      <!-- <el-col :span="1.5">
        <el-button type="primary" size="mini" :disabled="multiple" @click="jiankangReport">批量体检报告导出</el-button>
      </el-col>
      </el-col> -->
      <el-col :span="1.5">
        <el-button type="primary" size="mini" :disabled="single" @click="baogaoyulan">报告预览</el-button>
      </el-col>
@@ -569,6 +569,7 @@
                type: "warning",
              });
            } else {
              console.log(response)
              this.dialogVisible = true;
              this.url = window.webkitURL.createObjectURL(response); //将后端返回的blob文件读取出url
@@ -817,7 +818,6 @@
    },
    // 表单重置
    reset() {
      this.form = {
        orderId: null,
        tjType: null,
src/views/system/info/index.vue
@@ -1,25 +1,50 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
    <el-form
      :model="queryParams"
      ref="queryForm"
      size="small"
      :inline="true"
      v-show="showSearch"
      label-width="68px"
    >
      <el-row>
        <el-col :span="11">
          <el-form-item label="单位名称" prop="company" style="display: flex;">
            <el-select :remote-method="getRemoteData" v-model="queryParams.company" value-key="drugManufacturerId" remote
              filterable placeholder="请选择单位名称" clearable @change="searchSelect">
              <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName"
                :value="dict.drugManufacturerId" />
          <el-form-item label="单位名称" prop="company" style="display: flex">
            <el-select
              :remote-method="getRemoteData"
              v-model="queryParams.company"
              value-key="drugManufacturerId"
              remote
              filterable
              placeholder="请选择单位名称"
              clearable
              @change="searchSelect"
            >
              <el-option
                v-for="dict in CompanyList"
                :key="dict.drugManufacturerId"
                :label="dict.cnName"
                :value="dict.drugManufacturerId"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item>
            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="handleQuery"
              >搜索</el-button
            >
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
              >重置</el-button
            >
          </el-form-item>
        </el-col>
      </el-row>
      <!-- <el-form-item label="交易金额" prop="transactionAmount">
                <el-input v-model="queryParams.transactionAmount" placeholder="请输入交易金额" clearable
@@ -41,7 +66,6 @@
            <el-form-item label="收款人" prop="payee">
                <el-input v-model="queryParams.payee" placeholder="请输入收款人" clearable @keyup.enter.native="handleQuery" />
            </el-form-item> -->
    </el-form>
    <!-- <el-row :gutter="10" class="mb8">
@@ -68,8 +92,15 @@
            <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
        </el-row> -->
    <el-table id="sig" v-loading="loading" :data="infoList" @selection-change="handleSelectionChange" border ref="tb"
      max-height="260px">
    <el-table
      id="sig"
      v-loading="loading"
      :data="infoList"
      @selection-change="handleSelectionChange"
      border
      ref="tb"
      max-height="260px"
    >
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="部门" align="center" prop="pacName" />
      <el-table-column label="预检人数" align="center" prop="count" />
@@ -77,37 +108,60 @@
      <el-table-column label="应收金额" align="center" prop="copeWith" />
      <el-table-column label="签约金额" align="center" prop="signingPrice">
      </el-table-column>
      <el-table-column label="已付金额" align="center" prop="transactionAmount" />
      <el-table-column
        label="已付金额"
        align="center"
        prop="transactionAmount"
      />
      <el-table-column label="差额" align="center" prop="difference" />
      <el-table-column label="签约人" align="center" prop="payer" />
      <el-table-column label="预约时间" align="center" prop="createTime" />
    </el-table>
    <el-form :inline="true" :model="formInline" class="demo-form-inline" style="margin: 12px 6px" label-width="100px">
    <el-form
      :inline="true"
      :model="formInline"
      class="demo-form-inline"
      style="margin: 12px 6px"
      label-width="100px"
    >
      <el-row>
        <el-col :span="6">
          <el-form-item label="负责人" style="display: flex;">
            <el-input v-model="formInline.payer" placeholder="单位负责人"></el-input>
          <el-form-item label="负责人" style="display: flex">
            <el-input
              v-model="formInline.payer"
              placeholder="单位负责人"
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="7">
          <el-form-item label="交易金额" style="display: flex;">
          <el-form-item label="交易金额" style="display: flex">
            <el-input v-model="formInline.price" placeholder="金额"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="7">
          <el-form-item label="交易类型" prop="payType" style="display: flex;">
            <el-select v-model="formInline.payType" placeholder="请选择交易类型">
              <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label"
                :value="dict.value"></el-option>
          <el-form-item label="交易类型" prop="payType" style="display: flex">
            <el-select
              v-model="formInline.payType"
              placeholder="请选择交易类型"
            >
              <el-option
                v-for="dict in dict.type.dict_pay_type"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              ></el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="7">
          <el-form-item>
            <el-button type="primary" size="mini" @click="SubmitEvent">收费</el-button>
            <el-button type="primary" size="mini" @click="handleDelete">退费</el-button>
            <el-button type="primary" size="mini" @click="SubmitEvent"
              >收费</el-button
            >
            <el-button type="primary" size="mini" @click="handleDelete"
              >退费</el-button
            >
          </el-form-item>
        </el-col>
      </el-row>
@@ -119,21 +173,39 @@
          <span class="tj_txt">已缴费记录</span>
        </div>
        <el-table v-loading="loading" :data="dataList" border max-height="260px">
          <el-table-column label="交易金额" align="center" prop="transactionAmount" />
          <el-table-column label="交易方式" align="center" prop="paymentMethod" />
        <el-table
          v-loading="loading"
          :data="dataList"
          border
          max-height="260px"
        >
          <el-table-column
            label="交易金额"
            align="center"
            prop="transactionAmount"
          />
          <el-table-column
            label="交易方式"
            align="center"
            prop="paymentMethod"
          />
          <el-table-column label="交易人员" align="center" prop="payer" />
          <el-table-column label="操作人员" align="center" prop="payee">
          </el-table-column>
          <el-table-column label="操作时间" align="center" prop="createTime" />
        </el-table>
      </el-col>
      <el-col :span="12" :xs="24" style="padding: 0px 20px;">
      <el-col :span="12" :xs="24" style="padding: 0px 20px">
        <div class="tj">
          <span class="tj_txt">体检人员情况表</span>
        </div>
        <el-table v-loading="loading" :data="peopleList" border max-height="260px">
        <el-table
          v-loading="loading"
          :data="peopleList"
          border
          max-height="260px"
        >
          <el-table-column label="序号" align="center" prop="newID" />
          <el-table-column label="姓名" align="center" prop="name" />
          <el-table-column label="状态" align="center" prop="tjStatus" />
@@ -147,7 +219,11 @@
<script>
import { getInfo } from "@/api/login";
import { getCompany, queryCompany, getTeamTjPeopleList } from "@/api/team/tuanti";
import {
  getCompany,
  queryCompany,
  getTeamTjPeopleList,
} from "@/api/team/tuanti";
import {
  listInfo,
@@ -276,11 +352,11 @@
      listInfo(this.compId).then((response) => {
        this.infoList = response.data;
        if (this.infoList.length != 0) {
          this.infoList.forEach((item) => {
          // this.infoList.forEach((item) => {
            this.$nextTick(() => {
              this.$refs.tb.toggleRowSelection(item, true);
            this.$refs.tb.toggleRowSelection(this.infoList[0], true);
            });
          });
          // });
        } else {
          this.$refs.tb.clearSelection();
        }
@@ -320,10 +396,18 @@
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      console.log(2222)
      if (selection.length > 1) {
        let del_row = selection.shift();
        this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中
      }
      // this.ids = selection.map((item) => item.id);
      // this.single = selection.length !== 1;
      // this.multiple = !selection.length;
      this.tableList = selection;
      this.teamNo = ""
      this.teamNo = "";
      this.tableList.forEach((item) => {
        this.teamNo = item.teamNo
        this.teamNo = item.teamNo;
        this.copeWith = item.copeWith;
        this.transactionAmount = item.transactionAmount;
        this.formInline.price = item.copeWith - item.transactionAmount;
@@ -347,10 +431,11 @@
          });
        }
      });
      console.log(11111)
      if (this.teamNo) {
        getTeamTjPeopleList(this.teamNo).then(res => {
        getTeamTjPeopleList(this.teamNo).then((res) => {
          if (res.data) {
            this.peopleList = res.data
            this.peopleList = res.data;
            res.data.forEach((item, index) => {
              item.newID =
                (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
@@ -358,16 +443,8 @@
                1;
            });
          }
        })
        });
      }
      if (selection.length > 1) {
        let del_row = selection.shift();
        this.$refs.tb.toggleRowSelection(del_row, false); //设置这一行取消选中
      }
      this.ids = selection.map((item) => item.id);
      this.single = selection.length !== 1;
      this.multiple = !selection.length;
    },
    /** 新增按钮操作 */
    // handleAdd() {
@@ -382,7 +459,6 @@
    /** 收费提交按钮 */
    SubmitEvent() {
      if (this.formInline.price != 0) {
        let data = {
          paymentMethod: this.formInline.payType,
          transactionAmount: this.formInline.price,
@@ -398,7 +474,6 @@
          const params = { viewNum, tjnumber };
          this.$tab.openPage("团检小票", "/report/charge", params);
        });
      } else {
        this.$message.error("交易金额不能为0");
      }
src/views/system/tijian/index.vue
@@ -115,7 +115,7 @@
            </el-form-item>
            <el-form-item
              label="证件号"
              label="证件号码"
              prop="cusIdcard"
              :rules="[
                {
@@ -141,7 +141,7 @@
                style="display: inline-block; border-bottom: 2px solid blue"
                @click="handleQuery"
              >
                证件号
                证件号码
              </span>
              <el-input
                :disabled="isDisabled"
@@ -207,6 +207,7 @@
                type="date"
                value-format="yyyy-MM-dd"
                placeholder="请选择出生日期"
                style="width: 93%"
              >
              </el-date-picker>
            </el-form-item>
@@ -244,7 +245,7 @@
              <el-select
                :disabled="isDisabled"
                v-model="form.ageUnit"
                style="width: 21%"
                style="width: 20%"
              >
                <el-option
                  v-for="dict in dict.type.dict_ageunit"
@@ -258,47 +259,6 @@
            <!-- <el-form-item prop="ageUnit">
              
              </el-form-item> -->
          </el-form>
          <el-form
            ref="form"
            :model="form"
            :rules="rules"
            :label-position="labelPosition"
            label-width="106px"
            v-show="top"
          >
            <el-row :gutter="21">
              <el-col :span="19">
                <el-form-item label="户口地址" prop="addr">
                  <el-input
                    v-model="form.addr"
                    placeholder="请输入户口地址"
                    :disabled="isDisabled"
                  />
                </el-form-item>
              </el-col>
            </el-row>
          </el-form>
          <el-form
            ref="form"
            :model="form"
            :rules="rules"
            :label-position="labelPosition"
            label-width="106px"
            v-show="top"
          >
            <el-row :gutter="21">
              <el-col :span="19">
                <el-form-item label="现住址" prop="cusAddr">
                  <el-input
                    v-model="form.cusAddr"
                    placeholder="请输入现居住地址"
                    :disabled="isDisabled"
                  />
                </el-form-item>
              </el-col>
            </el-row>
          </el-form>
          <el-form
            :inline="true"
@@ -333,6 +293,48 @@
              />
            </el-form-item>
          </el-form>
          <el-form
            ref="form"
            :model="form"
            :rules="rules"
            :label-position="labelPosition"
            label-width="106px"
            v-show="top"
          >
            <el-row :gutter="21">
              <el-col :span="19">
                <el-form-item label="户口地址" prop="addr">
                  <el-input
                    v-model="form.addr"
                    placeholder="请输入户口地址"
                    :disabled="isDisabled"
                  />
                </el-form-item>
              </el-col>
            </el-row>
          </el-form>
          <el-form
            ref="form"
            :model="form"
            :rules="rules"
            :label-position="labelPosition"
            label-width="106px"
            v-show="top"
          >
            <el-row :gutter="21">
              <el-col :span="19">
                <el-form-item label="现住地址" prop="cusAddr">
                  <el-input
                    v-model="form.cusAddr"
                    placeholder="请输入现居住地址"
                    :disabled="isDisabled"
                  />
                </el-form-item>
              </el-col>
            </el-row>
          </el-form>
          <el-row v-show="top">
            <el-col :span="19">
src/views/system/tijianall/index.vue
@@ -9,14 +9,9 @@
            ref="form"
            :model="form"
            :rules="rules"
            :label-position="labelPosition"
            class="demo-form-inline"
            label-width="84px"
          >
            <el-row>
              <el-col :span="5">
                <el-form-item
                  style="display: flex"
                  label="姓名"
                  prop="cusName"
                  :rules="[
@@ -35,13 +30,22 @@
                >
                  <el-input v-model="form.cusName" placeholder="请输入姓名" />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item
                  label="证件类型"
                  prop="idType"
                  style="display: flex"
            <el-form-item label="性别" prop="cusSex">
              <el-select
                v-model="form.cusSex"
                placeholder="请选择性别"
                @change="formchang"
                style="width: 94%"
                >
                <el-option
                  v-for="dict in dict.type.sys_user_sex"
                  :key="dict.value"
                  :label="dict.label"
                  :value="parseInt(dict.value)"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="证件类型" prop="idType">
                  <el-select v-model="form.idType" placeholder="请选择证件类型">
                    <el-option
                      v-for="dict in dict.type.dict_user_cardtype"
@@ -51,11 +55,46 @@
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="7">
          </el-form>
          <el-form
            style="margin: 4px 8px"
            :inline="true"
            ref="form"
            :model="form"
            :rules="rules"
            label-width="84px"
          >
          <el-form-item label="民族" prop="cusNational">
              <el-select
                filterable
                v-model="form.cusNational"
                placeholder="请选择民族"
                style="width: 96%"
              >
                <el-option
                  v-for="dict in dict.type.dict_user_national"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="婚姻" prop="cusMarryStatus">
              <el-select
                v-model="form.cusMarryStatus"
                placeholder="请选择婚姻状况"
                style="width: 94%"
              >
                <el-option
                  v-for="dict in dict.type.dict_user_marry"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                ></el-option>
              </el-select>
            </el-form-item>
                <el-form-item
                  style="display: flex"
                  label="证件号"
              label="证件号码"
                  prop="cusIdcard"
                  :rules="[
                    {
@@ -76,7 +115,7 @@
                    style="display: inline-block; border-bottom: 2px solid blue"
                    @click="handleQuery"
                  >
                    证件号
                证件号码
                  </span>
                  <el-input
                    v-model="form.cusIdcard"
@@ -89,120 +128,18 @@
                @click="handleQuery"
              ></i> -->
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="5">
                <el-form-item
                  label="民族"
                  prop="cusNational"
                  style="display: flex"
          </el-form>
          <el-form
            style="margin: 4px 8px"
            :inline="true"
            ref="form"
            :model="form"
            :rules="rules"
            label-width="84px"
                >
                  <el-select
                    filterable
                    v-model="form.cusNational"
                    placeholder="请选择民族"
                  >
                    <el-option
                      v-for="dict in dict.type.dict_user_national"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="性别" prop="cusSex" style="display: flex">
                  <el-select
                    v-model="form.cusSex"
                    placeholder="请选择性别"
                    @change="formchang"
                  >
                    <el-option
                      v-for="dict in dict.type.sys_user_sex"
                      :key="dict.value"
                      :label="dict.label"
                      :value="parseInt(dict.value)"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="5">
                <el-form-item label="年龄" prop="age" style="display: flex">
                  <el-input v-model="form.age" />
                </el-form-item>
              </el-col>
              <el-col :span="2">
                <el-form-item prop="ageUnit">
                  <el-select
                    v-model="form.ageUnit"
                    @change="formchang"
                    style="width: 80%"
                  >
                    <el-option
                      v-for="dict in dict.type.dict_ageunit"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
            </el-row>
            <!-- <input name="ReadBlockBtn" type="button" size="5px"  @click="readblock" value="读卡" /> -->
            <!-- <el-form-item label="出生日期" prop="cusBrithday">
              <el-date-picker style="width: 200px" clearable v-model="form.cusBrithday" type="date"
                value-format="yyyy-MM-dd" placeholder="请选择出生日期">
              </el-date-picker>
            </el-form-item> -->
            <el-row>
              <el-col :span="5">
                <el-form-item
                  label="婚姻"
                  prop="cusMarryStatus"
                  style="display: flex"
                >
                  <el-select
                    v-model="form.cusMarryStatus"
                    placeholder="请选择婚姻状况"
                  >
                    <el-option
                      v-for="dict in dict.type.dict_user_marry"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item
                  label="体检类别"
                  prop="category"
                  style="display: flex"
                >
                  <el-select
                    v-model="form.category"
                    placeholder="请选择体检类别"
                  >
                    <el-option
                      v-for="dict in dict.type.dict_tjtype"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                  <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> -->
                </el-form-item>
              </el-col>
              <el-col :span="7">
                <el-form-item
                  style="display: flex"
                  label="联系电话"
              label="电话"
                  prop="cusPhone"
                  :rules="[
                    {
@@ -218,37 +155,51 @@
                    },
                  ]"
                >
                  <el-input
                    v-model="form.cusPhone"
                    placeholder="请输入联系电话"
                  />
              <el-input v-model="form.cusPhone" placeholder="请输入电话" />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="5">
                <el-form-item
                  label="体检类型"
                  prop="tjType"
                  style="display: flex"
            <el-form-item label="邮箱" prop="cusEmail">
              <el-input v-model="form.cusEmail" placeholder="请输入邮箱" />
            </el-form-item>
            <el-form-item label="年龄" prop="age">
              <el-input
                v-model="form.age"
                :disabled="isDisabled"
                style="width: 30%"
              />
              <el-select
                :disabled="isDisabled"
                v-model="form.ageUnit"
                style="width: 20%"
                >
                  <el-select v-model="form.tjType" placeholder="请选择体检类型">
                    <el-option
                      v-for="dict in dict.type.dict_team"
                  v-for="dict in dict.type.dict_ageunit"
                      :key="dict.value"
                      :label="dict.label"
                      :value="parseInt(dict.value)"
                  :value="dict.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="职业" prop="career" style="display: flex">
          </el-form>
          <el-form
            style="margin: 4px 8px"
            :inline="true"
            ref="form"
            :model="form"
            :rules="rules"
            label-width="84px"
          >
            <el-form-item label="卡号" prop="indexCard">
              <el-input v-model="form.indexCard" placeholder="请输入卡号" />
            </el-form-item>
            <el-form-item label="职业" prop="career">
                  <el-select
                    filterable
                    :disabled="isDisabled"
                    v-model="form.career"
                    placeholder="请输入职业"
                style="width: 94%"
                  >
                    <el-option
                      v-for="dict in dict.type.dict_job"
@@ -258,84 +209,76 @@
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="7">
                <el-form-item
                  label="邮箱"
                  prop="cusEmail"
                  style="display: flex"
                >
                  <el-input v-model="form.cusEmail" placeholder="请输入邮箱" />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="5">
                <el-form-item
                  label="现住址"
                  prop="cusAddr"
                  style="display: flex"
                >
                  <el-input
                    v-model="form.cusAddr"
                    placeholder="请输入现居住地址"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item
                  label="工作单位"
                  prop="company"
                  style="display: flex"
                >
                  <el-input
                    v-model="form.company"
                    placeholder="请输入工作单位"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="7">
                <el-form-item label="卡号" prop="indexCard">
                  <el-input v-model="form.indexCard" placeholder="请输入卡号" />
                </el-form-item>
              </el-col>
            </el-row>
            <!-- <el-form-item label="户口地址" prop="cusAddr">
              <el-input v-model="form.cusAddr" placeholder="请输入户口地址" />
            </el-form-item> -->
            <!-- <el-form-item label="邮政编码" prop="cusPostcode">
              <el-input
                v-model="form.cusPostcode"
                placeholder="请输入邮政编码"
              />
            </el-form-item> -->
            <!-- <el-form-item label="索引卡号" prop="indexCard">
              <el-input v-model="form.indexCard" placeholder="请输入索引卡号" />
            </el-form-item> -->
            <el-row>
              <el-col :span="5">
                <el-form-item
                  label="部门"
                  prop="department"
                  style="display: flex"
            <el-form-item label="体检类型" prop="tjType">
              <el-select
                v-model="form.tjType"
                placeholder="请选择体检类型"
                style="width: 94%"
                >
                  <el-input
                    v-model="form.department"
                    placeholder="请输入部门"
                  />
                <el-option
                  v-for="dict in dict.type.dict_team"
                  :key="dict.value"
                  :label="dict.label"
                  :value="parseInt(dict.value)"
                ></el-option>
              </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item
                  label="时间"
                  prop="timeRegion"
                  style="display: flex"
          </el-form>
          <el-form
            style="margin: 4px 8px"
            :inline="true"
            ref="form"
            :model="form"
            :rules="rules"
            label-width="84px"
                >
            <el-form-item label="单位" prop="company">
              <el-input v-model="form.company" placeholder="请输入工作单位" />
            </el-form-item>
            <el-form-item label="部门" prop="department">
              <el-input v-model="form.department" placeholder="请输入部门" />
            </el-form-item>
            <el-form-item label="体检类别" prop="category">
              <el-select v-model="form.category" placeholder="请选择体检类别">
                <el-option
                  v-for="dict in dict.type.dict_tjtype"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                ></el-option>
              </el-select>
              <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> -->
            </el-form-item>
          </el-form>
          <el-form
            style="margin: 4px 8px"
            :inline="true"
            ref="form"
            :model="form"
            :rules="rules"
            label-width="84px"
          >
            <el-form-item label="现住地址" prop="cusAddr">
              <el-input v-model="form.cusAddr" placeholder="请输入现居住地址" />
            </el-form-item>
            <el-form-item label="预约日期" prop="reservationTime">
              <el-date-picker
                v-model="form.reservationTime"
                type="date"
                value-format="yyyy-MM-dd"
                placeholder="选择日期"
                :picker-options="setDisabled"
                style="width: 94%"
              >
              </el-date-picker>
            </el-form-item>
            <el-form-item label="预约时间" prop="timeRegion">
                  <el-select
                    v-model="form.timeRegion"
                    placeholder="请选择预约时间"
                style="width: 94%"
                  >
                    <el-option
                      v-for="dict in dict.type.tj_time_region"
@@ -345,20 +288,6 @@
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="7">
                <el-form-item label="预约日期" prop="reservationTime">
                  <el-date-picker
                    v-model="form.reservationTime"
                    type="date"
                    value-format="yyyy-MM-dd"
                    placeholder="选择日期"
                    :picker-options="setDisabled"
                  >
                  </el-date-picker>
                </el-form-item>
              </el-col>
            </el-row>
          </el-form>
        </div>
      </el-col>
@@ -531,14 +460,21 @@
              </el-col>
              <el-col :span="11">
                <div class="grid-content bg-purple">
                  <div style="text-align: center; margin-bottom: 10px;margin-top: 10px">
                  <div
                    style="
                      text-align: center;
                      margin-bottom: 10px;
                      margin-top: 10px;
                    "
                  >
                    已选项目列表
                  </div>
                  <el-table
                    :data="DataList"
                    border
                    style="width: 100%"
                    height="400"  :span-method="objectSpanMethod"
                    height="400"
                    :span-method="objectSpanMethod"
                  >
                    <el-table-column prop="propinName" label="检查项目">
                    </el-table-column>
@@ -572,7 +508,13 @@
                  <el-collapse v-model="activeName" accordion v-if="list1">
                    <div>
                      <el-collapse-item title="请选择项目">
                        <el-table :data="DataList" border style="width: 100%" height="400"  :span-method="objectSpanMethod">
                        <el-table
                          :data="DataList"
                          border
                          style="width: 100%"
                          height="400"
                          :span-method="objectSpanMethod"
                        >
                          <el-table-column
                            prop="proName"
                            label="项目"
@@ -1612,12 +1554,12 @@
    },
    handleClick(tab, event) {
      if (tab.label == "单项") {
        this.DataList =[]
        this.DataList = [];
        this.getDataList();
      }
    },
    getDataList() {
      this.loading = true
      this.loading = true;
      getProParentIdDxList().then((response) => {
        this.Treedata = response.data.list;
        if (this.tableData[0]) {
@@ -1742,7 +1684,7 @@
    },
     //  // 默认接受四个值 { 当前行的值, 当前列的值, 行的下标, 列的下标 }
     objectSpanMethod({ row, column, rowIndex, columnIndex }) {
      console.log(row, column, rowIndex, columnIndex)
      console.log(row, column, rowIndex, columnIndex);
      let fields = ["propinName"];
      let cellValue = row[column.property];
      if (cellValue && fields.includes(column.property)) {
@@ -1968,14 +1910,11 @@
  display: block;
}
.tab3 { 
  max-height: 400px;
  overflow-y: auto;
  border: 1px solid #d9d9d9;
}
.el-col-8 {
  width: 330px;
vue.config.js
@@ -53,7 +53,7 @@
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        //target: `https://ltpeis.xaltjdkj.cn:5501/prod-api/getInfo`,
        target: `http://192.168.1.113:5011`,
        target: `http://192.168.1.3:5011`,
        // // target: `http://192.168.0.99:8080/ltkj-admin`,
        // target: `https://ltpeis.xaltjdkj.cn:5011/ltkj-admin`,
        // target: `http://10.168.0.9:5011`,