su
su1124
2024-02-02 eca89cf0e2e74823fc68cb4e4bb237a1618ca912
src/views/hosp/project/index.vue
@@ -113,13 +113,7 @@
          :data="projectList"
          ref="tableRef"
          border
          row-key="proId"
          :expand-row-keys="ListId"
          :row-class-name="selectSingleRow"
          :tree-props="{
            children: 'tjProjectList',
            hasChildren: 'tjProjectList.length>0',
          }"
        >
          <!-- :show-overflow-tooltip="true"  -->
          <el-table-column
@@ -159,6 +153,20 @@
          />
          <!-- <el-table-column label="检查方式" align="center" prop="proCheckMethod" :show-overflow-tooltip="true"
            width="110px" /> -->
          <el-table-column
            label="参与小结"
            align="center"
            prop="needReport"
            :show-overflow-tooltip="true"
            width="110px"
          >
            <template slot-scope="scope">
              <dict-tag
                :options="dict.type.sys_yes_no"
                :value="scope.row.needReport"
              />
            </template>
          </el-table-column>
          <el-table-column
            label="是否空腹"
            align="center"
@@ -314,11 +322,25 @@
        <el-form-item label="临床意义" prop="proMeaning">
          <el-input v-model="form.proMeaning" placeholder="请输入临床意义" />
        </el-form-item>
        <el-form-item label="参与小结" prop="needReport">
          <el-select
            v-model="form.needReport"
            placeholder="请选择是否参与小结"
            style="width: 200px"
          >
            <el-option
              v-for="dict in dict.type.sys_yes_no"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="是否空腹" prop="proCheckMethod">
          <el-select
            v-model="form.proCheckMethod"
            placeholder="请选择是否空腹"
            style="width: 200px"
            style="width: 260px"
          >
            <el-option
              v-for="dict in dict.type.sys_yes_no"
@@ -338,7 +360,7 @@
          <el-select
            v-model="form.proSex"
            placeholder="请选择体检人性别"
            style="width: 260px"
            style="width: 200px"
          >
            <el-option
              v-for="dict in dict.type.sys_user_sex"
@@ -358,7 +380,7 @@
            placeholder="请选择科室名称"
            @change="changeValue"
            filterable
            style="width: 205px"
            style="width: 260px"
          >
            <el-option
              v-for="dict in parentNameList"
@@ -372,7 +394,7 @@
          <el-select
            v-model="form.proStatus"
            placeholder="请选择状态"
            style="width: 260px"
            style="width: 200px"
            filterable
            clearable
          >
@@ -395,7 +417,7 @@
          <el-select
            v-model="form.isSampling"
            placeholder="请选择采样标记"
            style="width: 210px"
            style="width: 260px"
            filterable
            clearable
          >
@@ -411,7 +433,7 @@
          <el-select
            v-model="form.specimenType"
            placeholder="请选择标本类型"
            style="width: 260px"
            style="width: 200px"
            filterable
            clearable
          >
@@ -443,7 +465,7 @@
          <el-select
            v-model="form.resultType"
            placeholder="请选择结果类型"
            style="width: 210px"
            style="width: 260px"
            filterable
            clearable
          >
@@ -455,11 +477,26 @@
            ></el-option>
          </el-select>
        </el-form-item>
         <el-form-item label="LIS项目" prop="lisXmmc" >
          <span
            slot="label"
            style="display: inline-block; border-bottom: 2px solid blue"
            @click="handleQuerys"
          >
            LIS项目
            <!-- <el-tooltip effect="dark" content="明细项目" placement="bottom">
              <i class='el-icon-question' @click="getDetailed" />
            </el-tooltip> -->
          </span>
          <el-input v-model="form.lisXmmc" placeholder="请输入LIS项目">
          </el-input>
        </el-form-item>
        <el-form-item label="备注" prop="proRemark">
          <el-input
            v-model="form.proRemark"
            placeholder="请输入备注"
            style="width: 510px"
            style="width: 200px"
          />
        </el-form-item>
      </el-form>
@@ -740,8 +777,8 @@
                <pagination
                  v-show="total > 0"
                  :total="total"
                  :page.sync="querycharge.page"
                  :limit.sync="querycharge.pageSize"
                  :page.sync="queryParam.page"
                  :limit.sync="queryParam.pageSize"
                  @pagination="getListByXmId"
                />
              </div>
@@ -755,10 +792,12 @@
        <el-button type="primary" @click="submit">确 定</el-button>
      </div>
    </el-dialog>
    <Packagese ref="aaa" @add="handleChanges" />
  </div>
