lkk
2024-12-13 69602c60c6154611c4b6edb1a7fd783c362f2225
1111
4个文件已修改
487 ■■■■ 已修改文件
src/api/doctor/examination.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/examination/index.vue 291 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hosp/order/index.vue 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/biol/index.vue 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/doctor/examination.js
@@ -44,4 +44,22 @@
        method: 'get',
        params: {tjNUm:tjNUm,proId:proId}
    })
}
// 点击结果查询
export function resultList(tjNum,proId) {
    return request({
        url: '/check/chushenyemianchakanxiangmujieguo',
        method: 'get',
        params: {tjNum:tjNum,proId:proId}
    })
}
// 判断状态
export function typeOne(tjNum) {
    return request({
        url: '/check/panduaniscunzaiweijian',
        method: 'get',
        params: {tjNum:tjNum}
    })
}
src/views/doctor/examination/index.vue
@@ -27,6 +27,30 @@
          style="width: 110px"
        />
      </el-form-item>
      <el-form-item
        label="单位名称"
        prop="tjCompName"
        style="margin-left: 20px"
      >
        <el-select
          :remote-method="getRemoteData"
          v-model="queryParams.tjCompName"
          value-key="drugManufacturerId"
          style="width: 180px"
          remote
          filterable
          placeholder="请选择单位名称"
          clearable
          @change="searchSelect"
        >
          <el-option
            v-for="dict in CompanyList"
            :key="dict.drugManufacturerId"
            :label="dict.cnName"
            :value="dict"
          />
        </el-select>
      </el-form-item>
      <el-form-item label="登记时间" prop="createTimeList">
        <el-date-picker
          v-model="createTimeList"
@@ -149,45 +173,38 @@
            </template>
          </el-table-column>
          <!--   v-hasPermi="['reservation:reservation:edit']" -->
          <!-- <el-table-column label="操作" align="center" width="120px">
          <el-table-column label="操作" align="center" width="120px">
            <template slot-scope="scope">
              <el-button
                size="mini"
                type="text"
                @click="tongbu(scope.row)"
                v-show="
                  (xianshi == 'Y' || xianshi == 'y') &&
                  (scope.row.confirmStatus == '299' ||
                    scope.row.confirmStatus == 288)
                "
                disabled
                >同步</el-button
              >
              <!-- :disabled="dis" -->
              <el-button
                :disabled="dis"
                disabled
                size="mini"
                type="text"
                @click="tongguo(scope.row)"
                v-show="
                  (xianshi == 'Y' || xianshi == 'y') &&
                  (scope.row.confirmStatus == '299' ||
                    scope.row.confirmStatus == 288)
                "
                >通过</el-button
              >
              <el-button
                size="mini"
                type="text"
                v-show="
                  (xianshi == 'Y' || xianshi == 'y') &&
                  (scope.row.confirmStatus == '301' ||
                    scope.row.confirmStatus == 288)
                "
                disabled
                @click="bohui(scope.row)"
                >驳回</el-button
              >
            </template>
          </el-table-column> -->
            <!--    v-show="
                  (xianshi == 'Y' || xianshi == 'y') &&
                  (scope.row.confirmStatus == '301' ||
                    scope.row.confirmStatus == 288)
                " -->
          </el-table-column>
        </el-table>
      </div>
      <div style="width: 50%">
@@ -203,7 +220,7 @@
        >
          <!-- <el-table-column type="selection" width="40" align="center" /> -->
          <el-table-column
            label="部门"
            label="科室"
            align="center"
            prop="deptName"
            width="100"
@@ -224,9 +241,12 @@
            width="100"
          >
            <template slot-scope="scope">
              <span v-if="scope.row.type == '0'" style="color: red"
                >未完成</span
              <span
                v-if="scope.row.type == '0'"
                :style="type == 0 ? { color: 'red' } : { color: '#409EFF' }"
              >
                {{ type == 0 ? "未  检" : "在  检" }}
              </span>
              <span v-if="scope.row.type == '1'">已完成</span>
              <span v-if="scope.row.type == '2'">弃检</span>
              <span v-if="scope.row.type == '3'">延期</span>
@@ -288,6 +308,7 @@
              <el-button
                size="mini"
                type="text"
                :disabled="scope.row.type === 0"
                @click="queryResultone(scope.row)"
                >结果查询</el-button
              >
