qinxianzhangyao
2024-02-27 13a9015a85303de6e6dd4379f31621b0877672a3
src/views/hosp/project/index.vue
@@ -12,19 +12,21 @@
            style="margin-bottom: 15px"
          />
        </div>
        <div class="head-container">
          <el-tree
            :data="deptOptions"
            :props="defaultProps"
            :expand-on-click-node="false"
            :filter-node-method="filterNode"
            ref="tree"
            node-key="id"
            :default-expanded-keys="treeId"
            highlight-current
            @node-click="handleNodeClick"
          />
        </div>
        <el-scrollbar style="height: 629px; width: 100%">
          <div class="head-container">
            <el-tree
              :data="deptOptions"
              :props="defaultProps"
              :expand-on-click-node="false"
              :filter-node-method="filterNode"
              ref="tree"
              node-key="id"
              :default-expanded-keys="treeId"
              highlight-current
              @node-click="handleNodeClick"
            />
          </div>
        </el-scrollbar>
      </el-col>
      <el-col :span="20" :xs="24">
        <el-form
@@ -78,7 +80,7 @@
          </el-col>
          <el-col :span="1.5">
            <el-button
            :disabled = "xiugais"
              :disabled="xiugais"
              type="primary"
              icon="el-icon-plus"
              size="mini"
@@ -124,7 +126,6 @@
          :data="projectList"
          ref="tableRef"
          border
        >
          <!-- :show-overflow-tooltip="true"  -->
          <el-table-column
@@ -290,8 +291,9 @@
        label-width="100px"
        :inline="true"
      >
        <el-form-item label="主项名称" prop="proParentId">
        <el-form-item label="主项名称" prop="proParentId"  >
          <treeselect
          :disabled="proParent"
            v-model="form.proParentId"
            :options="projectOptions"
            :normalizer="normalizer"
@@ -299,6 +301,7 @@
            placeholder="选择主项名称"
            style="width: 260px"
            @select="obtain"
          />
        </el-form-item>
        <el-form-item label="明细项目" prop="proName" v-if="key == 'Y'">
@@ -390,15 +393,15 @@
          <el-select
            v-model="form.deptId"
            placeholder="请选择科室名称"
            @change="changeValue"
            @change="$forceUpdate()"
            filterable
            style="width: 260px"
          >
            <el-option
              v-for="dict in parentNameList"
              :key="dict.deptId"
              :label="dict.deptName"
              :value="dict.deptId"
              v-for="item in parentNameList"
              :key="item.deptId"
              :label="item.deptName"
              :value="item.deptId"
            />
          </el-select>
        </el-form-item>
@@ -489,7 +492,7 @@
            ></el-option>
          </el-select>
        </el-form-item>
         <el-form-item label="LIS项目" prop="lisXmmc" >
        <el-form-item label="LIS项目" prop="lisXmmc">
          <span
            slot="label"
            style="display: inline-block; border-bottom: 2px solid blue"
@@ -816,10 +819,11 @@
  addProject,
  updateProject,
  ProjectTree,
  getlist,
  deptTree,
  deptTree111,
  getAllChildListById,
  getInfoByProId
  getInfoByProId,
} from "@/api/hosp/project";
import { listDept } from "@/api/system/dept";
import Treeselect from "@riophae/vue-treeselect";
@@ -863,8 +867,8 @@
      }
    };
    return {
      xiugais:true,
      xiugaiList:[],
      xiugais: true,
      xiugaiList: [],
      // 部门树选项
      deptOptions: undefined,
      dialogTableVisible: false,
@@ -919,6 +923,7 @@
        children: "children",
        label: "label",
      },
      proParent:false,
      id: "",
      // 重新渲染表格状态
      refreshTable: true,
@@ -930,7 +935,7 @@
        proEngName: null,
        checkType: null,
        deptId: undefined,
        proId:undefined,
        proId: undefined,
      },
      querycharge: {
        pageNum: 1,
@@ -949,8 +954,8 @@
        proName: "",
        proPrice: "",
        sfxmId: "",
        lisXmbm:"",
        lisXmmc:"",
        lisXmbm: "",
        lisXmmc: "",
      },
      // 表单校验
      rules: {
@@ -1020,16 +1025,14 @@
      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) {},
