yxh
yxh
2023-08-24 ac4e8c44318369bbd246d6344bc29441a1904ddb
src/views/project/fund/applyDetail/index.vue
@@ -14,7 +14,8 @@
          </el-col>
          <el-col :span="5">
            <el-form-item label="经办人" prop="username">
              <el-select v-model="form.username" placeholder="申请人" clearable filterable allow-create style="width: 100%">
              <el-select v-model="form.username" placeholder="申请人" clearable filterable allow-create style="width: 100%"
                @change="getUserAccount">
                <el-option v-for="dict in userlist" :key="dict.index" :label="dict.nickname"
                  :value="dict.nickname"></el-option>
              </el-select>
@@ -46,9 +47,13 @@
              }}</el-radio>
            </el-form-item>
          </el-col>
          <el-col :span="10">
            <el-form-item label="申请说明" prop="remark">
              <el-input v-model="form.remark" placeholder="申请说明" />
          <el-col :span="5">
            <el-form-item label="银行名称" prop="bankname">
              <el-input v-model="form.bankname" placeholder="请输入银行名称" />
            </el-form-item>
          </el-col><el-col :span="5">
            <el-form-item label="银行账号" prop="bankcardno">
              <el-input v-model="form.bankcardno" placeholder="请输入银行账号" />
            </el-form-item>
          </el-col>
          <el-col :span="5">
@@ -81,6 +86,11 @@
              <el-input v-model="form.taxedcost" placeholder="税后金额合计" :disabled="true" />
            </el-form-item>
          </el-col>-->
          <el-col :span="10">
            <el-form-item label="申请说明" prop="remark">
              <el-input v-model="form.remark" placeholder="申请说明" />
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="捐献者" prop="name">
              <el-input :disabled="true" v-model="form.name" placeholder="请输入捐献者姓名" />
@@ -117,7 +127,7 @@
            </el-table-column>-->
            <el-table-column prop="applytype" align="center" label="服务类型" width="200">
              <template slot-scope="scope">
                <el-select v-model="scope.row.applytype" placeholder="服务类型" @change="loadFeeItems(scope.row)">
                <el-select v-model="scope.row.applytype" placeholder="服务类型" @change="verifyFeeItemType(scope.row)">
                  <el-option v-for="dict in rowfeeItemTypes" :key="dict.index" :label="dict.label"
                    :value="dict.value"></el-option>
                </el-select>
@@ -135,13 +145,13 @@
            <el-table-column prop="servicesscope" align="center" label="服务说明" v-if="form.applytype == '1'" width="180">
              <template slot-scope="scope">
                <el-select v-model="scope.row.servicesscope" placeholder="服务说明" clearable allow-create filterable
                  @change="selectedRemark(scope.row)">
                  @change="verifyFeeRemark(scope.row)">
                  <el-option v-for="dict in scope.row.rowfeeblocks" :key="dict.servicesscope" :label="dict.remark"
                    :value="dict.servicesscope"></el-option>
                </el-select>
              </template>
            </el-table-column>
            <el-table-column prop="price" align="center" label="单价" width="120" v-if="0">
            <el-table-column prop="price" align="center" label="单价" width="120" v-if="businessType == 4">
              <template slot-scope="scope">
                <el-input v-model="scope.row.price" placeholder="单价" @blur="val => {
                  sumTotalFee(scope.row);
@@ -149,7 +159,7 @@
                  " />
              </template>
            </el-table-column>
            <el-table-column prop="quantity" align="center" label="数量" width="120" v-if="0">
            <el-table-column prop="quantity" align="center" label="数量" width="120" v-if="businessType == 4">
              <template slot-scope="scope">
                <el-input v-model="scope.row.quantity" placeholder="数量" @blur="val => {
                  sumTotalFee(scope.row);
@@ -158,7 +168,7 @@
              </template>
            </el-table-column>
            <el-table-column v-if="businessType == 3 || businessType == 4 || ismanager == true" prop="amount"
              align="center" label="税前金额" width="120">
              align="center" :label=amountLabel width="120">
              <template slot-scope="scope">
                <!--
                  <el-select v-model="scope.row.amount" placeholder="税前金额" clearable filterable allow-create
@@ -167,7 +177,7 @@
                    :value="dict.expense"></el-option>
                </el-select>
              -->
                <el-input v-model="scope.row.amount" placeholder="税前金额" />
                <el-input v-model="scope.row.amount" placeholder="金额" />
              </template>
            </el-table-column>
            <el-table-column prop="taxedamount" align="center" label="税后金额" width="120" v-if="(this.ismanager == true) &