@@ -298,80 +319,58 @@
      </div>
    </div>
    <!-- <el-drawer title="我是标题" :visible.sync="drawer" :with-header="false">
      <div class="rightbox">
        <div class="right">
          <template>
            <div v-for="(item, index) in xiangmuList" :key="index">
              <div
                style="
                  text-align: center;
                  background-color: #fde2e2;
                  margin-top: 10px;
                "
              >
                {{ item.proName || "" }}
              </div>
              <el-table
                :stripe="true"
                :row-style="red"
                :data="item.sone"
                border
                style="width: 100%"
                :header-cell-style="{ background: 'Transparent' }"
              >
                <el-table-column type="expand">
                  <template slot-scope="props">
                    <div
                      v-if="props.row.advices && props.row.advices.length > 0"
                    >
                      <div
                        v-for="(jianyi, index1) in props.row.advices"
                        :key="index1"
                        style="padding: 0 10px; margin-bottom: 10px"
                      >
                        <div>标题:{{ jianyi.bt || "" }}</div>
                        <div>内容:{{ jianyi.nr || "" }}</div>
                      </div>
                    </div>
                  </template>
                </el-table-column>
    <el-drawer title="我是标题" :visible.sync="drawer" :with-header="false">
      <div class="a" v-for="(item, index) in jieguoList" :key="index">
        <template v-if="item.jyjc == 0">
          <div
            style="
              text-align: center;
              background-color: #aad8df;
              margin-top: 10px;
            "
          >
            {{ item.pro_name || "" }}
          </div>
          <el-table
            :data="jieguoList"
            border
            style="width: 100%"
            :header-cell-style="{ background: '#AAD8DF' }"
          >
            <el-table-column label="检测项目" prop="pro_name">
            </el-table-column>
            <el-table-column label="检测结果" prop="pro_result">
            </el-table-column>
            <el-table-column label="参考范围" prop="ckfw"> </el-table-column>
          </el-table>
        </template>
        <template v-if="item.jyjc == 1">
          <div
            style="
              text-align: center;
              background-color: #aad8df;
              margin-top: 10px;
            "
          >
            {{ item.pro_name || "" }}
          </div>
                <el-table-column align="center" label="检测项目" width="335">
                  <template slot-scope="scope">
                    <div>{{ scope.row.proName }}</div>
                  </template>
                </el-table-column>
                <el-table-column
                  align="center"
                  prop="proResult"
                  label="检测结果"
                  width="85"
                >
                </el-table-column>
          <div style="padding: 0 10px; margin-bottom: 10px; margin-top: 10px">
            <div>检查所见:{{ item.pro_result }}</div>
                <el-table-column
                  align="center"
                  prop="stanId"
                  label=" 参考范围"
                  width="117"
                >
                </el-table-column>
                <el-table-column
                  align="center"
                  prop="proAdvice"
                  label="单位"
                  width="78"
                >
                </el-table-column>
              </el-table>
            <div style="margin-top: 10px">
              检查结论:{{ item.yxzd || "暂无结论" }}
            </div>
          </template>
        </div>
          </div>
          <!-- <el-table-column label="检测项目" prop="pro_name">
            </el-table-column>
            <el-table-column label="检测结果" prop="pro_result">
            </el-table-column> -->
          <!-- <el-table-column label="参考范围" prop="ckfw"> </el-table-column> -->
        </template>
      </div>
    </el-drawer> -->
    </el-drawer>
    <div class="pag">
      <div class="pag1">
@@ -384,7 +383,7 @@
          :pager-count="5"
          :page.sync="queryParams.page"
          :limit.sync="queryParams.pageSize"
          @pagination="getList"
          @pagination="submitForm"
        />
      </div>
    </div>
