lkk
8 天以前 8ad8f75a339aa3486f88887b6a98f9e70302c2d2
src/views/doctor/checkAll/index.vue
@@ -6,7 +6,6 @@
      :inline="true"
      label-width="76px"
      style="margin-top: 10px"
      v-if="tjStatus == 1"
    >
      <el-form-item label="姓名" prop="name">
        <el-input
@@ -28,7 +27,29 @@
          @blur="hb"
        ></el-input>
      </el-form-item>
      <el-form-item label="体检类别">
        <el-select
          style="width: 200px"
          v-model="queryParams.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-item label="套餐名称" prop="tcm">
        <el-input
          v-model="queryParams.tcm"
          style="width: 120px"
          placeholder="请输入套餐名称"
          clearable
          @keyup.enter.native="submitForm"
        ></el-input>
      </el-form-item>
      <el-form-item
        label="单位名称"
        prop="tjCompName"
@@ -53,16 +74,7 @@
          />
        </el-select>
      </el-form-item>
      <el-form-item label="审核医师" prop="shys">
        <el-input
          ref="inputName"
          v-model="queryParams.shys"
          style="width: 180px"
          placeholder="请输入审核医师"
          clearable
          @keyup.enter.native="submitForm"
        ></el-input>
      </el-form-item>
      <el-form-item>
        <el-button
          type="primary"
@@ -90,6 +102,18 @@
        >
      </el-form-item>
      <el-row v-show="isCollapsed == 1" :gutter="20">
        <el-col :span="4">
          <el-form-item label="审核医师" prop="shys">
            <el-input
              ref="inputName"
              v-model="queryParams.shys"
              style="width: 120px"
              placeholder="请输入审核医师"
              clearable
              @keyup.enter.native="submitForm"
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="8">
          <el-form-item label="体检时间" prop="tjTime">
            <el-date-picker
@@ -111,85 +135,33 @@
      </el-row>
    </el-form>
    <el-form
      :model="queryParams"
      ref="tableList"
      :inline="true"
      label-width="76px"
      style="margin-top: 10px"
      v-else
    >
    <!-- <el-form :model="queryParams" ref="tableList" :inline="true" label-width="76px" style="margin-top: 10px" >
      <el-form-item label="姓名" prop="name">
        <el-input
          v-model="queryParams.name"
          style="width: 120px"
          placeholder="请输入姓名"
          clearable
          @keyup.enter.native="submitForm"
        ></el-input>
        <el-input v-model="queryParams.name" style="width: 120px" placeholder="请输入姓名" clearable
          @keyup.enter.native="submitForm"></el-input>
      </el-form-item>
      <el-form-item label="体检号" prop="tjNumber">
        <el-input
          ref="inputName"
          v-model="queryParams.tjNumber"
          style="width: 180px"
          placeholder="请输入体检号"
          clearable
          @keyup.enter.native="submitForm"
          @blur="hb"
        ></el-input>
        <el-input ref="inputName" v-model="queryParams.tjNumber" style="width: 180px" placeholder="请输入体检号" clearable
          @keyup.enter.native="submitForm" @blur="hb"></el-input>
      </el-form-item>
      <el-form-item label="体检时间" prop="tjTime">
        <el-date-picker
          v-model="startTime"
          type="datetimerange"
          align="right"
          :picker-options="pickerOptions"
          style="width: 310px"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          :default-time="['00:00:00', '23:00:00']"
          format="yyyy-MM-dd HH:mm"
          value-format="yyyy-MM-dd HH:mm"
          @change="dateChangebirthday1"
        >
        <el-date-picker v-model="startTime" type="datetimerange" align="right" :picker-options="pickerOptions"
          style="width: 310px" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:00:00']"
          format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1">
        </el-date-picker>
      </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-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>
        <el-button
          type="primary"
          size="mini"
          @click="submitForm"
          style="margin-right: 15px"
          >搜索</el-button
        >
        <el-button type="primary" size="mini" @click="submitForm" style="margin-right: 15px">搜索</el-button>
        <el-button size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    </el-form> -->
    <el-radio-group
      v-model="tjStatus"
@@ -319,36 +291,33 @@
          <template slot-scope="scope">
            <el-button
              fixed="right"
              title="处方"
              type="text"
              size="mini"
              @click.stop="rowClick(scope.row)"
              icon="el-icon-edit-outline"
            ></el-button>
              v-if="msgkcf == 'y' || msgkcf == 'Y'"
              >处方</el-button
            >
            <el-button
              fixed="right"
              title="详情"
              type="text"
              size="mini"
              @click.stop="handleClick(scope.row)"
              icon="el-icon-document-copy"
            ></el-button>
              >详情</el-button
            >
            <el-button
              type="text"
              size="mini"
              @click.stop="viewReport(scope.row)"
              v-if="scope.row.tjStatus == '1'"
              title="预览"
              icon="el-icon-view"
            ></el-button>
              >预览</el-button
            >
            <el-button
              type="text"
              size="mini"
              v-if="scope.row.tjStatus == '1'"
              title="撤销"
              @click.stop="getRevoke(scope.row)"
              icon="el-icon-refresh-left"
            ></el-button>
              >撤销</el-button
            >
          </template>
        </el-table-column>
      </el-table>