@@ -1072,7 +1075,8 @@
      this.form.proPrice = 0.0;
      this.form.proName = "";
      this.form.proId = null;
      getAllChildListById().then((response) => {
      //  ProjectTree
      getlist().then((response) => {
        if (response.code == 200) {
          this.loading = false;
          this.projectOptions = [];
@@ -1088,9 +1092,14 @@
          }
        }
      });
      this.title = "体检项目信息维护";
      this.form.proId = this.queryParams.proId;
      if(this.queryParams.deptId){
        this.form.deptId = this.queryParams.deptId;
      }else{
        this.form.deptId = null
      }
      // this.form.proId = this.queryParams.proId;
      this.form.proCheckMethod = "N";
      if ((this.key = "Y")) {
@@ -1130,7 +1139,6 @@
    obtain(vals) {
      if (this.projectOptions) {
        this.selectList = vals;
        console.log(this.selectList);
      }
      if (this.selectList.proName === "主类目") {
        this.showPrise = true;
@@ -1235,22 +1243,20 @@
    },
    // 节点单击事件
    handleNodeClick(date) {
      if(date.$treeNodeId == 3){
      if (date.qf == "0") {
        this.xiugais = true;
      }else{
      } else {
        this.xiugais = false;
      }
      let proId = date.id;
      getInfoByProId(proId).then((response)=>{
      getInfoByProId(proId).then((response) => {
        this.xiugaiList = response.data;
        console.log(this.xiugaiList,222);
      })
      console.log(date,111);
      });
      this.id = date.id;
      this.queryParams.proId = date.id;
      let data = {
        proId: this.queryParams.proId,
        proName:this.queryParams.proNamez
        proName: this.queryParams.proNamez,
      };
      this.loading = true;
      getAllChildListById(data).then((response) => {
@@ -1296,7 +1302,6 @@
        proId: this.queryParams.proId,
      };
      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;
@@ -1461,9 +1466,24 @@
        this.form.tjStandardList.splice(index, 1);
      }
    },
    handleUpdate1(){
    handleUpdate1() {
      this.open = true;
      this.form = this.xiugaiList;
      // console.log( this.form )
      this.proParent = true
      // if(){
      //   this.proParent = true
      // }
      getlist().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");
          this.key = response.data.key;
          this.projectOptions.push(project);
        }
      })
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
@@ -1471,6 +1491,7 @@
      this.getData();
      // this.form = row;
      const proId = row.proId || this.ids;
      this.proParent =false
      getProject(proId).then((response) => {
        this.form = response.data;
        if (this.form.proParentId === "0") {
@@ -1480,7 +1501,7 @@
          this.showPrise = false;
          this.showRentPrise = true;
        }
        this.form.deptId = Number(this.form.deptId);
        // this.form.deptId = Number(this.form.deptId);
        if (this.form.proStandard === 0) {
          this.showPrise = true;
          this.showRentPrise = false;
@@ -1523,7 +1544,16 @@
            }
          });
        }
        getlist().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");
          this.key = response.data.key;
          this.projectOptions.push(project);
        }
      })
        this.open = true;
        this.title = "体检项目信息维护";
      });
@@ -1599,7 +1629,14 @@
              this.form.lisXmbm = this.form.lisXmbm;
              updateProject(this.form).then((response) => {
                this.$modal.msgSuccess("修改成功");
                this.cancel();
                if(this.proParent == true){
                  this.getDeptTree();
                  this.cancel();
                }else{
                  this.cancel();
                this.getList();
                }
              });
            } else {
              if (this.form.proParentId === 0) {
@@ -1616,6 +1653,7 @@
                addProject(this.form).then((response) => {
                  this.$modal.msgSuccess("新增成功");
                  this.cancel();
                  this.getList();
                });
              }
            }
@@ -1661,7 +1699,14 @@
              this.form.lisXmbm = this.form.lisXmbm;
              updateProject(this.form).then((response) => {
                this.$modal.msgSuccess("修改成功");
                this.cancel();
                if(this.proParent == true){
                  this.getDeptTree();
                  this.cancel();
                }else{
                  this.cancel();
                this.getList();
                }
              });
            } else {
              if (this.form.proParentId === 0) {
@@ -1678,6 +1723,7 @@
                addProject(this.form).then((response) => {
                  this.$modal.msgSuccess("新增成功");
                  this.cancel();
                  this.getList();
                });
              }
            }
@@ -1756,4 +1802,12 @@
  background-color: #e5f3ff !important;
  color: #333 !important;
}
.el-scrollbar__bar.is-vertical {
  opacity: 1;
  padding-right: 5px;
  width: 7px;
}
.el-scrollbar__wrap {
  overflow-x: hidden;
}
</style>