qinxianzhangyao
2024-06-11 e19defd15577e70c8e55593d7fe44bab1cbe1a66
qxtj
2个文件已修改
4个文件已添加
1467 ■■■■■ 已修改文件
src/components/Prescription/index.vue 562 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Pricedictionary/index.vue 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/dictionary/index.vue 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/checkAll/index.vue 77 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/doctor/geriatric/index.vue 572 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/package/index.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Prescription/index.vue
New file
@@ -0,0 +1,562 @@
<template>
  <div>
    <el-drawer :title="title" :visible.sync="open" size="80%" append-to-body>
      <div style="font-size: 14px">
        <table
          style="
            width: 96%;
            margin: 0px 10px;
            border: 1px solid #dfe6ec;
            border-collapse: collapse;
          "
          cellspacing="4"
        >
          <caption style="background-color: #f8f8f9; font-size: 18px">
            {{
              fList.cusName
            }}的体检资料
          </caption>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              姓名:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ fList.cusName }}
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              年龄:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ fList.age }}岁
            </td>
          </tr>
          <tr style="border: 1px solid #dfe6ec; border-collapse: collapse">
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              体检单号:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ fList.tjNumber }}
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              体检时间:
            </td>
            <td style="border: 1px solid #dfe6ec; border-collapse: collapse">
              {{ fList.tjTime }}
            </td>
          </tr>
        </table>
      </div>
      <div style="padding: 10px 10px;width: 96%;">
        <el-row :gutter="5">
          <el-col :span="4" v-show="activities.length >=1">
            <el-timeline style="padding: 0px 10px">
              <el-timeline-item
                v-for="(activity, index) in activities"
                :key="index"
              >
                <el-card>
                  <h4>{{ activity.timestamp }}</h4>
                  <p @click="lookmingxi(activity)">{{ activity.content }}</p>
                </el-card>
              </el-timeline-item>
            </el-timeline>
          </el-col>
          <el-col :span="20">
            <el-tabs type="border-card">
              <el-tab-pane label="西药处方">
                <el-row :gutter="10" class="mb8" style="margin-left: 5px">
                  <el-col :span="1.5" >
                    <div style="display: flex">
                      <div>取药药房:</div>
                      <div style="border-bottom: 1px solid black">
                        门诊西药房
                      </div>
                    </div>
                  </el-col>
                  <el-col :span="1.5" style="margin-left: 10px">
                    <el-button type="primary" @click="handledrug" size="mini"
                    :disabled="time">新增药品</el-button
                    >
                  </el-col>
                  <el-col :span="1.5">
                    <el-button type="primary" size="mini" @click="deledrug"
                    :disabled="time" >删除药品</el-button
                    >
                  </el-col>
                  <el-col :span="1.5">
                    <el-button type="primary" size="mini" @click="Resetdrug"
                      >重置</el-button
                    >
                  </el-col>
                </el-row>
                <el-table
                  :data="dataList"
                  ref="elTable"
                  v-loading="loading"
                  @selection-change="handledrugChange"
                  border
                  height="320px"
                >
                  <el-table-column type="selection" width="40" align="center" />
                  <el-table-column
                    label="序号"
                    width="60"
                    prop="id"
                    align="center"
                  />
                  <el-table-column
                    label="药品名称"
                    align="center"
                    prop="pacName"
                  >
                    <template #default="scope">
                      <el-input
                        v-if="scope.row.isEdit"
                        v-model="scope.row.pacName"
                        placeholder="请输入"
                        @focus="changeblur"
                      ></el-input>
                      <div v-else class="txt">{{ scope.row.pacName }}</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="规格"
                    align="center"
                    prop="pacName"
                    width="100px"
                  />
                  <el-table-column
                    label="剂量"
                    align="center"
                    prop="detail"
                    width="100px"
                  />
                  <el-table-column
                    label="单位"
                    align="center"
                    prop="pacRemark"
                  />
                  <el-table-column label="给药方式" align="center" prop="price">
                    <template #default="scope">
                      <el-input
                        v-if="scope.row.isEdit"
                        v-model="scope.row.price"
                        placeholder="请输入"
                        @focus="changefocus"
                      ></el-input>
                      <div v-else class="txt">{{ scope.row.price }}</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="给药频率"
                    align="center"
                    prop="pacRemark"
                  >
                    <template #default="scope">
                      <el-input
                        v-if="scope.row.isEdit"
                        v-model="scope.row.pacRemark"
                        placeholder="请输入"
                        @focus="changefocus"
                      ></el-input>
                      <div v-else class="txt">{{ scope.row.pacRemark }}</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="天数"
                    align="center"
                    prop="pacRemark"
                  />
                  <el-table-column
                    label="数量"
                    align="center"
                    prop="pacRemark"
                  />
                  <el-table-column
                    label="库存"
                    align="center"
                    prop="pacRemark"
                  />
                  <el-table-column
                    label="单位"
                    align="center"
                    prop="pacRemark"
                  />
                  <el-table-column
                    label="单价"
                    align="center"
                    prop="pacRemark"
                  />
                  <!-- <el-table-column label="皮试" align="center" prop="pacRemark" />
              <el-table-column
                label="皮试结果"
                align="center"
                prop="pacRemark"
              />
              <el-table-column label="自备" align="center" prop="pacRemark" /> -->
                </el-table>
                <el-form
                  style="margin-top: 10px"
                  :model="queryParams"
                  size="small"
                  :inline="true"
                  label-width="68px"
                >
                  <el-form-item label="金额" prop="question">
                    <el-input
                      v-model="queryParams.question"
                      placeholder="请输入金额"
                      clearable
                    />
                  </el-form-item>
                  <el-form-item label="药品种类" prop="Typesofdrugs">
                    <el-input
                      v-model="queryParams.Typesofdrugs"
                      placeholder="请输入药品种类"
                      clearable
                    />
                  </el-form-item>
                  <el-form-item>
                    <el-button
                      type="primary"
                      size="mini"
                      @click="handlecomplete"
                      >新增处方</el-button
                    >
                  </el-form-item>
                </el-form>
              </el-tab-pane>
              <el-tab-pane label="中草药">
                <el-row :gutter="10" class="mb8" style="margin-left: 5px">
                  <el-col :span="1.5">
                    <div style="display: flex">
                      <div>取药药房:</div>
                      <div style="border-bottom: 1px solid black">
                        门诊中药房
                      </div>
                    </div>
                  </el-col>
                  <el-col :span="1.5" style="margin-left: 10px">
                    <el-button type="primary" @click="handlemeddrug" size="mini"
                      :disabled="time">新增药品</el-button
                    >
                  </el-col>
                  <el-col :span="1.5">
                    <el-button type="primary" size="mini" @click="delemeddrug"
                    :disabled="time" >删除药品</el-button
                    >
                  </el-col>
                  <el-col :span="1.5">
                    <el-button type="primary" size="mini" @click="Resetdrug"
                      >重置</el-button
                    >
                  </el-col>
                </el-row>
                <el-table
                  :data="list"
                  ref="elTable"
                  v-loading="loading"
                  @selection-change="handleSelectionChange"
                  border
                  height="320px"
                >
                  <el-table-column type="selection" width="40" align="center" />
                  <el-table-column
                    label="序号"
                    width="60"
                    prop="id"
                    align="center"
                  />
                  <el-table-column
                    label="药品名称"
                    align="center"
                    prop="pacName"
                  >
                    <template #default="scope">
                      <el-input
                        v-if="scope.row.isEdit"
                        v-model="scope.row.pacName"
                        placeholder="请输入"
                        @focus="changeblur"
                      ></el-input>
                      <div v-else class="txt">{{ scope.row.pacName }}</div>
                    </template>
                  </el-table-column>
                  <el-table-column
                    label="剂量"
                    align="center"
                    prop="pacName"
                    width="100px"
                  />
                  <el-table-column
                    label="单位"
                    align="center"
                    prop="detail"
                    width="100px"
                  />
                  <el-table-column
                    label="单价"
                    align="center"
                    prop="pacRemark"
                  />
                  <el-table-column label="库存" align="center" prop="price" />
                </el-table>
                <el-form
                  style="margin-top: 10px"
                  :model="form"
                  size="small"
                  :inline="true"
                  label-width="68px"
                >
                  <el-form-item label="金额" prop="question">
                    <el-input
                      v-model="form.question"
                      placeholder="请输入金额"
                      clearable
                    />
                  </el-form-item>
                  <el-form-item label="药品种类" prop="Typesofdrugs">
                    <el-input
                      v-model="form.Typesofdrugs"
                      placeholder="请输入药品种类"
                      clearable
                    />
                  </el-form-item>
                  <el-form-item label="剂数" prop="question">
                    <el-input
                      v-model="form.question"
                      placeholder="请输入剂数"
                      clearable
                    />
                  </el-form-item>
                  <el-form-item label="煎药方式" prop="question">
                    <el-input
                      v-model="form.question"
                      placeholder="请输入煎药方式"
                      clearable
                    />
                  </el-form-item>
                  <el-form-item label="代煎剂数" prop="question">
                    <el-input
                      v-model="form.question"
                      placeholder="请输入代煎剂数"
                      clearable
                    />
                  </el-form-item>
                  <el-form-item>
                    <el-button
                      type="primary"
                      size="mini"
                      @click="handlecomplete1"
                      >新增处方</el-button
                    >
                  </el-form-item>
                </el-form>
              </el-tab-pane>
            </el-tabs>
          </el-col>
        </el-row>
      </div>
      <Pricedictionary ref="dict" />
      <Dictionary ref="ar" />
      <!-- <span slot="footer" class="dialog-footer">
        <el-button @click="open = false">取 消</el-button>
        <el-button type="primary" @click="handleOk">确 定</el-button>
      </span> -->
    </el-drawer>
  </div>