@@ -405,10 +374,7 @@
              "
            >
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
                姓名:
              </td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
                {{ tableAll.cusName }}
                姓名:{{ tableAll.cusName }}
              </td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
                性别:
@@ -423,6 +389,9 @@
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
                年龄:{{ tableAll.age }}
              </td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
                体检号:{{ tableAll.tjNumber }}
              </td>
            </tr>
            <tr
              style="
@@ -432,16 +401,16 @@
              "
            >
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
                体检单号:
                单位名称:{{ tableAll.tjCompName }}
              </td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
                {{ tableAll.tjNumber }}
                体检类型:{{ tableAll.tjCategory }}
              </td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
                体检时间:
                套餐:{{ tableAll.pacName }}
              </td>
              <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
                {{ tableAll.tjTime }}
                体检时间:{{ tableAll.tjTime }}
              </td>
            </tr>
          </table>
@@ -763,8 +732,7 @@
                    type="textarea"
                    placeholder="请输入内容"
                    v-model="textarea1"
                    :rows="3"
                    style="width: 96%"
                    :autosize="{ minRows: minRows, maxRows: maxRows }"
                  ></el-input>
                </el-form-item>
              </el-form>
@@ -809,10 +777,9 @@
                      border
                      style="width: 100%"
                      :header-cell-style="{ background: '#67C23A' }"
                      :row-key="getRowKeys"
                    >
                    <!--  :expand-row-keys="expends" -->
                      <!--  :expand-row-keys="expends" -->
                      <el-table-column type="expand">
                        <template slot-scope="props">
                          <div style="padding: 10px">
@@ -941,7 +908,7 @@
                      :header-cell-style="{ background: '#67C23A' }"
                      :row-key="getRowKeys"
                    >
                    <!--   :expand-row-keys="expends" -->
                      <!--   :expand-row-keys="expends" -->
                      <el-table-column type="expand">
                        <template slot-scope="props">
                          <div style="padding: 10px">
@@ -1090,8 +1057,8 @@
                      width="120"
                    >
                      <template slot-scope="scope">
                        <span v-if="scope.row.type == '0'">未审核</span>
                        <span v-if="scope.row.type == '1'">已审核</span>
                        <span v-if="scope.row.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>
                      </template>
@@ -1100,16 +1067,31 @@
                      label="检查时间"
                      align="center"
                      prop="bcupdateTime"
                      :formatter="formatDate"
                      width="160"
                    />
                    <el-table-column label="操作" align="center" width="130px">
                    <el-table-column
                      label="操作"
                      align="center"
                      fixed="right"
                      width="80px"
                    >
                      <template slot-scope="scope">
                        <el-button
                          type="primary"
                          size="mini"
                          @click="huifu"
                          @click="huifu(scope.row)"
                          v-if="scope.row.type == '2'"
                          :disabled="tjStatus === '1'"
                          >恢复</el-button
                        >
                        <el-button
                          type="primary"
                          size="mini"
                          @click="chexiao(scope.row)"
                          v-if="scope.row.type == '1'"
                          :disabled="tjStatus === '1'"
                          >撤销</el-button
                        >
                      </template>
                    </el-table-column>
@@ -1164,11 +1146,11 @@
                    style="width: 100%"
                    border
                  >
                    <el-table-column
                    <!-- <el-table-column
                      type="selection"
                      width="40"
                      align="center"
                    />
                    /> -->
                    <el-table-column label="序号" align="center" prop="newID" />
                    <el-table-column
                      label="名称"
@@ -1899,7 +1881,12 @@
    </el-dialog>
    <Packages ref="bbb" :baogao="baogao" />
    <Prescription ref="Pre" :preObj="preObj" />
    <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" />
    <proposal
      ref="proposal"
      :cusobj="cusobj"
      :mrjy="mrjy"
      @event1="eventchange($event)"
    />
    <createproposal ref="createproposal" :creatobj="creatobj" />
    <el-dialog
      title="常用建议维护"