@@ -243,7 +253,7 @@
                <el-input v-model="scope.row.bankcardno" placeholder="银行帐号" />
              </template>
            </el-table-column>
            <el-table-column prop="remark" align="center" label="备注" v-if="form.applytype == '4'">
            <el-table-column prop="remark" align="center" label="备注">
              <template slot-scope="scope">
                <el-input v-model="scope.row.remark" placeholder="备注" />
              </template>
@@ -259,7 +269,7 @@
                </el-button>
                <el-button @click.native.prevent="
                  Filepopup(scope.$index, rbDetails, scope.row)
                  " type="text" size="small">票据</el-button>
                  " type="text" size="small" v-if="businessType == 3 || businessType == 4">票据</el-button>
              </template>
            </el-table-column>
          </el-table>
@@ -313,18 +323,20 @@
                  uploadSccess(response, file, fileList)
                  " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError"
                :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf">
                <el-button :disabled="operationType == 'detail'" size="small" type="primary">上传</el-button>
                <el-button :disabled="operationType == 'detail'" size="small" type="primary">上传票据</el-button>
              </el-upload>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row v-if="operationType == 'detail' || operationType == 'check'">
          <el-table :data="fundflowList" border>
            <el-table-column label="审核人" align="center" width="120" prop="checkusername" />
            <el-table-column label="审核日期" align="center" width="160" prop="createTime" />
            <el-table-column label="审核结果" align="center" width="200" prop="flowconclusion"><template
                slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">通过</span><span
                  v-if="scope.row.flowconclusion == 2">不通过</span></template>
            <el-table-column label="审核人" align="center" width="120" prop="checkusername" />
            <el-table-column label="审核结果" align="center" width="200" prop="flowconclusion">
              <template slot-scope="scope">
                <span v-if="scope.row.flowconclusion == 1">通过</span>
                <span v-if="scope.row.flowconclusion == 2">不通过</span>
              </template>
            </el-table-column>
            <el-table-column label="审核备注" align="center" prop="flowcontent" />
          </el-table>
@@ -464,7 +476,7 @@
                uploadSccess(response, file, fileList)
                " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError"
              :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf">
              <el-button :disabled="operationType == 'detail'" size="small" type="primary">上传</el-button>
              <el-button :disabled="operationType == 'detail'" size="small" type="primary">上传票据</el-button>
            </el-upload>
          </div>
          <!-- <div
@@ -654,6 +666,8 @@
      //专家/单位选择:expert/unit
      selectionType: "",
      showSelectionDialog: false,
      //税前金额标题:专家费-税前金额;医学成本、办公费用-金额
      amountLabel:"税前金额",
      // 表单校验
      rules: {
@@ -845,11 +859,13 @@
      if (this.businessType == "1") {
        this.curCase = this.$route.query.curCase;
        this.businessName = "专家劳务费申请单"
        this.amountLabel="税前金额"
        this.getUnitList();
      }
      else if (this.businessType == "2") {
        this.curCase = this.$route.query.curCase;
        this.businessName = "伦理专家劳务费申请单";
        this.amountLabel="税前金额"
        this.getUnitList();
      }
      else if (this.businessType == "3") {
@@ -857,9 +873,11 @@
          this.curCase = this.$route.query.curCase;
        }
        this.businessName = "医学成本报销单";
        this.amountLabel="金额"
      }
      else if (this.businessType == "4") {
        this.businessName = "办公费用报销单";
        this.amountLabel="金额"
        // this.getBaseInfoList();
      }