</template>
<script>
import Pricedictionary from "../Pricedictionary";
import Dictionary from "../dictionary";
import {
  Packagestlist,
  newGetTjPat,
  getTjYxjcList,
} from "@/api/system/package";
import { getConfigKey } from "@/api/system/config";
export default {
  name: "Prescription",
  components: {
    Pricedictionary,
    Dictionary,
  },
  props: {
    preObj: {
      type: Object,
    },
  },
  data() {
    return {
      open: false,
      openone: 0,
      // 弹出层标题
      title: "",
      time:true,
      dataList: [],
      selectionList: [],
      // 遮罩层
      loading: false,
      form: {
        Typesofdrugs: 0,
      },
      reverse: false,
      activities: [
        {
          content: "活动按期开始",
          timestamp: "2018-04-15",
        },
        {
          content: "通过审核",
          timestamp: "2018-04-13",
        },
        {
          content: "创建成功",
          timestamp: "2018-04-11",
        },
      ],
      queryParams: {
        pacCode: "",
        pacName: "",
        pacRemark: "",
        Typesofdrugs: 0,
      },
      list: [],
      medList: [],
      fList: {},
    };
  },
  watch: {
    preObj(val, newVla) {
      this.fList = val;
    },
  },
  mounted() {},
  created() {},
  methods: {
    handledrug() {
      if (!this.dataList) {
        this.dataList = [];
        this.dataList.push({
          id: parseInt(length + 1),
          pacName: "",
          pacRemark: "",
          detail: "",
          price: "",
          isEdit: true,
          Selection,
        });
      } else {
        this.dataList.push({
          id: parseInt(this.dataList.length + 1),
          pacName: "",
          pacRemark: "",
          detail: "",
          price: "",
          isEdit: true,
          Selection,
        });
      }
      this.queryParams.Typesofdrugs = this.dataList.length;
    },
    handledrugChange(selection) {
      this.selectionList = selection;
    },
    deledrug() {
      if (this.selectionList.length == 0) {
        this.$modal.msgSuccess("请选择需要删除的数据");
      } else {
        this.selectionList.forEach((item) => {
          this.dataList.forEach((item1, index) => {
            if (item == item1) {
              this.dataList.splice(index, 1);
            }
          });
        });
      }
      this.queryParams.Typesofdrugs = this.dataList.length;
    },
    handlemeddrug() {
      if (!this.list) {
        this.list = [];
        this.list.push({
          id: parseInt(this.list.length + 1),
          pacName: "",
          pacRemark: "",
          detail: "",
          price: "",
          isEdit: true,
          Selection,
        });
      } else {
        this.list.push({
          id: parseInt(this.list.length + 1),
          pacName: "",
          pacRemark: "",
          detail: "",
          price: "",
          isEdit: true,
          Selection,
        });
      }
      this.form.Typesofdrugs = this.list.length;
    },
    delemeddrug() {
      console.log(this.medList);
      if (this.medList.length == 0) {
        this.$modal.msgSuccess("请选择需要删除的数据");
      } else {
        this.medList.forEach((item) => {
          this.list.forEach((item1, index) => {
            if (item == item1) {
              this.list.splice(index, 1);
            }
          });
        });
      }
      this.form.Typesofdrugs = this.list.length;
    },
    lookmingxi(val) {
      console.log(val, 11111);
    },
    getList() {},
    handleQuery() {},
    handleSelectionChange(selection) {
      this.medList = selection;
      //   if (selection.length > 1) {
      //     this.$refs.elTable.clearSelection(); // 清空所有选择
      //     this.$refs.elTable.toggleRowSelection(selection.pop()); // 设置选择项
      //   }
    },
    changeblur() {
      this.$refs.dict.open = true;
    },
    Resetdrug(){
      this.medList=[],
      this.dataList=[]
      this.time = false
    },
    changefocus() {
      this.$refs.ar.open = true;
    },
    handleOk() {
      this.open = false;
    },
    handlecomplete() {
      this.open = false;
    },
    handlecomplete1() {
      this.open = false;
    },
  },
};
</script>
<style scoped></style>
src/components/Pricedictionary/index.vue
New file
@@ -0,0 +1,116 @@
<template>
    <div>
        <el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
                <el-form-item label="拼音码" prop="pacCode">
                    <el-input v-model="queryParams.pacCode" placeholder="请输入拼音码" clearable
                        @keyup.enter.native="handleQuery" style="width: 120px;" />
                </el-form-item>
                <el-form-item label="名称" prop="pacName">
                    <el-input v-model="queryParams.pacName" placeholder="请输入名称" clearable
                        @keyup.enter.native="handleQuery" style="width: 130px;" />
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
                </el-form-item>
            </el-form>
            <el-table :data="dataList" ref="elTable" v-loading="loading" @selection-change="handleSelectionChange" border
                height="320px">
                <el-table-column type="selection" width="40" align="center" />
                <el-table-column label="拼音码" align="center" prop="detail" width="100px" />
                <el-table-column label="名称" align="center" prop="pacName" width="100px" />
                <el-table-column label="规格" align="center" prop="pacRemark" />
                <el-table-column label="价格" align="center" prop="price" />
                <el-table-column label="库存" align="center" prop="pacRemark" />
                <el-table-column label="医保类别" align="center" prop="pacRemark" />
                <el-table-column label="农合类别" align="center" prop="pacRemark" />
                <el-table-column label="社保类别" align="center" prop="pacRemark" />
            </el-table>
            <span slot="footer" class="dialog-footer">
                <el-button @click="open = false">取 消</el-button>
                <el-button type="primary" @click="handleOk">确 定</el-button>
            </span>
        </el-dialog>
    </div>