</template>
<script>
import Packagese from "@/components/Packagese";
import {
  getProject,
  delProject,
@@ -766,6 +805,8 @@
  updateProject,
  ProjectTree,
  deptTree,
  deptTree111,
  getAllChildListById
} from "@/api/hosp/project";
import { listDept } from "@/api/system/dept";
import Treeselect from "@riophae/vue-treeselect";
@@ -796,7 +837,7 @@
    "tj_result_type",
    "sys_yes_no",
  ],
  components: { Treeselect, IconSelect },
  components: { Treeselect, IconSelect, Packagese },
  data() {
    let checkPhoneNum = (rule, value, callback) => {
      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
@@ -874,10 +915,11 @@
        proEngName: null,
        checkType: null,
        deptId: undefined,
        proId:undefined,
      },
      querycharge: {
        pageNum: 1,
        pageSize: 50,
        pageSize: 10,
        xmmc: null,
        pym: null,
      },
@@ -887,7 +929,14 @@
        id: null,
      },
      // 表单参数
      form: {},
      form: {
        needReport: "Y",
        proName: "",
        proPrice: "",
        sfxmId: "",
        lisXmbm:"",
        lisXmmc:"",
      },
      // 表单校验
      rules: {
        createTime: [
@@ -950,6 +999,23 @@
    this.getDeptTree();
  },
  methods: {
    handleQuerys() {
      this.$refs.aaa.open = true;
      this.$refs.aaa.getAllList();
      this.$refs.aaa.title = "数据字典";
    },
    handleChanges(param1) {
      console.log(param1);
      // if(this.form.pacCode == "不详"){
      //   this.form.cusIdcard = param1[0].xh;
      // }else{
      //   this.form.cusIdcard = param1[0].pacCode;
      // }
      this.form.lisXmbm = param1[0].pacCode;
      this.form.lisXmmc = param1[0].pacName;
    },
    //是否显示选中的值
    display(value) {},
    /** 查询体检项目列表 */
@@ -968,8 +1034,9 @@
        checkType: this.queryParams.checkType,
        deptId: this.queryParams.deptId,
      };
      ProjectTree(data).then((response) => {
        this.projectList = this.handleTree(response.data.list, "proId");
      getAllChildListById(data).then((response) => {
        // this.projectList = this.handleTree(response.data.list, "proId");
        this.projectList = response.data.list;
        this.loading = false;
      });
    },
@@ -984,10 +1051,14 @@
    /** 新增按钮操作 */
    handleAdd(row) {
      this.reset();
      // this.reset();
      this.loading = true;
      ProjectTree().then((response) => {
      this.form.proPrice = 0.0;
      this.form.proName = "";
      this.form.proId = null;
      getAllChildListById().then((response) => {
        if (response.code == 200) {
          this.loading = false;
          this.projectOptions = [];
          const project = { proId: 0, proName: "主类目", children: [] };
          project.children = this.handleTree(response.data.list, "proId");
@@ -999,17 +1070,16 @@
          } else {
            this.open = true;
          }
          this.loading = false;
        }
      });
      this.title = "体检项目信息维护";
      this.form.deptId = this.queryParams.deptId;
      this.form.proId = this.queryParams.proId;
      this.form.proCheckMethod = "N";
      if ((this.key = "Y")) {
        gettreeList().then((response) => {
          this.deptOptionstree = response.data;
          this.chargeId.push(this.deptOptionstree[0].id);
        });
      }
    },
@@ -1021,11 +1091,17 @@
          this.dialogTableVisible = false;
        } else {
          this.dialogTableVisible = true;
          this.$nextTick(() => {
            this.chargeId.push(this.deptOptionstree[0].id);
          });
          this.getlistSfxm();
        }
      } else if (this.form.proParentId) {
        if (this.form.proParentId != 0) {
          this.dialogTableVisible = true;
          this.$nextTick(() => {
            this.chargeId.push(this.deptOptionstree[0].id);
          });
          this.getlistSfxm();
        } else if (this.form.proParentId == 0) {
          this.dialogTableVisible = false;
@@ -1103,7 +1179,7 @@
    // // 查询体检项目列表(树形结构)
    getData() {
      /** 查询部门下拉树结构 */
      ProjectTree().then((response) => {
      getAllChildListById().then((response) => {
        this.projectOptions = [];
        const project = { proId: 0, proName: "主类目", children: [] };
        project.children = this.handleTree(response.data.list, "proId");
@@ -1125,7 +1201,7 @@
    },
    /** 查询部门下拉树结构 */
    getDeptTree() {
      deptTree().then((response) => {
      deptTree111().then((response) => {
        this.deptOptions = response.data;
        this.treeId.push(this.deptOptions[0].id);
      });
@@ -1143,13 +1219,14 @@
    },
    // 节点单击事件
    handleNodeClick(date) {
      console.log(date,111);
      this.id = date.id;
      this.queryParams.deptId = date.id;
      this.queryParams.proId = date.id;
      let data = {
        deptId: this.queryParams.deptId,
        proId: this.queryParams.proId,
      };
      this.loading = true;
      ProjectTree(data).then((response) => {
      getAllChildListById(data).then((response) => {
        if (response.code == 200) {
          if (response.data.list.length >= 1) {
            this.projectList = this.handleTree(response.data.list, "proId");
@@ -1189,12 +1266,13 @@
      this.open = false;
      this.queryParam.id = this.id;
      let data = {
        deptId: this.queryParams.deptId,
        proId: this.queryParams.proId,
      };
      ProjectTree(data).then((response) => {
        this.projectList = this.handleTree(response.data.list, "proId");
        this.ListId.push(this.projectList[0].proId);
        this.key = response.data.key;
      getAllChildListById(data).then((response) => {
        console.log(response);
        // this.projectList = this.handleTree(response.data.list, "proId");
        // this.ListId.push(this.projectList[0].proId);
        // this.key = response.data.key;
        this.loading = false;
      });
    },
@@ -1225,7 +1303,7 @@
        deptName: null,
        consumablesList: [],
        tjStandardList: [],
        proStatus: "启用",
        proStatus: "0",
      };
      this.resetForm("form");
    },
@@ -1237,7 +1315,7 @@
    /** 重置按钮操作 */
    resetQuery() {
      this.resetForm("queryForm");
      this.queryParams.deptId = undefined;
      this.queryParams.proId = undefined;
      this.$refs.tree.setCurrentKey(null);
      this.handleQuery();
    },
@@ -1372,11 +1450,6 @@
          this.showRentPrise = true;
        }
        this.form.deptId = Number(this.form.deptId);
        if (this.form.proStatus === 0) {
          this.form.proStatus = "启用";
        } else {
          this.form.proStatus = "停用";
        }
        if (this.form.proStandard === 0) {
          this.showPrise = true;
          this.showRentPrise = false;
@@ -1384,6 +1457,7 @@
          this.showPrise = false;
          this.showRentPrise = true;
        }
        this.form.proStatus = this.form.proStatus.toString();
        this.form.consumablesList = response.data.consumablesList;
        this.form.tjStandardList = response.data.tjStandardList;
        if (this.form.tjStandardList != null) {
@@ -1491,11 +1565,7 @@
                  }
                });
              }
              if (this.form.proStatus === "启用") {
                this.form.proStatus = 0;
              } else {
                this.form.proStatus = 1;
              }
              this.form.lisXmbm = this.form.lisXmbm;
              updateProject(this.form).then((response) => {
                this.$modal.msgSuccess("修改成功");
                this.cancel();
@@ -1511,11 +1581,7 @@
                this.$message.error("请填写父项名称或科室名称");
                this.open = true;
              } else {
                if (this.form.proStatus === "启用") {
                  this.form.proStatus = 0;
                } else {
                  this.form.proStatus = 1;
                }
                this.form.lisXmbm = this.form.lisXmbm;
                addProject(this.form).then((response) => {
                  this.$modal.msgSuccess("新增成功");
                  this.cancel();
@@ -1561,11 +1627,7 @@
                  }
                });
              }
              if (this.form.proStatus === "启用") {
                this.form.proStatus = 0;
              } else {
                this.form.proStatus = 1;
              }
              this.form.lisXmbm = this.form.lisXmbm;
              updateProject(this.form).then((response) => {
                this.$modal.msgSuccess("修改成功");
                this.cancel();
@@ -1581,11 +1643,7 @@
                this.$message.error("请填写父项名称或科室名称");
                this.open = true;
              } else {
                if (this.form.proStatus === "启用") {
                  this.form.proStatus = 0;
                } else {
                  this.form.proStatus = 1;
                }
                this.form.lisXmbm = this.form.lisXmbm;
                addProject(this.form).then((response) => {
                  this.$modal.msgSuccess("新增成功");
                  this.cancel();