@@ -1911,6 +1898,7 @@
</template>
<script>
import _ from "lodash";
import { getConfigKey } from "@/api/system/config";
import jianqianwenzhen from "@/components/jianqianwenzhen";
import Packages from "@/components/Packages";
import Prescription from "@/components/Prescription";
@@ -1934,6 +1922,7 @@
  UpdFcPro,
  huiFuyichangxiangmu,
  hfbt,
  chexiao,
} from "@/api/doctor/checkAll";
import { getInfoById } from "@/api/hosp/history";
import { getInfo } from "@/api/login";
@@ -1978,6 +1967,8 @@
      zhiyeJg: "未发现目标性疾病", // 初始化体检结果为默认值
      selectedAdvice: null,
      activeAdviceIndex: 0,
      minRows: 3,
      maxRows: null,
      advicerulesList: [],
      xmChange: [],
      ychfList: [],
@@ -2124,11 +2115,14 @@
        name: null,
        checkStatus: null,
        shys: null,
        tcm: null,
        tjCategory: null,
      },
      formobj: {},
      yichangList: [],
      fcList: [],
      statusList: [],
      mrjy: "",
      queryParam: {
        pageNum: 1,
        pageSize: 10,
@@ -2170,6 +2164,12 @@
      this.$refs.inputName.focus();
      this.viewportHeight =
        window.innerHeight || document.documentElement.clientHeight;
    });
    getConfigKey("zjysjymrhs").then((res) => {
      const val = parseInt(res.msg); // 确保是数字
      if (!isNaN(val)) {
        this.maxRows = val;
      }
    });
  },
@@ -2289,6 +2289,12 @@
        this.cancelAdviceDialog();
        done();
      }
    },
    formatDate(row) {
      if (!row.qdcreateTime) return "";
      const date = moment(row.qdcreateTime, "YYYY-MM-DD");
      return date.isValid() ? date.format("YYYY-MM-DD") : "无效日期";
    },
    handleAdviceBlur(row, index) {
@@ -2630,7 +2636,7 @@
          this.status1 = 4;
          this.ychfList = res.data;
          if (this.ychfList.length == 0) {
            this.message.success("暂无异常恢复项目");
            this.$message.success("暂无异常恢复项目");
          }
        })
        .catch((error) => {
@@ -2928,8 +2934,14 @@
    propoChange() {
      this.cusobj = { sex: this.tableAll.cusSex, isZj: 0 };
      this.$refs.proposal.open = true;
      this.$refs.proposal.title = "建议方案";
      getConfigKey("mrzscyjy").then((res) => {
        this.mrjy = res.msg; // 会触发 watch → 设置 tjproposal = "1"
        // console.log(res, 4444);
        // 等数据状态准备好后再打开弹窗
        this.$refs.proposal.title = "建议方案";
        this.$refs.proposal.open = true;
      });
    },
    eventchange(data) {
@@ -3054,6 +3066,7 @@
      this.startTime = [];
      this.resetForm("tableList");
      this.submitForm();
      this.queryParams.tjCategory = null;
    },
    huifu(row) {
@@ -3061,6 +3074,17 @@
      const proId = row.proId;
      huifu(tjNUm, proId).then((res) => {
        if (res.code == 200) {
          this.$message.success("恢复成功");
          this.xiangmuqingkuang();
        }
      });
    },
    chexiao(row) {
      const tjNUm = this.tjNumber;
      const proId = row.proId;
      chexiao(tjNUm, proId).then((res) => {
        if (res.code == 200) {
          this.$message.success("撤销成功");
          this.xiangmuqingkuang();
        }
      });
@@ -3108,6 +3132,18 @@
      this.qingkong();
      this.$refs.Pre.open = false;
      this.tableAll = row;
      let dict = "dict_tjtype"
      getDicts(dict).then(res => {
         if (res.code == 200) {
            res.data.forEach((item) => {
              if (this.tableAll.tjCategory == item.dictValue) {
                this.tableAll.tjCategory = item.dictLabel;
              }
            });
          } else {
            throw new Error('获取体检类型字典失败');
          }
      })
      this.tjproject = "0";
      this.tjNumber = this.tableAll.tjNumber;
@@ -3270,6 +3306,7 @@
      let tjNumber = this.tableAll.tjNumber;
      let tjh = this.tableAll.tjNumber;
      let advice = this.textarea1;
      this.isLoading = true;
      let data = {
        tjNumber,
        advice,
@@ -3297,9 +3334,8 @@
        .then((response) => {
          if (response.code === 200) {
            // this.$modal.msgSuccess("提交成功");
             this.$modal.msgSuccess(
                        response.msg
                     );
            this.$modal.msgSuccess(response.msg);
            this.isLoading = false;
            // 清空字段
            this.zhiyeJl = "";
            this.zhiyeJg = "";
@@ -3314,7 +3350,6 @@
            addOrder(dataList)
              .then((res) => {
                if (res.code == 200) {
                  // gettoPdf(tjNumber)
                  //   .then((res) => {
                  //     this.$modal.msgSuccess(