qinxianzhangyao
2023-12-09 876f43e0fd34e084cc8a179a20afb51fe612eca3
src/views/hosp/project/index.vue
@@ -92,7 +92,14 @@
            placeholder="选择主项名称" style="width: 200px" @select="obtain" />
        </el-form-item>
        <el-form-item label="明细项目" prop="proName" v-if="key == 'Y'">
          <el-input v-model="form.proName" placeholder="请输入明细项目" @click.native="getDetailed">
          <span slot="label" style="display:inline-block;border-bottom: 2px solid blue;" @click="getDetailed">
            明细项目
            <!-- <el-tooltip effect="dark" content="明细项目" placement="bottom">
              <i class='el-icon-question' @click="getDetailed" />
            </el-tooltip> -->
          </span>
          <el-input v-model="form.proName" placeholder="请输入明细项目">
          </el-input>
        </el-form-item>
        <el-form-item label="明细项目" prop="proName" v-if="key == 'N'">
@@ -113,22 +120,22 @@
        </el-form-item>
        <el-form-item label="空腹" prop="isEat">
          <el-select v-model="form.isEat" 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-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="proSex">
        <el-form-item label="性别" prop="proSex">
          <el-select v-model="form.proSex" placeholder="请选择体检人性别" style="width: 200px">
              <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
                :value="dict.value"></el-option>
            </el-select>
            <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="项目类型" prop="proType">
          <el-input v-model="form.proType" placeholder="请输入项目类型" />
        </el-form-item>
        <el-form-item label="科室名称" prop="deptName ">
          <el-select v-model="form.deptName" placeholder="请选择科室名称" @change="changeValue" filterable style="width: 205px">
        <el-form-item label="科室名称" prop="deptId">
          <el-select v-model="form.deptId" placeholder="请选择科室名称" @change="changeValue" filterable style="width: 205px">
            <el-option v-for="dict in parentNameList" :key="dict.deptId" :label="dict.deptName" :value="dict.deptId" />
          </el-select>
        </el-form-item>
@@ -237,10 +244,10 @@
      </div>
    </el-dialog>
    <el-dialog title="收费项目" :visible.sync="dialogTableVisible" width="60%">
    <el-dialog title="收费项目" :visible.sync="dialogTableVisible" width="80%">
      <div class="app-container">
        <el-row :gutter="20">
        <el-row :gutter="24">
          <!--部门数据-->
          <el-col :span="6" :xs="24">
            <div style="height:560px;overflow-y: scroll;">
@@ -249,14 +256,14 @@
                  style="margin-bottom: 20px" />
              </div>
              <div id="changtree">
                <el-tree ref="tree" node-key="id" highlight-current :default-expanded-keys="chargeId"
                <el-tree ref="tree" node-key="id" highlight-current :default-expanded-keys="chargeId"
                  :data="deptOptionstree" :props="defaultPropstree" :expand-on-click-node="false"
                  :auto-expand-parent="false" :filter-node-method="filterNode2" @node-click="handleNodecharge" />
              </div>
            </div>
          </el-col>
          <el-col :span="17" :xs="24">
          <el-col :span="18" :xs="24">
            <el-form :model="querycharge" ref="queryForm" size="small" :inline="true" v-show="showSearch"
              label-width="68px">
              <el-form-item label="项目名称" prop="xmmc">
@@ -271,19 +278,19 @@
            </el-form>
            <el-table v-loading="loading" ref="tb" :data="sfxmList" @selection-change="handleSelectionChange" border
              height="520px">
              <el-table-column type="selection" width="55" align="center" fixed="left" />
              <el-table-column label="序号" align="center" prop="newID" :show-overflow-tooltip="true" width="60px"
                fixed="left" />
              <el-table-column label="项目编码" align="center" prop="xmbm" :show-overflow-tooltip="true" />
              <el-table-column label="项目名称" align="center" prop="xmmc" :show-overflow-tooltip="true" />
              <el-table-column label="拼音码" align="center" prop="pym" :show-overflow-tooltip="true" />
              <el-table-column label="五笔码" align="center" prop="wbm" :show-overflow-tooltip="true" />
              <el-table-column label="参考单价" align="center" prop="ckdj" :show-overflow-tooltip="true" />
              <el-table-column label="一级最高限价" align="center" prop="yjzgxj" :show-overflow-tooltip="true" width="60px" />
              <el-table-column label="二级最高限价" align="center" prop="ejzgxj" :show-overflow-tooltip="true" width="60px" />
              <el-table-column label="三级最高限价" align="center" prop="sjzgxj" :show-overflow-tooltip="true" width="60px" />
              <el-table-column label="特定最高限价" align="center" prop="tdzgxj" :show-overflow-tooltip="true" />
              height="520px"   style="width: 100%">
              <el-table-column type="selection"  align="center"  />
              <el-table-column label="序号" align="center" prop="newID"
               />
              <el-table-column label="项目编码" align="center" prop="xmbm"  />
              <el-table-column label="项目名称" align="center" prop="xmmc"/>
              <el-table-column label="拼音码" align="center" prop="pym" />
              <!-- <el-table-column label="五笔码" align="center" prop="wbm"  /> -->
              <el-table-column label="参考单价" align="center" prop="ckdj" />
              <el-table-column label="一级最高限价" align="center" prop="yjzgxj"   />
              <el-table-column label="二级最高限价" align="center" prop="ejzgxj"  />
              <el-table-column label="三级最高限价" align="center" prop="sjzgxj" />
              <el-table-column label="特定最高限价" align="center" prop="tdzgxj"  />
            </el-table>
            <div class="pag" v-if="List == true">