</template>
<script>
import {
  getTjHyBgList,
} from "@/api/hosp/project";
export default {
    name: 'Pricedictionary',
    props: {
        // row: {
        //     type: Object,
        // }
    },
    data() {
        return {
            open: false,
            openone:false,
            // 弹出层标题
            title: "",
            dataList: [],
            // 遮罩层
            loading: false,
            form: {
                desc: ""
            },
            queryParams: {
                pacCode: "",
                pacName: "",
                pacRemark: "",
            },
            list: [],
            fList: {}
        };
    },
    watch: {
        // 'row'(val, newVla) {
        //     console.log(val,newVla)
        //     this.fList = val
        //     console.log(this.fList);
        // }
    },
    mounted() {
    },
    created() {
    },
    methods: {
        getAllList(){
        },
        getList() {
        },
        handleQuery() {
        },
        handleSelectionChange(selection) {
            if (selection.length > 1) {
                this.$refs.elTable.clearSelection(); // 清空所有选择
                this.$refs.elTable.toggleRowSelection(selection.pop()); // 设置选择项
            }
            this.list = selection;
            console.log(this.list)
        },
        handleOk() {
            this.open = false
            if (this.list.length == 1) {
                this.$emit('add',this.list);
            }
        }
    }
}
</script>
<style scoped></style>
src/components/dictionary/index.vue
New file
@@ -0,0 +1,108 @@
<template>
    <div>
        <el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
                <el-form-item label="名称" prop="pacName">
                    <el-input v-model="queryParams.pacName" placeholder="请输入名称" clearable
                        @keyup.enter.native="handleQuery" style="width: 130px;" />
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
                </el-form-item>
            </el-form>
            <el-table :data="dataList" ref="elTable" v-loading="loading" @selection-change="handleSelectionChange" border
                height="320px">
                <el-table-column type="selection" width="40" align="center" />
                <el-table-column label="序号" align="center" prop="pacRemark" />
                <el-table-column label="编码" align="center" prop="pacRemark" />
                <el-table-column label="名称" align="center" prop="pacName" width="100px" />
                <el-table-column label="拼音码" align="center" prop="price" />
            </el-table>
            <span slot="footer" class="dialog-footer">
                <el-button @click="open = false">取 消</el-button>
                <el-button type="primary" @click="handleOk">确 定</el-button>
            </span>
        </el-dialog>
    </div>