@@ -899,7 +917,6 @@
        this.businessType == "2" ||
        this.businessType == "3"
      ) {
        console.log("", this.curCase);
        this.form.infoid = this.curCase.id;
        this.form.donorname = this.curCase.name;
        this.form.donorno = this.curCase.donorno;
@@ -925,9 +942,6 @@
        //明细处理
        getownFundDetail(this.curId).then(res => {
          this.rbDetails = res.data;
          console.log(res);
          console.log(this.curId, res.data);
          if (this.rbDetails.length > 0) {
            for (let m = 0; m < this.rbDetails.length; m++) {
              this.rbDetails[m].itemlist = [];
@@ -959,6 +973,49 @@
        });
      });
    },
    /** 查看按钮操作 */
    handleDetail() {
      this.isopen = 0;
      this.reset();
      getFund(this.curId).then(response => {
        this.form = response.data;
        //附件处理
        // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
        //业务明细
        getownFundDetail(this.curId).then(res => {
          this.rbDetails = res.data;
          for (let m = 0; m < this.rbDetails.length; m++) {
            this.rbDetails[m].itemlist = [];
            this.getFeeItems(m, this.rbDetails[m]);
            this.rbDetails[m].rowfeeblocks = [];
            this.rbDetails[m].rowfeeblocks.push({
              servicesscope: this.rbDetails[m].servicesscope,
              expensedescribe: this.rbDetails[m].servicesscopename,
              expense: this.rbDetails[m].expense,
              remark: this.rbDetails[m].servicesscopename
            });
          }
          if (this.rbDetails.length == 0) {
            this.addRow(0);
          }
        });
        //业务流程
        let listFundflowparams = {
          fundid: this.curId,
          fundtype: 2
        };
        listFundflow(listFundflowparams).then(res => {
          this.fundflowList = res.rows;
        });
      });
    },
    /** 修改按钮操作 */
    handleCheck() {
      this.isopen = 0;
@@ -997,48 +1054,7 @@
    },
    /** 查看按钮操作 */
    handleDetail() {
      this.isopen = 0;
      this.reset();
      getFund(this.curId).then(response => {
        this.form = response.data;
        //附件处理
        // this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
        //业务明细
        getownFundDetail(this.curId).then(res => {
          console.log(res);
          this.rbDetails = res.data;
          for (let m = 0; m < this.rbDetails.length; m++) {
            this.rbDetails[m].itemlist = [];
            this.getFeeItems(m, this.rbDetails[m]);
            this.rbDetails[m].rowfeeblocks = [];
            this.rbDetails[m].rowfeeblocks.push({
              expense: this.rbDetails[m].expense,
              expensedescribe: this.rbDetails[m].servicesscopename,
              remark: this.rbDetails[m].servicesscope,
              servicesscope: this.rbDetails[m].servicesscope
            });
          }
          if (this.rbDetails.length == 0) {
            this.addRow(0);
          }
        });
        //业务流程
        let listFundflowparams = {
          fundid: this.curId,
          fundtype: 2
        };
        listFundflow(listFundflowparams).then(res => {
          this.fundflowList = res.rows;
        });
      });
    },
    /** 删除按钮操作 */
    handleDelete() {
      this.$modal
        .confirm("是否确认删除该记录?")
@@ -1311,6 +1327,7 @@
        if (
          this.userprofile.createBy == "admin" ||
          this.userprofile.createBy == "001" ||
          this.userprofile.createBy == "012" ||
          this.userprofile.createBy == "002"
        ) {
          this.ismanager = true;
@@ -1319,12 +1336,13 @@
        }
        this.form.username = this.userprofile.nickName;
        this.form.userno = this.userprofile.userName;
        this.form.phone = this.userprofile.phonenumber;
        this.form.deptmentname = this.userprofile.dept.deptName;
        this.form.deptmentno = this.userprofile.dept.deptId;
        this.form.managername = this.userprofile.dept.leader;
        this.form.phone = this.userprofile.phonenumber;
        // this.form.applytype = this.businessType;
        // this.form.createTime = new Date();
        this.getUserAccount();
      });
    },
@@ -1358,6 +1376,17 @@
              exportName: this.personlist[j].username
            });
          }
        }
      });
    },
    //获取经办人账号信息
    getUserAccount() {
      this.personlist.map(res => {
        if (res.username == this.form.username) {
          this.form.bankname = res.depositbank;//res.branchbankname、res.depositbank;
          this.form.bankcardno = res.bankcardno;
          this.form.phone = res.telephone;
        }
      });
    },
@@ -1440,7 +1469,7 @@
    },
    //加载服务项目
    loadFeeItems(row) {
    verifyFeeItemType(row) {
      let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);
      row.itemlist = list[0].itemDetails;
      row.itemid = null;
@@ -1455,7 +1484,7 @@
    },
    //获取费用项目的备注信息
    selectedRemark(row) {
    verifyFeeRemark(row) {
      row.rowfeeblocks.forEach((item, i) => {
        if (item.servicesscope === row.servicesscope) {
          row.servicesscopename = item.expensedescribe;
@@ -2066,13 +2095,13 @@
  created() {
    //获取路由参数
    this.getroute();
    this.getUserProfile();
    this.getUserList();
    this.getExternalList();
  },
  //生命周期 - 挂载完成(可以访问DOM元素)
  mounted() {
    this.getExternalList();
    this.getUserList();
    this.getUserProfile();
    // this.getFeeUnitList();
  },