@@ -337,7 +344,7 @@
export default {
  name: "Project",
  dicts: ["sys_normal_disable", "dict_personnel_type", "sys_user_sex", "tj_result_type", "dis_sampling_tab", "sys_dict_specimen", "sys_dict_position", "tj_result_type","sys_yes_no"],
  dicts: ["sys_normal_disable", "dict_personnel_type", "sys_user_sex", "tj_result_type", "dis_sampling_tab", "sys_dict_specimen", "sys_dict_position", "tj_result_type", "sys_yes_no"],
  components: { Treeselect, IconSelect },
  data() {
    return {
@@ -378,7 +385,7 @@
      // 表格树数据
      deptList: [],
      parentNameList: [],
      sfxmId:null,
      sfxmId: null,
      // 体检项目表格数据
      projectList: [],
      // 菜单树选项
@@ -395,7 +402,7 @@
        children: "children",
        label: "label",
      },
      id:"",
      id: "",
      // 重新渲染表格状态
      refreshTable: true,
      // 查询参数
@@ -437,7 +444,7 @@
        proPrice: [
          { required: true, message: "项目价格不能为空", trigger: "blur" },
        ],
        deptName: [
        deptId: [
          { required: true, message: "科室名称不能为空", trigger: "blur" },
        ],
        // proStandard: [
@@ -482,7 +489,7 @@
    this.getDeptTree();
  },
  methods: {
    //是否显示选中的值
    display(value) { },
    /** 查询体检项目列表 */
@@ -526,18 +533,42 @@
      // }
      this.open = true;
      this.title = "体检项目信息维护";
      this.form.deptId = this.queryParams.deptId
      if (this.key = "Y") {
          gettreeList().then((response) => {
            this.deptOptionstree = response.data;
            this.chargeId.push(this.deptOptionstree[0].id)
          });
        }
        gettreeList().then((response) => {
          this.deptOptionstree = response.data;
          this.chargeId.push(this.deptOptionstree[0].id)
        });
      }
    },
    // 打开input弹框
    getDetailed() {
      this.dialogTableVisible = true;
      this.getlistSfxm()
      if (this.form.proParentId) {
        if (this.selectList.proName === "主类目") {
          this.dialogTableVisible = false;
        } else {
          this.dialogTableVisible = true;
          this.getlistSfxm()
        }
      }else{
        this.$message.error("请选择主项名称");
      }
    },
    obtain(vals) {
      if (this.projectOptions) {
        this.selectList = vals;
      }
      if (this.selectList.proName === "主类目") {
        this.showPrise = true;
        this.showRentPrise = false;
      } else {
        this.showPrise = false;
        this.showRentPrise = true;
      }
    },
    getlistSfxm() {
      this.loading = true;
@@ -600,7 +631,7 @@
        // } else if (response.data.key == "N") {
        //   this.key = response.data.key
        // }
        this.projectOptions.push(project);
        this.projectOptions.push(project);
      });
    },
    /** 查询部门列表 */
@@ -734,20 +765,9 @@
      }
    },
    obtain(vals) {
      if (this.projectOptions) {
        this.selectList = vals;
      }
      if (this.selectList.proName === "主类目") {
        this.showPrise = true;
        this.showRentPrise = false;
      } else {
        this.showPrise = false;
        this.showRentPrise = true;
      }
    },
    // 新增行
    addmembers() {
      if (this.form.proName) {
@@ -957,7 +977,8 @@
              } else {
                this.form.consumablesList = null;
              }
              if (this.form.deptName === null || this.form.proParentId === null) {
              if (this.form.deptId === null || this.form.proParentId === null) {
                this.$message.error("请填写父项名称或科室名称");
                this.open = true;
              } else {
@@ -974,7 +995,7 @@
            }
          }
        });
      }else if(this.key == "Y"){
      } else if (this.key == "Y") {
        this.form.sfxmId = this.sfxmId
        this.$refs["form"].validate((valid) => {
          if (valid) {
@@ -1026,7 +1047,8 @@
              } else {
                this.form.consumablesList = null;
              }
              if (this.form.deptName === null || this.form.proParentId === null) {
              if (this.form.deptId === null || this.form.proParentId === null) {
                this.$message.error("请填写父项名称或科室名称");
                this.open = true;
              } else {