</template>
<script>
import {
  getTjHyBgList,
} from "@/api/hosp/project";
export default {
    name: 'Pricedictionary',
    props: {
        // row: {
        //     type: Object,
        // }
    },
    data() {
        return {
            open: false,
            openone:false,
            // 弹出层标题
            title: "",
            dataList: [],
            // 遮罩层
            loading: false,
            form: {
                desc: ""
            },
            queryParams: {
                pacCode: "",
                pacName: "",
                pacRemark: "",
            },
            list: [],
            fList: {}
        };
    },
    watch: {
        // 'row'(val, newVla) {
        //     console.log(val,newVla)
        //     this.fList = val
        //     console.log(this.fList);
        // }
    },
    mounted() {
    },
    created() {
    },
    methods: {
        getAllList(){
        },
        getList() {
        },
        handleQuery() {
        },
        handleSelectionChange(selection) {
            if (selection.length > 1) {
                this.$refs.elTable.clearSelection(); // 清空所有选择
                this.$refs.elTable.toggleRowSelection(selection.pop()); // 设置选择项
            }
            this.list = selection;
            console.log(this.list)
        },
        handleOk() {
            this.open = false
            if (this.list.length == 1) {
                this.$emit('add',this.list);
            }
        }
    }
}
</script>
<style scoped></style>
src/views/doctor/checkAll/index.vue
@@ -67,8 +67,12 @@
          />
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" size="mini" @click="submitForm" style="margin-right:15px;"
      <el-form-item>
        <el-button
          type="primary"
          size="mini"
          @click="submitForm"
          style="margin-right: 15px"
          >搜索</el-button
        >
        <el-button size="mini" @click="resetQuery">重置</el-button>
@@ -182,17 +186,25 @@
          <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>
            <el-button
              fixed="right"
              title="详情"
              type="text"
              size="mini"
              @click="handleClick(scope.row)"
              @click.stop="handleClick(scope.row)"
              icon="el-icon-document-copy"
            ></el-button>
            <!-- <el-button type="text" size="mini" @click="generate(scope.row)" v-if="scope.row.tjStatus=='1'">生成</el-button> -->
            <el-button
              type="text"
              size="mini"
              @click="viewReport(scope.row)"
              @click.stop="viewReport(scope.row)"
              v-if="scope.row.tjStatus == '1'"
              title="预览"
              icon="el-icon-view"
