yxh
2023-12-17 e0cba2eae77a977e914369705cd6b755380d569b
src/views/project/fund/applyDetail/index.vue
@@ -136,7 +136,7 @@
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="servicesscope" align="center" label="服务说明" v-if="form.applytype == '1'" width="180">
            <el-table-column prop="servicesscope" align="center" label="服务说明" v-if="businessType == '1'" width="180">
              <template slot-scope="scope">
                <el-select v-model="scope.row.servicesscope" placeholder="服务说明" clearable allow-create
                  @change="verifyFeeRemark(scope.row)">
@@ -161,53 +161,32 @@
                  " />
              </template>
            </el-table-column>
            <el-table-column v-if="businessType == 2 ||
              businessType == 3 ||
              businessType == 4 ||
              ismanager == true
              " prop="amount" align="center" :label="amountLabel" width="120">
            <el-table-column prop="amount" align="center" :label="amountlabel" width="120">
              <template slot-scope="scope">
                <!--
                  <el-select v-model="scope.row.amount" placeholder="税前金额" clearable filterable allow-create
                  @change="selectamount(scope.row)">
                  <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.expensedescribe" :label="dict.expense"
                    :value="dict.expense"></el-option>
                </el-select>
              -->
                <el-input v-model="scope.row.amount" placeholder="金额" @blur="val => {
                  calculateTax(scope.row, 'A');
                }
                  " />
                <el-input v-model="scope.row.amount" placeholder="金额" />
              </template>
            </el-table-column>
            <el-table-column prop="taxamount" align="center" label="扣税金额" width="120" v-if="(this.ismanager == true) &
              (form.applytype == '1' || form.applytype == '2')
              ">
            <el-table-column prop="taxamount" align="center" label="扣税金额" width="120"
              v-if="(ismanager == true) && (businessType == '1' || businessType == '2')">
              <template slot-scope="scope">
                <el-input v-model="scope.row.taxamount" placeholder="扣税金额" />
              </template>
            </el-table-column>
            <el-table-column prop="taxedamount" align="center" label="税后金额" width="120" v-if="(this.ismanager == true) &
              (form.applytype == '1' || form.applytype == '2')
              ">
            <el-table-column prop="taxedamount" align="center" label="税后金额" width="120"
              v-if="(ismanager == true) && (businessType == '1' || businessType == '2')">
              <template slot-scope="scope">
                <el-input v-model="scope.row.taxedamount" placeholder="税后金额" @blur="val => {
                  calculateTax(scope.row, 'B');
                }
                  " />
                <el-input v-model="scope.row.taxedamount" placeholder="税后金额" />
              </template>
            </el-table-column>
            <el-table-column prop="beneficiaryname" align="center" :label="beneficiarylabel" width="200">
            <el-table-column prop="beneficiaryname" column-key="sdad" align="center" :label="beneficiarylabel"
              width="200">
              <template slot-scope="scope">
                <el-button type="primary" plain @click="showSelectionDialog(scope, 'account')">{{
                  scope.row.beneficiaryname
                  ? scope.row.beneficiaryname
                  : "点击选择"
                }}</el-button>
                  scope.row.beneficiaryname ? scope.row.beneficiaryname : "点击选择" }}</el-button>
              </template>
            </el-table-column>
            <el-table-column prop="unitno" align="center" label="专家所在单位" width="250"
              v-if="form.applytype == '1' && form.applytype == '2'">
              v-if="businessType == '1' || businessType == '2'">
              <template slot-scope="scope">
                <el-button type="primary" plain @click="showSelectionDialog(scope, 'workunit')">{{
                  scope.row.unitname ? scope.row.unitname : "点击选择"
@@ -242,16 +221,16 @@
            </el-table-column>
             -->
            <el-table-column prop="title" align="center" label="职称" width="120"
              v-if="form.applytype == '1' || form.applytype == '2'">
              v-if="businessType == '1' || businessType == '2'">
              <template slot-scope="scope">
                <el-input v-model="scope.row.title" placeholder="职称" />
              </template>
            </el-table-column>
            <el-table-column prop="idcardno" align="center" label="身份证号" width="200"
              v-if="form.applytype == '1' || form.applytype == '2'">
              v-if="businessType == '1' || businessType == '2'">
              <template slot-scope="scope">
                <el-form-item :error="scope.row.error" label-width="0">
                  <el-input :disabled="userprofile.nickName != '陈慕华' && businessType == 1
                  <el-input :disabled="userprofile.nickName != '陈慕华'
                    " v-model.number="scope.row.idcardno" @input="tableParValueChange1(scope.row)"
                    placeholder="身份证号" />
                </el-form-item>
@@ -259,13 +238,12 @@
            </el-table-column>
            <el-table-column prop="depositbank" align="center" label="开户银行" width="200">
              <template slot-scope="scope">
                <el-input :disabled="userprofile.nickName != '陈慕华' && businessType == 1
                  " v-model="scope.row.depositbank" placeholder="开户银行" />
                <el-input :disabled="userprofile.nickName != '陈慕华'" v-model="scope.row.depositbank" placeholder="开户银行" />
              </template>
            </el-table-column>
            <el-table-column prop="bankcardno" align="center" label="银行帐号" width="210">
              <template slot-scope="scope">
                <el-input :disabled="userprofile.nickName != '陈慕华' && businessType == 1
                <el-input :disabled="userprofile.nickName != '陈慕华'
                  " v-model="scope.row.bankcardno" placeholder="银行帐号" />
              </template>
            </el-table-column>
@@ -274,11 +252,7 @@
                <el-input type="textarea" :rows="2" v-model="scope.row.itemdescribe" placeholder="项目说明" />
              </template>
            </el-table-column>
            <el-table-column prop="remark" align="center" width="330" label="备注" v-if="businessType == 2 ||
              businessType == 3 ||
              businessType == 4 ||
              ismanager == true
              ">
            <el-table-column prop="remark" align="center" width="330" label="备注" v-show="ismanager == true">
              <template slot-scope="scope">
                <el-input type="textarea" :rows="2" v-model="scope.row.remark" placeholder="备注" />
              </template>
@@ -299,7 +273,7 @@
                </el-button>
                <el-button @click.native.prevent="
                  Filepopup(scope.$index, rbDetails, scope.row)
                  " type="text" size="small" v-if="businessType == 3 || businessType == 2 || businessType == 4
                  " type="text" size="small" v-if="businessType == 2 || businessType == 3 || businessType == 4
    ">票据</el-button>
              </template>
            </el-table-column>
@@ -445,19 +419,22 @@
        <el-row v-if="accountfrom == '2'">
          <el-col :span="24">
            <el-form-item label="账号名称" prop="username">
              <el-input v-model="accountselectform.username" placeholder="请输入单位名称或专家姓名" /> </el-form-item>
              <el-input v-model="accountselectform.username" placeholder="请输入单位名称或专家姓名" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="accountfrom == '2' && accountselectform.usertype != 'org'">
          <el-col :span="12">
            <el-form-item label="身份证号" prop="idcardno">
              <el-input v-model="accountselectform.idcardno" placeholder="请输入身份证号" /> </el-form-item>
              <el-input v-model="accountselectform.idcardno" placeholder="请输入身份证号" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="职称" prop="title">
              <el-select v-model="accountselectform.title" placeholder="请选择人员职称">
                <el-option v-for="dict in dict.type.sys_professionaltitle" :key="dict.value" :label="dict.label"
                  :value="dict.label"></el-option> </el-select>
                  :value="dict.label"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
@@ -468,7 +445,7 @@
                style="width: 100%">
                <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname"
                  :value="spec.organizationid"></el-option>
              </el-select> </el-form-item>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col>
@@ -479,7 +456,8 @@
        </el-row>
        <el-row v-if="accountfrom == '2'">
          <el-col><el-form-item label="开户银行" prop="depositbank">
              <el-input v-model="accountselectform.depositbank" placeholder="请输入开户银行名称" /> </el-form-item>
              <el-input v-model="accountselectform.depositbank" placeholder="请输入开户银行名称" />
            </el-form-item>
          </el-col>
          <el-col><el-form-item label="银行卡号" prop="bankcardno">
              <el-input v-model="accountselectform.bankcardno" placeholder="请输入银行卡号" />
@@ -489,13 +467,15 @@
        <el-row v-if="accountfrom == '2'">
          <el-col>
            <el-form-item label="联系地址" prop="address">
              <el-input v-model="accountselectform.address" placeholder="请输入联系地址" /> </el-form-item>
              <el-input v-model="accountselectform.address" placeholder="请输入联系地址" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="accountfrom == '2'">
          <el-col>
            <el-form-item label="联系电话" prop="telephone">
              <el-input v-model="accountselectform.telephone" placeholder="请输入联系电话" /> </el-form-item>
              <el-input v-model="accountselectform.telephone" placeholder="请输入联系电话" />
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
@@ -512,7 +492,7 @@
          </el-table-column>
          <el-table-column prop="quantity" align="center" label="数量" v-if="businessType == 4">
          </el-table-column>
          <el-table-column prop="amount" align="center" :label="amountLabel">
          <el-table-column prop="amount" align="center" :label="amountlabel">
          </el-table-column>
          <el-table-column prop="taxedamount" align="center" label="税后金额" v-if="(this.ismanager == true) &
            (form.applytype == '1' || form.applytype == '2')
@@ -881,12 +861,12 @@
      selectionScope: "",
      //选择类型:专家(单位)账户、工作单位(account/workunit)
      selectionType: "",
      //受益人标签:专家费-专家(单位)名称,医学成本-办公-单位(个人)名称
      beneficiarylabel: "",
      //账户选择:1是账户库,2是新增
      accountfrom: "1",
      //受益人标签:专家费-专家(单位)名称,医学成本-办公-单位(个人)名称
      beneficiarylabel: "",
      //税前金额标题:专家费-税前金额;医学成本、办公费用-金额
      amountLabel: "税前金额",
      amountlabel: "税前金额",
      // 表单校验
      rules: {
@@ -915,7 +895,7 @@
      accountselectform: {
        index: null,
        usertype: 'expert',
        usertype: "expert",
        accountname: null,
        accountno: null,
        expertunitname: null,
@@ -1145,22 +1125,22 @@
      // if (!this.businessType && !this.operationType) {
      if (this.businessType == "1") {
        this.businessName = "专家劳务费申请单";
        this.amountLabel = "税前金额";
        this.amountlabel = "税前金额";
        this.beneficiarylabel = "专家或单位名称";
        this.getUnitList();
      } else if (this.businessType == "2") {
        this.businessName = "伦理专家劳务费申请单";
        this.amountLabel = "税前金额";
        this.amountlabel = "税前金额";
        this.beneficiarylabel = "专家或单位名称";
        this.getUnitList();
      } else if (this.businessType == "3") {
        this.businessName = "医学成本报销单";
        this.amountLabel = "金额";
        this.amountlabel = "金额";
        this.beneficiarylabel = "单位名称或个人";
        this.getUnitList();
      } else if (this.businessType == "4") {
        this.businessName = "办公费用报销单";
        this.amountLabel = "金额";
        this.amountlabel = "金额";
        this.beneficiarylabel = "单位名称或个人";
        this.getUnitList();
@@ -1399,7 +1379,18 @@
          //判断是否存在上报记录
          this.form.recordstatus = 0;
          var currenttime = new Date();
          this.form.createTime = currenttime.getFullYear() + "-" + (currenttime.getMonth() + 1) + "-" + currenttime.getDate() + " " + currenttime.getHours() + ":" + currenttime.getMinutes() + ":" + currenttime.getSeconds();
          this.form.createTime =
            currenttime.getFullYear() +
            "-" +
            (currenttime.getMonth() + 1) +
            "-" +
            currenttime.getDate() +
            " " +
            currenttime.getHours() +
            ":" +
            currenttime.getMinutes() +
            ":" +
            currenttime.getSeconds();
          if (!this.form.id) {
            this.form.id = this.$route.query.id;
@@ -1686,10 +1677,8 @@
        //   );
        //   return;
        // }
        if ((this.form.applytype == "1") && this.form.fundtaxtime == null) {
          this.$modal.msgError(
            "提交专家费用申请单审核,需要先完成个税计算!"
          );
        if (this.form.applytype == "1" && this.form.fundtaxtime == null) {
          this.$modal.msgError("提交专家费用申请单审核,需要先完成个税计算!");
          return;
        }
      }
@@ -2778,6 +2767,7 @@
            //赋值信息
            this.accountlist.map(res => {
              if (res.username == this.accountselectform.accountname) {
                console.log(res);
                this.rbDetails[tempIndex].beneficiaryno = res.userno;
                this.rbDetails[tempIndex].beneficiaryname = res.username;
                this.rbDetails[tempIndex].depositbank = res.depositbank;
@@ -2785,7 +2775,7 @@
                this.rbDetails[tempIndex].bankcardno = res.bankcardno;
                this.rbDetails[tempIndex].phone = res.telephone;
                if (res.usertype == 'org') {
                if (res.usertype == "org") {
                  this.rbDetails[tempIndex].idcardno = "";
                  this.rbDetails[tempIndex].title = "";
                  this.rbDetails[tempIndex].unitno = "";
@@ -2801,7 +2791,8 @@
          } else if (this.accountfrom == "2") {
            //保存新增账号
            this.accountform.id = null;
            this.accountform.userno = this.accountlist[this.accountlist.length - 1].id + 1;
            this.accountform.userno =
              this.accountlist[this.accountlist.length - 1].id + 1;
            this.accountform.usertype = this.accountselectform.usertype;
            this.accountform.username = this.accountselectform.username;
            this.accountform.idcardno = this.accountselectform.idcardno;
@@ -2819,7 +2810,7 @@
            this.accountform.del_flag = "0";
            this.accountform.personnelunitno = null;
            if (this.accountselectform.usertype != 'org') {
            if (this.accountselectform.usertype != "org") {
              this.accountform.unitno = this.accountselectform.unitno;
              this.unitList.map(res => {
                if (res.organizationid == this.accountform.unitno) {
@@ -2841,7 +2832,7 @@
            }
            addExternalperson(this.accountform).then(response => {
              if (response.code == 200) {
                //this.$modal.msgSuccess("新的专家或单位账户信息已添加成功!");
                //this.$modal.msgSuccess("新的专家或单位账户信息已添加成功!");
                this.accountselectform.accountno = this.accountselectform.userno;
                this.accountselectform.accountname = this.accountselectform.username;
@@ -2855,11 +2846,12 @@
                      this.rbDetails[tempIndex].beneficiaryno = res.userno;
                      this.rbDetails[tempIndex].beneficiaryname = res.username;
                      this.rbDetails[tempIndex].depositbank = res.depositbank;
                      this.rbDetails[tempIndex].branchbankname = res.branchbankname;
                      this.rbDetails[tempIndex].branchbankname =
                        res.branchbankname;
                      this.rbDetails[tempIndex].bankcardno = res.bankcardno;
                      this.rbDetails[tempIndex].phone = res.telephone;
                      if (res.usertype == 'org') {
                      if (res.usertype == "org") {
                        this.rbDetails[tempIndex].idcardno = "";
                        this.rbDetails[tempIndex].title = "";
                        this.rbDetails[tempIndex].unitno = "";
@@ -2877,7 +2869,11 @@
            });
          }
        } else if (this.selectionType == "workunit") {
          this.rbDetails[tempIndex].unitno = this.accountselectform.expertunitno;
          console.log(tempIndex);
          this.rbDetails[
            tempIndex
          ].unitno = this.accountselectform.expertunitno;
          this.unitList.map(res => {
            if (res.organizationid == this.accountform.unitno) {
              this.rbDetails[tempIndex].unitno.unitname = res.organizationname;
@@ -2914,13 +2910,13 @@
    this.Getnetworkheader();
    this.getroute();
    this.getAccountList();
    this.getUserProfile();
  },
  //生命周期 - 挂载完成(可以访问DOM元素)
  mounted() {
    window.addEventListener("beforeunload", e => this.beforeunloadHandler(e));
    this.getUserList();
    this.getUserProfile();
    let apiaccountselectform = this.accountselectform;
    let apiform = this.form;
  },