qinxianzhangyao
2023-12-12 11620866e987f3cbeea5744ea38a1abf42ad6885
src/views/hosp/project/index.vue
@@ -56,8 +56,14 @@
          <el-table-column label="科室名称" align="center" prop="deptName" width="110px" :show-overflow-tooltip="true" />
          <el-table-column label="检查类别" align="center" prop="proCheckType" width="110px" :show-overflow-tooltip="true" />
          <el-table-column label="临床意义" align="center" prop="proMeaning" width="350px" :show-overflow-tooltip="true" />
          <el-table-column label="检查方式" align="center" prop="proCheckMethod" :show-overflow-tooltip="true"
            width="110px" />
          <!-- <el-table-column label="检查方式" align="center" prop="proCheckMethod" :show-overflow-tooltip="true"
            width="110px" /> -->
              <el-table-column label="是否空腹" align="center" prop="proCheckMethod" :show-overflow-tooltip="true"
            width="110px" >
            <template slot-scope="scope">
              <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" />
            </template>
            </el-table-column>
          <el-table-column label="项目标准值" align="center" prop="proScope" :show-overflow-tooltip="true" width="90px">
          </el-table-column>
          <el-table-column label="项目类型" align="center" prop="resultType" width="110px" :show-overflow-tooltip="true">
@@ -91,7 +97,7 @@
          <treeselect v-model="form.proParentId" :options="projectOptions" :normalizer="normalizer" :show-count="true"
            placeholder="选择主项名称" style="width: 200px" @select="obtain" />
        </el-form-item>
        <el-form-item label="明细项目" prop="proName" v-if="key == 'Y'" >
        <el-form-item label="明细项目" prop="proName" v-if="key == 'Y'">
          <span slot="label" style="display:inline-block;border-bottom: 2px solid blue;" @click="getDetailed">
            明细项目
            <!-- <el-tooltip effect="dark" content="明细项目" placement="bottom">
@@ -115,15 +121,18 @@
        <el-form-item label="临床意义" prop="proMeaning">
          <el-input v-model="form.proMeaning" placeholder="请输入临床意义" />
        </el-form-item>
        <el-form-item label="检查方式" prop="proCheckMethod">
          <el-input v-model="form.proCheckMethod" placeholder="请输入检查方式" />
        </el-form-item>
        <el-form-item label="空腹" prop="isEat">
          <el-select v-model="form.isEat" placeholder="请选择是否空腹" style="width: 200px">
        <el-form-item label="是否空腹" prop="proCheckMethod">
          <el-select v-model="form.proCheckMethod" 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="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-form-item> -->
        <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"
@@ -244,10 +253,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;">
@@ -263,7 +272,7 @@
            </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">
@@ -278,19 +287,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">
@@ -347,6 +356,17 @@
  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() {
    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('');
      }  else if(value != undefined && value != ""){
        return callback();
      }else if (!patter.test(value)) {
        return callback('');
      }
    };
    return {
      // 部门树选项
      deptOptions: undefined,
@@ -430,22 +450,22 @@
      // 表单校验
      rules: {
        createTime: [
          { required: true, message: "创建时间不能为空", trigger: "blur" },
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
        ],
        updateTime: [
          { required: true, message: "修改时间不能为空", trigger: "blur" },
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
        ],
        deleted: [
          { required: true, message: "删除标记不能为空", trigger: "blur" },
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
        ],
        proName: [
          { required: true, message: "项目名称不能为空", trigger: "blur" },
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
        ],
        proPrice: [
          { required: true, message: "项目价格不能为空", trigger: "blur" },
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
        ],
        deptId: [
          { required: true, message: "科室名称不能为空", trigger: "blur" },
          { required: true, validator: checkPhoneNum,  trigger: "blur" },
        ],
        // proStandard: [
        //   { required: true, message: "项目标准值不能为空", trigger: "blur" },
@@ -544,12 +564,17 @@
    // 打开input弹框
    getDetailed() {
      if (this.selectList.proName === "主类目") {
        this.dialogTableVisible = false;
      } else {
        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("请选择主项名称");
      }
    },
@@ -632,7 +657,6 @@
    /** 查询部门列表 */
    getDeptList() {
      listDept(this.queryParams).then((response) => {
        console.log(response)
        this.parentNameList = response.data;
        this.deptList = this.handleTree(response.data, "proId");
      });
@@ -838,6 +862,7 @@
      const proId = row.proId || this.ids;
      getProject(proId).then((response) => {
        this.form = response.data;
        this.form.deptId = Number(this.form.deptId)
        if (this.form.proStatus === 0) {
          this.form.proStatus = "启用";
        } else {
@@ -972,7 +997,7 @@
              } else {
                this.form.consumablesList = null;
              }
              if (this.form.deptId === null || this.form.proParentId === null) {
                this.$message.error("请填写父项名称或科室名称");
                this.open = true;
@@ -1042,7 +1067,7 @@
              } else {
                this.form.consumablesList = null;
              }
              if (this.form.deptId === null || this.form.proParentId === null) {
                this.$message.error("请填写父项名称或科室名称");
                this.open = true;