@@ -202,7 +214,7 @@
              size="mini"
              v-if="scope.row.tjStatus == '1'"
              title="撤销"
              @click="getRevoke(scope.row)"
              @click.stop="getRevoke(scope.row)"
              icon="el-icon-refresh-left"
            ></el-button>
          </template>
@@ -575,13 +587,22 @@
                </el-input>
              </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footers" v-if="tjproject == '0'">
            <div slot="footer" class="dialog-footers" >
              <el-button
                type="primary"
                @click="determine"
                :disabled="isdisabled"
                >提交并生成报告</el-button
                size="mini"
                @click.stop="rowClick"
                icon="el-icon-edit-outline"
                >开处方</el-button
              >
              <div v-if="tjproject == '0'" style="padding-left:10px ;">
                <el-button
                  type="primary"
                  @click="determine"
                  :disabled="isdisabled"
                  >提交并生成报告</el-button
                >
              </div>
            </div>
          </div>
        </el-col>
@@ -1047,6 +1068,7 @@
      </span>
    </el-dialog>
    <Packages ref="bbb" :baogao="baogao" />
    <Prescription ref="Pre" :preObj="preObj" />
    <proposal ref="proposal" :cusobj="cusobj" @event1="eventchange($event)" />
    <createproposal ref="createproposal" :creatobj="creatobj" />