@@ -399,7 +398,10 @@
  cSWebGetPro,
  dataSynchronization,
  qijian,
  resultList,
  typeOne,
} from "@/api/doctor/examination";
import { getCompany, queryCompany } from "@/api/team/tuanti";
import { getNewDateList } from "@/api/hosp/order";
import moment from "moment";
@@ -407,6 +409,7 @@
  dicts: ["dict_tj_status"],
  data() {
    return {
      jieguoList: [],
      dis: false,
      createTimeList: "",
      currentRow: null,
@@ -414,6 +417,9 @@
      loading: true,
      selectedTjNumber: "",
      drawer: false,
      type: null,
      CompanyList: [],
      CheckBox: {},
      // 查询参数
      queryParams: {
        page: 1,
@@ -424,6 +430,7 @@
        name: null,
        beginTime: null,
        endTime: null,
        tjCompName:''
      },
      // 绑定单选按钮
      checkStatus: "0",
@@ -537,9 +544,16 @@
    dateChangebirthday1(val) {
      this.startTime = val;
    },
    // 选框数据
    searchSelect(val) {
      this.CheckBox = val;
      console.log(this.CheckBox,9999);
    },
    getList() {
      this.loading = true;
      this.queryParams.checkStatus = this.checkStatus;
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
      if (this.createTimeList) {
        this.queryParams.beginTime = this.createTimeList[0];
        this.queryParams.endTime = this.createTimeList[1];
@@ -547,6 +561,14 @@
        this.queryParams.beginTime = null;
        this.queryParams.endTime = null;
      }
      // 获取单位信息集合
      getCompany(this.queryParam).then((response) => {
        this.CompanyList = response.data;
        console.log( this.CompanyList,555);
        this.loading = false;
      });
      getCsList(this.queryParams).then((res) => {
        if (res.code == 200) {
@@ -568,6 +590,15 @@
          }
        }
      });
    },
    // 体检公司拼音搜索
    getRemoteData(query) {
      if (query) {
        let compName = query;
        queryCompany(compName).then((response) => {
          this.CompanyList = response.data;
        });
      }
    },
    // 单选按钮
    radioChange(value) {
@@ -594,8 +625,45 @@
      // console.log(this.queryParams.tjNumber);
      if (this.queryParams.tjNumber != null) {
        this.handleQuery();
        this.submitForm();
      }
    },
    submitForm() {
      this.loading = true;
      this.queryParams.checkStatus = this.checkStatus;
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
      if (this.createTimeList) {
        this.queryParams.beginTime = this.createTimeList[0];
        this.queryParams.endTime = this.createTimeList[1];
      } else if (this.createTimeList == null) {
        this.queryParams.beginTime = null;
        this.queryParams.endTime = null;
      }
      // 页面数据
      getCsList(this.queryParams).then((res) => {
        if (res.code == 200) {
          this.loading = false;
          if (res.data) {
            this.exaList = res.data.customers;
            this.total = res.data.total;
            if (this.exaList.length != 0) {
              this.$nextTick(() => {
                this.$refs.tb.toggleRowSelection(this.exaList[0], true);
              });
            } else {
              this.$refs.tb.clearSelection();
            }
            this.total = res.data.total;
          } else {
            this.exaList = [];
            this.tableList = [];
          }
        }
      });
    },
    /** 搜索按钮操作 */
    handleQuery() {
      this.queryParams.page = 1;
@@ -604,9 +672,22 @@
    /** 重置按钮操作 */
    resetQuery() {
      this.createTimeList = [];
      this.resetForm("queryForm");
      this.queryParams ={
        page: 1,
        pageSize: 20,
        checkStatus: null,
        tjNumber: null,
        compId: null,
        name: null,
        beginTime: null,
        endTime: null,
        tjCompName:''
      },
      this.CheckBox.drugManufacturerId = ''
      this.handleQuery();
      this.loading = true;
    },
    // 单选框选中数据
    handleSelectionChange(selection) {
@@ -619,9 +700,11 @@
      this.multipleSelection = selection[selection.length - 1]
        ? [selection[selection.length - 1]]
        : [];
      this.multipleSelection.forEach((element) => {
        this.tjnum = element.tjNumber;
        let tjNumber = this.tjnum;
        cSWebGetPro(tjNumber).then((res) => {
          this.xiangmuList = res.data;
          this.xiangmuList.forEach((item) => {
@@ -647,6 +730,11 @@
      let tjNumber = val.tjNumber;
      this.selectedTjNumber = val.tjNumber;
      console.log(this.currentRow, 4455);
      typeOne(tjNumber).then((res) => {
        this.type = res.data;
        console.log(res, 3322);
      });
      cSWebGetPro(tjNumber).then((res) => {
        this.xiangmuList = res.data;
@@ -701,15 +789,18 @@
    },
    chaxun() {},
    handleRowClick(row, column, event) {
      console.log(row); //
      console.log(row);
    },
    queryResultone(row) {
      // 将当前行的数据存储到 currentRow
      // this.currentRow = row;
      // console.log(this.currentRow, 999555);
      // 打开抽屉
      this.drawer = true;
      const tjNum = this.selectedTjNumber;
      const proId = row.proId;
      resultList(tjNum, proId).then((res) => {
        console.log(res, 666);
        this.jieguoList = res.data;
      });
    },
    setTime() {
      //设置定时器
@@ -785,4 +876,8 @@
.pag1 {
  width: 30%;
}
.a ::v-deep .el-table__cell {
  padding: 1px 0 !important;
}
</style>
src/views/hosp/order/index.vue
@@ -13,7 +13,7 @@
          ref="inputName"
          v-model="queryParams.name"
          placeholder="请输入姓名"
          style="width: 120px"
          style="width: 200px"
          clearable
          @keyup.enter.native="handleQuery"
        />
@@ -23,7 +23,7 @@
          ref="inputName"
          v-model="queryParams.tjNum"
          placeholder="请输入体检号"
          style="width: 170px"
          style="width: 200px"
          clearable
          @keyup.enter.native="handleQuery"
          @blur="hb"
@@ -34,10 +34,35 @@
          ref="inputName"
          v-model="queryParams.xmmc"
          placeholder="请输入体检项目"
          style="width: 120px"
          style="width: 300px"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item
        label="单位名称"
        prop="tjCompName"
        style="margin-left: 20px"
      >
        <el-select
          :remote-method="getRemoteData"
          v-model="queryParams.tjCompName"
          value-key="drugManufacturerId"
          style="width: 300px"
          remote
          filterable
          placeholder="请选择单位名称"
          clearable
          @change="searchSelect"
        >
          <el-option
            v-for="dict in CompanyList"
            :key="dict.drugManufacturerId"
            :label="dict.cnName"
            :value="dict"
          />
        </el-select>
      </el-form-item>
      <el-form-item label="登记时间" prop="createTimeList">
        <el-date-picker
@@ -268,6 +293,18 @@
          :show-overflow-tooltip="true"
          width="160px"
        />
        <el-table-column
          label="单位名称"
          align="center"
          prop="dictCompName"
          :show-overflow-tooltip="true"
        />
        <el-table-column
          label="状态"
          align="center"
          prop="type"
          :show-overflow-tooltip="true"
        />
        <!-- <el-table-column label="流水号" align="center" prop="tjSerialNumber" /> -->
        <el-table-column
          label="所选套餐"
@@ -329,19 +366,14 @@
        </el-table-column>
        <!-- <el-table-column label="创建人" align="center" prop="createBy" /> -->
        <!-- <el-table-column label="更新人" align="center" prop="updateBy" /> -->
        <el-table-column
       <!--  <el-table-column
          label="单位工号"
          align="center"
          prop="firmWorkId"
          width="100px"
          :show-overflow-tooltip="true"
        />
        <el-table-column
          label="单位名称"
          align="center"
          prop="dictCompName"
          :show-overflow-tooltip="true"
        />
        /> -->
        <!-- <el-table-column label="部门名" align="center" prop="firmDeptName" /> -->
        <!-- <el-table-column label="客户照片" align="center" prop="photo" /> -->
@@ -1446,6 +1478,12 @@
  getProParentIdDxList,
  getProSonDxList,
} from "@/api/system/tijian";
import {
  SubmitCompany,
  getCompany,
  queryCompany,
  addbatch,
} from "@/api/team/tuanti";
import { createLogger } from "vuex";
export default {
  components: {
@@ -1462,6 +1500,7 @@
      DataLists: [],
      infoList: [],
      bldhs: [],
      CompanyList: [],
      filterage: "",
      activeName1: "second",
      filterText: "",
@@ -1519,6 +1558,7 @@
      TotalPrice7: 0,
      numberList: [],
      dialogVisible: false,
      CheckBox: {},
      // 遮罩层
      loading: true,
      // 选中数组
@@ -1617,6 +1657,24 @@
    });
  },
  methods: {
    // 搜索
    getRemoteData(query) {
      if (query) {
        let compName = query;
        queryCompany(compName).then((response) => {
          this.CompanyList = response.data;
          this.CompanyList.forEach((item) => {
            this.queryParams = item;
          });
        });
      }
    },
    // 选框数据
    searchSelect(val) {
      this.CheckBox = val;
      console.log(this.CheckBox,9999);
    },
    onPayTypeChange() {
      if (this.payType === "6" && this.form.tjType !== 3) {
        this.cannotSelectPayType = true;
@@ -1685,6 +1743,7 @@
    },
    /** 查询体检记录列表 */
    getList() {
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
      if (this.startTime) {
        this.queryParams.djbeginTime = this.startTime[0];
        this.queryParams.djendTime = this.startTime[1];
@@ -1712,6 +1771,13 @@
          });
        }
        this.total = response.data.total;
        this.loading = false;
      });
       // 获取单位信息集合
       getCompany(this.queryParams).then((response) => {
        this.CompanyList = response.data;
        console.log( this.CompanyList,555);
        this.loading = false;
      });
    },
@@ -2739,4 +2805,5 @@
  display: flex;
  flex-direction: column;
}
</style>
src/views/system/biol/index.vue
@@ -8,6 +8,22 @@
      v-show="showSearch"
      label-width="68px"
    >
      <el-form-item label="打印" prop="dyzt">
        <el-select
          v-model="queryParams.dyzt"
          placeholder="请选择"
          @change="handleQuery"
          style="width: 100px;"
        >
          <el-option
            v-for="item in optionsOne"
            :key="item.value"
            :label="item.label"
            :value="item.value"
          >
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="姓名" prop="name">
        <el-input
          v-model="queryParams.name"
@@ -26,6 +42,30 @@
          ref="inputName"
          @blur="hb"
        />
      </el-form-item>
      <el-form-item
        label="单位名称"
        prop="tjCompName"
        style="margin-left: 20px"
      >
        <el-select
          :remote-method="getRemoteData"
          v-model="queryParams.tjCompName"
          value-key="drugManufacturerId"
          style="width: 180px"
          remote
          filterable
          placeholder="请选择单位名称"
          clearable
          @change="searchSelect"
        >
          <el-option
            v-for="dict in CompanyList"
            :key="dict.drugManufacturerId"
            :label="dict.cnName"
            :value="dict"
          />
        </el-select>
      </el-form-item>
      <el-form-item label="登记时间" prop="createTimeList">
        <el-date-picker
@@ -121,7 +161,7 @@
    <template>
      <el-table
        border
        style="margin: 14px; width: 99%"
        style="margin: 14px; width: 77%"
        v-loading="loading"
        :default-sort="{ prop: 'reportTime', order: 'descending' }"
        :data="orderList"
@@ -183,9 +223,15 @@
          :show-overflow-tooltip="true"
        >
          <template slot-scope="scope">
            <dict-tag
              :options="dict.type.dict_team"
              :value="scope.row.tjType"
            />
          </template>
          <!-- <template slot-scope="scope">
            <span v-if="scope.row.tjType == '1'">团队</span>
            <span v-if="scope.row.tjType == '2'">个人</span>
          </template>
          </template> -->
        </el-table-column>
        <el-table-column
          label="体检号"
@@ -236,6 +282,7 @@
            <span>{{ parseTime(scope.row.reportTime) }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="打印时间"
          align="center"
@@ -248,13 +295,13 @@
            <span>{{ parseTime(scope.row.printLastTime) }}</span>
          </template>
        </el-table-column>
        <el-table-column
        <!-- <el-table-column
          label="备注"
          align="center"
          prop="remark"
          height="10px"
          :show-overflow-tooltip="true"
        />
        /> -->
        <!-- <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width" height="10px"
          width="60px">
@@ -483,7 +530,6 @@
</template>
<script>
import print from "print-js";
import { getInfo } from "@/api/login";
import { isPdfOrJimu } from "@/api/doctor/checkAll";
import {
@@ -506,6 +552,7 @@
} from "@/api/team/tuanti";
import { chownSync } from "fs";
export default {
  dicts: ["dict_team"],
  components: {
    ViewPdf,
  },
@@ -541,6 +588,16 @@
      report: "",
      gation: {},
      drawer: false,
      optionsOne: [
        {
          value: "1",
          label: "已打印",
        },
        {
          value: "0",
          label: "未打印",
        },
      ],
      options: [
        {
          value: "选项1",
@@ -578,6 +635,7 @@
      discount: 100,
      DataList: [],
      DataList1: [],
      CheckBox: {},
      // 打印失败
      failList: [],
      // 打印成功
@@ -632,6 +690,9 @@
        djendTime: undefined,
        name: undefined,
        tjNum: undefined,
        dyzt: "0",
        compId: null,
        tjCompName:''
      },
      startTime: "",
      // 表单参数
@@ -1018,6 +1079,12 @@
        });
      });
    },
    // 选框数据
    searchSelect(val) {
      this.CheckBox = val;
      console.log(this.CheckBox,9999);
    },
    // onSubmit() {
    //   console.log("submit!");
@@ -1027,6 +1094,10 @@
    },
    /** 查询体检记录列表 */
    getList() {
      console.log(this.CheckBox);
      // this.queryParams.checkStatus = this.checkStatus;
      this.queryParams.compId = this.CheckBox.drugManufacturerId;
      if (this.createTimeList) {
        this.queryParams.djbeginTime = this.createTimeList[0];
        this.queryParams.djendTime = this.createTimeList[1];
@@ -1039,8 +1110,16 @@
      getInfo().then((response) => {
        this.userIds = response.user.userId;
      });
      // 获取单位信息集合
      getCompany(this.queryParams).then((response) => {
        this.CompanyList = response.data;
        console.log( this.CompanyList,555);
        this.loading = false;
      });
      getOrderListOO(this.queryParams).then((response) => {
        this.orderList = response.data.list;
        // if (this.orderList) {
        //   this.orderList.forEach((item, index) => {
        //     item.newID =