yxh
2 天以前 a68195121e02f4294542a11ac96e48047f0fde24
绩效科室
已修改2个文件
126 ■■■■■ 文件已修改
src/views/project/externalperson/index.vue 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/fund/performancedetails/index.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/externalperson/index.vue
@@ -56,6 +56,7 @@
      </el-table-column>
      <el-table-column label="账号编号" align="center" prop="userno" />
      <el-table-column label="账号名称" align="center" prop="username" />
      <el-table-column label="绩效科室" align="center" prop="deptName" width="140" />
      <el-table-column label="身份证号" width="200" align="center" prop="idcardno" />
      <el-table-column label="职称" align="center" prop="title">
        <template slot-scope="scope">
@@ -117,6 +118,27 @@
                  dict.label
                }}</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="hasUserType(form.usertype, 'performance')">
          <el-col :span="12">
            <el-form-item label="绩效科室" prop="deptId">
              <el-select
                v-model="form.deptId"
                placeholder="请选择绩效科室"
                clearable
                filterable
                style="width: 100%"
                @change="handleDeptChange"
              >
                <el-option
                  v-for="dept in deptList"
                  :key="dept.deptId"
                  :label="dept.deptName"
                  :value="dept.deptId"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
@@ -217,6 +239,7 @@
} from "@/api/project/organization";
import { getUserProfile } from "@/api/system/user";
import { listDept } from "@/api/system/dept";
export default {
  name: "Externalperson",
@@ -242,6 +265,8 @@
      //医疗机构列表
      unitList: [],
      // 绩效科室列表
      deptList: [],
      // 弹出层标题
      title: "",
      // 是否显示弹出层
@@ -293,6 +318,20 @@
        ],
        depositbank: [
          { required: true, message: "请输入开户银行", trigger: "blur" }
        ],
        deptId: [
          {
            validator: (rule, value, callback) => {
              if (
                this.hasUserType(this.form.usertype, "performance") &&
                (value === null || value === undefined || value === "")
              ) {
                return callback(new Error("请选择绩效科室"));
              }
              return callback();
            },
            trigger: "change"
          }
        ]
      },      
    };
@@ -306,6 +345,7 @@
  created() {
    this.getUserProfile();
    this.getUnitList();
    this.getDeptList();
    // 默认不打开
    // this.getList();
  },
@@ -381,7 +421,9 @@
        updateBy: null,
        updateTime: null,
        pym: null,
        wbm: null
        wbm: null,
        deptId: null,
        deptName: null
      };
      this.resetForm("form");
    },
@@ -427,6 +469,9 @@
        this.form = response.data;
        //账号类别为多值(逗号分隔),表单用数组回显
        this.form.usertype = this.splitUserType(response.data.usertype);
        if (this.form.deptId !== null && this.form.deptId !== undefined && this.form.deptId !== "") {
          this.form.deptId = Number(this.form.deptId);
        }
        this.open = true;
        this.title = "人员/单位账号信息修改";
      });
@@ -440,6 +485,13 @@
            if (res.organizationid == this.form.unitno)
              this.form.unitname = res.organizationname;
          });
          //绩效科室:提交前按 deptId 回填 deptName
          if (this.form.deptId !== null && this.form.deptId !== undefined && this.form.deptId !== "") {
            const dept = this.deptList.find(
              item => String(item.deptId) === String(this.form.deptId)
            );
            this.form.deptName = dept ? dept.deptName : this.form.deptName;
          }
          //账号类别为多值:提交前转回逗号分隔的字符串
          this.form.usertype = this.joinUserType(this.form.usertype);
          console.log(this.form);
@@ -525,6 +577,23 @@
          console.log(this.unitList);
        }
      });
    },
    /** 绩效科室列表 */
    getDeptList() {
      listDept({}).then(response => {
        this.deptList = response.data || [];
      });
    },
    /** 绩效科室选择变化:同步名称 */
    handleDeptChange(deptId) {
      if (deptId === null || deptId === undefined || deptId === "") {
        this.form.deptName = null;
        return;
      }
      const dept = this.deptList.find(
        item => String(item.deptId) === String(deptId)
      );
      this.form.deptName = dept ? dept.deptName : null;
    }
  }
};
src/views/project/fund/performancedetails/index.vue
@@ -296,6 +296,31 @@
              </template>
            </el-table-column>
            <el-table-column
              prop="deptName"
              align="center"
              label="绩效科室"
              width="160"
            >
              <template slot-scope="scope">
                <el-select
                  v-model="scope.row.deptId"
                  size="mini"
                  clearable
                  filterable
                  placeholder="请选择绩效科室"
                  style="width: 100%"
                  @change="value => handleRowDeptChange(scope.row, value)"
                >
                  <el-option
                    v-for="dept in deptList"
                    :key="dept.deptId"
                    :label="dept.deptName"
                    :value="dept.deptId"
                  />
                </el-select>
              </template>
            </el-table-column>
            <el-table-column
              prop="isunit"
              align="center"
              label="人员类别"
@@ -871,7 +896,8 @@
            :label="city"
            :key="city.id"
            >{{ city.username }}{{ city.isUnitPerson ? "(单位)" : ""
            }}{{ city.unitname ? " · " + city.unitname : "" }}</el-checkbox
            }}{{ city.unitname ? " · " + city.unitname : ""
            }}{{ city.deptName ? " · 科室:" + city.deptName : "" }}</el-checkbox
          >
        </el-checkbox-group>
      </div>
@@ -928,6 +954,7 @@
import { listItemexpense } from "@/api/project/itemexpense";
import { getUserProfile } from "@/api/system/user";
import { listDept } from "@/api/system/dept";
import Li_area_select from "@/components/Address";
import OrgSelecter from "@/views/project/components/orgselect";
import { getToken } from "@/utils/auth";
@@ -983,6 +1010,8 @@
      expertlist: [],
      //医疗机构列表
      unitList: [],
      //绩效科室列表
      deptList: [],
      //费用报销机构列表
      feeUnitList: [],
      batchdialogVisible: false,
@@ -2015,6 +2044,25 @@
      });
    },
    /** 绩效科室列表 */
    getDeptList() {
      listDept({}).then(res => {
        this.deptList = res.data || [];
      });
    },
    /** 表格内直接修改绩效科室:同步名称 */
    handleRowDeptChange(row, deptId) {
      if (deptId === null || deptId === undefined || deptId === "") {
        this.$set(row, "deptName", null);
        return;
      }
      const dept = this.deptList.find(
        item => String(item.deptId) === String(deptId)
      );
      this.$set(row, "deptName", dept ? dept.deptName : null);
    },
    //获取医疗机构列表
    getUnitList() {
      listOrganization(3).then(response => {
@@ -2522,6 +2570,8 @@
          isunit: isunit ? 1 : 0,
          unitname: item.unitname,
          unitno: item.unitno,
          deptId: item.deptId,
          deptName: item.deptName,
          uintuserno: null,
          title: item.title,
          idcardtype: null,
@@ -2747,6 +2797,8 @@
        singleDetail.title = person.title;
        singleDetail.unitname = person.unitname;
        singleDetail.unitno = person.unitno;
        singleDetail.deptId = person.deptId;
        singleDetail.deptName = person.deptName;
      } else {
        // 手工输入的人员:只写姓名,身份证号/银行账号由经办人填写
        singleDetail.beneficiaryname = String(key);
@@ -3175,6 +3227,7 @@
    this.getExternalList();
    this.getFeeUnitList();
    this.listperformance();
    this.getDeptList();
  },
  //生命周期 - 挂载完成(可以访问DOM元素)