@@ -1064,6 +1086,7 @@
<script>
import jianqianwenzhen from "@/components/jianqianwenzhen";
import Packages from "@/components/Packages";
import Prescription from "@/components/Prescription";
import proposal from "@/components/proposal";
import createproposal from "@/components/createproposal";
import {
@@ -1098,6 +1121,7 @@
    Packages,
    proposal,
    createproposal,
    Prescription,
  },
  dicts: [
    "dict_tjtype",
@@ -1113,6 +1137,7 @@
  name: "checkAll",
  data() {
    return {
      preObj: {},
      baogao: [],
      flags: false,
      jianqianwenzhendata: [],
@@ -1123,7 +1148,7 @@
      hosproy: true,
      remarks: "",
      remark: "",
      creatobj:{},
      creatobj: {},
      propdialog: false,
      proIds: "",
      cusobj: {},
@@ -1469,6 +1494,16 @@
      });
    },
    rowClick(row) {
      if(row.tjNumber){
        this.preObj = row;
      }else{
        this.preObj = this.tableAll;
      }
      this.$refs.Pre.open = true;
      this.$refs.Pre.title = "处方";
    },
    // 单选按钮
    radioChange(value) {
      this.loading = true;
@@ -1490,10 +1525,10 @@
      // this.$refs.proposal.getList();
    },
    eventchange(data) {
      this.dataText = data
      console.log(this.textarea1 )
      if(this.textarea1 == null ){
        this.textarea1 = ""
      this.dataText = data;
      console.log(this.textarea1);
      if (this.textarea1 == null) {
        this.textarea1 = "";
      }
      data.forEach((item) => {
        this.textarea1 += item.advice;
@@ -1501,14 +1536,14 @@
    },
    proposalChange() {
      if (this.textarea1) {
        this.creatobj = {proParentList:this.textarea1, isZj: 0}
        this.creatobj = { proParentList: this.textarea1, isZj: 0 };
        this.$refs.createproposal.open = true;
        this.$refs.createproposal.title = "常用建议维护";
      }else{
      } else {
        this.$message({
              type: "warning ",
              message: "请先填写总检建议",
            });
          type: "warning ",
          message: "请先填写总检建议",
        });
      }
    },
    radiotjprojectChange() {
@@ -1641,6 +1676,7 @@
    // 点击详情
    handleClick(row) {
      this.$refs.Pre.open = false;
      this.tableAll = row;
      this.tjproject = "0";
      // if (this.tableAll.cusSex === 0) {
@@ -1946,7 +1982,8 @@
.dialog-footers {
  /* margin-top: 5px; */
  margin-left: calc(100% - 15%);
  display: flex;
  margin-left: calc(100% - 25%);
}
textarea {
src/views/doctor/geriatric/index.vue
New file
@@ -0,0 +1,572 @@
<template>
  <div>
    <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: 116px"
          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: 240px"
          placeholder="请输入体检号"
          clearable
          @blur="hb"
          @keyup.enter.native="submitForm"
        ></el-input>
      </el-form-item>
      <el-form-item>
        <el-button
          size="mini"
          type="primary"
          @click="submitForm"
          style="margin-right: 15px"
          >搜索</el-button
        >
        <el-button size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <div style="display: flex">
      <el-radio-group
        v-model="tjStatus"
        @input="radioChange"
        style="margin-left: 30px"
      >
        <el-radio-button label="0">未检</el-radio-button>
        <el-radio-button label="1">已检</el-radio-button>
      </el-radio-group>
    </div>
    <template>
      <el-table
        :data="tableList"
        v-loading="loading"
        ref="table"
        height="536px"
        style="margin: 20px; width: 98%"
        border
        :cell-class-name="myclass"
      >
        <!-- <template slot="empty">数据正在加载中</template> -->
        <el-table-column
          label="体检号"
          align="center"
          prop="tjNumber"
          width="160px"
        />
        <el-table-column
          label="姓名"
          align="center"
          prop="cusName"
          width="90px"
        />
        <el-table-column label="性别" align="center" prop="cusSex" width="60px">
          <template slot-scope="scope">
            <span v-if="scope.row.cusSex == '0'">男</span>
            <span v-if="scope.row.cusSex == '1'">女</span>
            <span v-if="scope.row.cusSex == '2'">未知</span>
            <span v-if="scope.row.cusSex == '9'">未说明性别</span>
          </template>
        </el-table-column>
        <el-table-column
          label="出生日期"
          align="center"
          prop="cusBrithday"
          width="100px"
        />
        <el-table-column
          label="电话"
          align="center"
          prop="cusPhone"
          width="100px"
        />
        <el-table-column
          label="体检类型"
          align="center"
          prop="tjType"
          width="80px"
        />
        <el-table-column
          label="登记时间"
          align="center"
          prop="tjTime"
          width="160px"
        >
        </el-table-column>
        <el-table-column
          label="体检时间"
          align="center"
          prop="tjTime"
          width="100px"
        >
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.tjTime, "{y}-{m}-{d}") }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="未检项"
          prop="notCheckeds"
          :show-overflow-tooltip="true"
        />
        <el-table-column label="操作" align="center" width="130px">
          <template slot-scope="scope">
            <el-button
              type="primary"
              icon="el-icon-first-aid-kit"
              size="mini"
              @click="Changeapplyfor(scope.row)"
              title="会诊申请"
              v-if="tjStatus == '1'"
            ></el-button>
            <el-button
              type="primary"
              icon="el-icon-share"
              size="mini"
              @click="handleClick(scope.row)"
              title="详情"
            ></el-button>
          </template>
        </el-table-column>
      </el-table>
      <div class="pag">
        <div class="pag1">
          <pagination
            v-show="total > 0"
            :total="total"
            :page.sync="queryParams.page"
            :limit.sync="queryParams.pageSize"
            @pagination="getList"
          />
        </div>
      </div>
    </template>
    <!-- 点击右边弹出层 -->
    <el-drawer
      :visible.sync="drawer"
      :with-header="false"
      size="70%"
      :before-close="handleClose"
    >
      <el-card class="box-card" style="margin: 15px 15px"   v-for="(item, index) in illnes"
          :key="index">
        <div slot="header" class="clearfix">
          <span>{{item.title}}</span>
        </div>
        <el-card
          class="box-card"
          style="margin: 15px 15px"
          v-for="(item1, index) in item.illness"
          :key="index"
        >
          <div style="padding: 10px 0">{{ item1.title }}</div>
          <el-checkbox-group
            v-model="checkedCities"
            @change="handleCheckedCitiesChange"
          >
            <el-checkbox
              v-for="city in item1.cities"
              :label="city"
              :key="city"
              >{{ city }}</el-checkbox
            >
          </el-checkbox-group>
        </el-card>
      </el-card>
    </el-drawer>
  </div>
</template>
<script>
import { getInfo } from "@/api/login";
import { getProList } from "@/api/doctor/check";
import { listHzlog } from "@/api/hosp/hzlog";
import { listUser } from "@/api/system/user";
import { getChildList } from "@/api/system/dept";
export default {
  dicts: ["sys_user_sex", "sys_yes_no", "tj_result_type", "lj_positive"],
  name: "check",
  data() {
    return {
      // 遮罩层
      loading: false,
      open: false,
      title: "",
      hzlogList: [],
      id: [],
      // 总条数
      total: 0,
      // 绑定单选按钮
      tjStatus: "0",
      // 抽屉打开方式
      drawer: false,
      tableList: [],
      deptList: [],
      tableAll: {},
      row: {},
      info: {},
      allList: [],
      autorule: [],
      vals: {},
      illnes: [
        {
          title: "公卫体检",
          illness: [
            {
              title: "症状",
              cities: [
                "头疼",
                "头晕",
                "便秘",
                "耳鸣",
                "心悸",
                "胸闷",
                "呼吸困难",
                "关节肿痛",
                "听不清或无法听清",
                "慢性咳嗽",
              ],
            },
            {
              title: "疾病史",
              cities: [
                "高血压",
                "糖尿病",
                "脑出血",
                "白内障",
                "恶心肿瘤",
                "慢性支气管炎",
                "老年性骨关节病",
                "心肌梗死",
                "心绞痛",
                "慢性阻塞性肺气肿",
              ],
            },
            {
              title: "生活方式",
              cities: [
                "头疼",
                "头晕",
                "便秘",
                "耳鸣",
                "心悸",
                "胸闷",
                "呼吸困难",
                "关节肿痛",
                "听不清或无法听清",
                "慢性咳嗽",
              ],
            },
          ],
        },
        {
          title:"体格检查"
        },
        {
          title:"辅助检查"
        },
        {
          title:"健康指导"
        },
      ],
      checkedCities: ["头疼", "头晕"],
      form: {
        createTime: new Date(),
      },
      // 医生
      doctorName: "",
      // 父项
      proName: "",
      // 父项Id
      proId: "",
      company: "",
      tjStandardGtValue: "",
      // 用户表格数据
      userList: null,
      // 父项目列表
      Parent: [],
      hzReplyLogsList: [],
      hasdeptList: [],
      radio: "",
      nums: "",
      proParentList: [],
      tjNumber: "",
      // 全部小结
      DeptadviceAll: [],
      project: {},
      // 小结
      summaryList: [],
      summaryAll: [],
      tjOrderDetailList: [],
      tjOrderDetail: [],
      deptId: "",
      userId: "",
      nickName: "",
      doctorNames: "",
      date: new Date(new Date().getTime() + 8 * 3600 * 1000)
        .toJSON()
        .substr(0, 19)
        .replace("T", " "),
      // 查询参数
      queryParams: {
        page: 1,
        pageSize: 10,
        tjNumber: "",
        type: "",
        name: null,
      },
      queryParam: {
        page: 1,
        pageSize: 1000,
      },
      rules: {
        hzType: [
          { required: true, message: "会诊科室为必填项", trigger: "change" },
        ],
      },
    };
  },
  created() {
    this.getList();
    this.getListUser();
  },
  mounted() {
    let _this = this;
    this.timer = setInterval(() => {
      _this.date = new Date(new Date().getTime() + 8 * 3600 * 1000)
        .toJSON()
        .substr(0, 19)
        .replace("T", " ");
    }, 1000);
    this.$nextTick(() => {
      this.$refs.inputName.focus();
    });
  },
  beforeDestroy() {
    if (this.timer) {
      clearInterval(this.timer);
    }
  },
  methods: {
    /** 查询用户列表 */
    getListUser() {
      listUser().then((response) => {
        this.userList = response.rows;
        this.userList.forEach((element) => {
          const userName = this.$store.state.user.name;
          if (userName == element.userName) {
            this.doctorName = element.nickName;
          }
        });
      });
      getInfo().then((response) => {
        this.info = response.user;
        this.deptId = response.user.deptId;
        this.userId = response.user.userId;
        this.nickName = response.user.nickName;
      });
    },
    // 搜索
    submitForm() {
      this.queryParams.page = 1;
      this.loading = true;
      this.queryParams.type = this.tjStatus;
      getProList(this.queryParams).then((response) => {
        if (response.code == 200) {
          this.loading = false;
          if (response.data) {
            if (response.data.date) {
              this.tableList = response.data.date;
              this.queryParams.tjNumber = "";
            } else {
              this.tableList = response.data.customers;
              this.queryParams.tjNumber = "";
            }
            this.total = response.data.total;
          } else {
            this.tableList = [];
          }
        }
      });
    },
    handleClose() {
      this.$tab.refreshPage();
    },
    myclass(row, column, rowIndex, columnIndex) {
      if (row.row.isPositive == 1) {
        return "setclass";
      }
    },
    getList() {
      this.loading = true;
      this.queryParams.type = this.tjStatus;
      getProList(this.queryParams).then((response) => {
        if (response.code == 200) {
          this.loading = false;
          if (response.data) {
            if (response.data.date) {
              this.tableList = response.data.date;
            } else {
              this.tableList = response.data.customers;
            }
            this.total = response.data.total;
          } else {
            this.tableList = [];
          }
        }
      });
    },
    // 单选按钮
    radioChange(val) {
      this.queryParams.type = val;
      this.loading = true;
      getProList(this.queryParams).then((response) => {
        if (response.code == 200) {
          this.loading = false;
          if (response.data) {
            this.tableList = response.data.date;
            this.total = response.data.total;
          } else {
            this.tableList = [];
          }
        }
      });
    },
    hb() {
      if (this.queryParams.tjNumber != "") {
        this.submitForm();
      }
    },
    // 重置
    resetQuery() {
      this.resetForm("tableList");
      this.submitForm();
      this.$nextTick(() => {
        this.$refs.inputName.focus();
      });
    },
    Changeapplyfor(row) {
      this.open = true;
      this.form = row;
      this.form.hzDoctorId = this.info.userId;
      getChildList().then((res) => {
        this.deptList = res.data;
      });
      this.Hzlog(this.form.tjNumber);
    },
    Hzlog(val) {
      let data = {
        tjNumber: val,
      };
      listHzlog(data).then((response) => {
        this.hzlogList = response.rows;
        this.hzlogList.forEach((item) => {
          item.hzDeptName = "";
          if (item.hzType == "0") {
            item.hzDeptName = "全院会诊";
          } else {
            item.hzDeptIdList.forEach((item1) => {
              this.deptList.forEach((item2) => {
                if (item1 == item2.deptId) {
                  item.hzDeptName += item2.deptName + ",";
                }
              });
            });
          }
        });
      });
    },
    // 点击详情
    handleClick(row) {
      this.drawer = true;
    },
    handleCheckedCitiesChange() {
    },
  },
};
</script>
<style>
.el-table .cell {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-all;
  line-height: 23px;
  padding-left: 10px;
  padding-right: 10px;
}
.setclass {
  background-color: #f86b35;
  color: black;
}
.blue-button {
  width: 10px;
  background-color: #e2e3e4;
}
.el-button--medium {
  padding: 4px 14px;
  font-size: 14px;
}
.dialog-footers {
  margin-top: 10px;
  margin-left: calc(100% - 10%);
}
.main {
  height: 700px;
  overflow: hidden;
}
.pag {
  width: 100%;
  display: flex;
  justify-content: center;
}
.pag1 {
  width: 30%;
}
.el-message {
  top: 40px !important;
  border: 1px solid #c1c1c1;
  background-color: #c1c1c1;
}
.el-message * {
  color: var(--white) !important;
}
</style>
src/views/system/package/index.vue
@@ -640,7 +640,6 @@
  components: { Packages },
  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("");
@@ -696,6 +695,7 @@
      newproName: [],
      // 所有体检项目·
      allList: [],
      treeList: [],
      // 所有套餐数据
      // allpackage:[],
      // 弹出层标题
@@ -794,7 +794,6 @@
      });
    },
    sel(val) {
      console.log(val);
      let id = val;
      this.keys = "";
      id.forEach((item) => {
@@ -808,9 +807,7 @@
        this.categoryList = response.rows;
      });
    },
    shangpin(vals) {
      console.log(vals);
    },
    shangpin(vals) {},
    // 取消按钮
    cancel() {
      this.open = false;
@@ -928,7 +925,7 @@
      // });
      getPacInFo(this.forms.pacId).then((response) => {
        this.form = response.data;
        this.form.keywords=this.form.keywords.slice(0, -1);
        this.form.keywords = this.form.keywords.slice(0, -1);
        this.form.keywords = this.form.keywords.split(",");
        this.DataList = [];
        this.checkedkey = [];
@@ -942,7 +939,7 @@
      this.open = true;
      getPacInFo(row.pacId).then((response) => {
        this.form = response.data;
        this.form.keywords=this.form.keywords.slice(0, -1);
        this.form.keywords = this.form.keywords.slice(0, -1);
        this.form.keywords = this.form.keywords.split(",");
        this.DataList = [];
        this.checkedkey = [];
@@ -1031,7 +1028,6 @@
    },
    //  // 默认接受四个值 { 当前行的值, 当前列的值, 行的下标, 列的下标 }
    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
      // console.log(row, column, rowIndex, columnIndex);
      let fields = ["propinName"];
      let cellValue = row[column.property];
      if (cellValue && fields.includes(column.property)) {
@@ -1100,7 +1096,6 @@
      });
    },
    handleCurrentChecked(data, checked, checkedNodes) {
      console.log(data, checked);
      this.dataObj = data;
      this.checkedObj = checked;
      if (checked == true) {
@@ -1136,7 +1131,6 @@
            item.disabled = true;
          });
          this.checkedListkey = [];
          console.log(this.TreedataList.length);
          this.DataList.forEach((item, index) => {
            if (item.proParentId == this.dataObj.proId) {
              this.DataList.splice(index, this.TreedataList.length);
@@ -1207,7 +1201,16 @@
      if (this.form.pacName) {
        this.form.tjProjectList = [];
        if (this.DataList.length != 0) {
          this.DataList.forEach((item) => {
          this.treeList = JSON.parse(JSON.stringify(this.DataList));
          for (var i = 0; i < this.treeList.length; i++) {
            for (var j = i + 1; j < this.treeList.length; j++) {
              if (this.treeList[i].proParentId == this.treeList[j].proParentId) {
                this.treeList.splice(j, 1);
                j--;
              }
            }
          }
           this.treeList.forEach((item) => {
            this.form.tjProjectList.push({
              // id: 0,
              proName: item.propinName,
@@ -1226,12 +1229,12 @@
              // } else {
              //   this.form.pacStatus = 1;
              // }
              if(this.keys){
              if (this.keys) {
                this.form.keywords = this.keys;
              }else{
              } else {
                this.form.keywords = this.form.keywords.toString();
              }
              updatePackage(this.form).then((response) => {
                this.$modal.msgSuccess("修改成功");
                this.open = false;
@@ -1244,7 +1247,6 @@
              // } else {
              //   this.form.pacStatus = 1;
              // }
              // console.log(this.form.tjProjectList);
              // return;
              addPackage(this.form).then((response) => {
                this.$modal.msgSuccess("新增成功");