| | |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <!-- |
| | | <!-- |
| | | <el-col :span="7"> |
| | | <el-form-item label="工作单位" prop="unitno"> |
| | | <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" /> |
| | |
| | | <el-input v-model="form.remark" placeholder="申请说明" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- |
| | | <!-- |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请状态" prop="recordstatus"> |
| | | <el-select v-model="form.recordstatus" placeholder="请选择审核状态" clearable size="small" :disabled="true"> |
| | |
| | | > |
| | | </div> |
| | | </el-col> |
| | | <el-col |
| | | <!-- <el-col |
| | | :span="3" |
| | | v-if=" |
| | | userprofile.nickName == '陈慕华' && |
| | |
| | | >计算个税</el-button |
| | | > |
| | | </div> |
| | | </el-col> |
| | | </el-col> --> |
| | | </el-row> |
| | | <el-row> |
| | | <el-table |
| | |
| | | <el-input v-model="scope.row.orderno" placeholder="序号" /> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- |
| | | <el-table-column prop="itemcode" align="center" label="项目编号" show-overflow-tooltip="" |
| | | v-if="form.applytype == '1'"> |
| | | </el-table-column>--> |
| | | <el-table-column |
| | | prop="applytype" |
| | | align="center" |
| | |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <!-- |
| | | <el-table-column prop="unitname" align="center" label="单位(个人)名称" width="300" |
| | | v-if="form.applytype == '4' || form.applytype == '3'"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" plain @click="showSelectionDialog(scope, 'account')">{{ |
| | | scope.row.unitname |
| | | ? scope.row.unitname |
| | | : "点击选择" |
| | | }}</el-button> |
| | | |
| | | <el-select |
| | | v-model="scope.row.unitno" |
| | | placeholder="单位" |
| | | clearable |
| | | filterable |
| | | allow-create |
| | | > |
| | | <el-option |
| | | v-for="(spec, index) in unitList" |
| | | :key="index" |
| | | :label="spec.organizationname" |
| | | :value="spec.organizationid" |
| | | ></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | --> |
| | | <el-table-column |
| | | prop="title" |
| | | align="center" |
| | |
| | | type="text" |
| | | size="small" |
| | | v-if=" |
| | | businessType == 2 || businessType == 3 || businessType == 4 |
| | | businessType == 2 || |
| | | businessType == 3 || |
| | | businessType == 4 || |
| | | businessType == 1 |
| | | " |
| | | >票据</el-button |
| | | > |
| | |
| | | style="margin-top: 25px; margin-bottom: 5px" |
| | | v-if="operationType == 'check' && userprofile.nickName == '陈慕华'" |
| | | > |
| | | <el-col :span="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="预审材料" prop="infoid"> |
| | | <el-radio-group v-model="form.checkstatus" align="left"> |
| | | <el-radio :label="1">待申请材料</el-radio> |
| | | <el-radio :label="2">审核通过等待邮寄纸质材料</el-radio> |
| | | <el-radio :label="3">已收到报销材料</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" v-if="businessType == 1"> |
| | | <el-form-item label="算税状态" prop="infoid"> |
| | | <el-radio-group v-model="form.istax" align="left"> |
| | | <el-radio :label="-1">审核中</el-radio> |
| | | <el-radio :label="0">允许算税</el-radio> |
| | | <el-radio :label="1">已算税</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | :visible.sync="pdfVisible" |
| | | width="60%" |
| | | > |
| | | <div> |
| | | <div style="margin-bottom: 10px;"> |
| | | <el-table :data="tableDatatop" style="width: 100%"> |
| | | <el-table-column |
| | | v-if="businessType == 4" |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <el-alert |
| | | title="新上传文件需在提交保存后才可进行案例关联,否则视为放弃" |
| | | type="error" |
| | | show-icon |
| | | close-text="知道了" |
| | | > |
| | | </el-alert> |
| | | <el-tabs |
| | | style="margin-top: 20px;" |
| | | v-model="activeName" |
| | | type="border-card" |
| | | @tab-click="handleClick" |
| | | > |
| | | <el-tab-pane label="普通附件" :name="1"> |
| | | <el-tab-pane label="普通附件" name="common"> |
| | | <div class="pdfimg"> |
| | | <div class="box-pdf"> |
| | | <div> |
| | |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="primary" |
| | | type="danger" |
| | | size="mini" |
| | | @click.native.prevent.stop="deletedowfile(scope.row)" |
| | | >删除</el-button |
| | |
| | | <div v-else class="pdfimgmins">{{ hintitle }}</div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="发票文件" :name="2"> |
| | | <el-tab-pane label="发票文件" name="invoice"> |
| | | <div class="pdfimg"> |
| | | <div class="box-pdf"> |
| | | <div> |
| | |
| | | invoicepdfimg: "", |
| | | invoicepdfimgsrcList: [], |
| | | invoDatatop: [], |
| | | activeName: 1, //文件类型 |
| | | activeName: "common", //文件类型 |
| | | //上传附件路径 |
| | | uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", |
| | | ICDtoken: getToken(), |
| | |
| | | sessionStorage.setItem("apiform", JSON.stringify(this.form)); |
| | | addorupdateFund(this.form) |
| | | .then(response => { |
| | | if (response.code === 200) { |
| | | if (response.code == 200) { |
| | | if (this.form.id) { |
| | | this.$modal.msgSuccess("申请单修改成功!"); |
| | | this.$router.go(-1); |
| | |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | | "行的服务人员姓名为选择,请选择人员后再提交保存!" |
| | | "行的人员姓名为空,请选择人员后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | | if (tempDetail.unitname == null) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | | "行的专家单位为空,请选择单位后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | |
| | | }; |
| | | this.$modal.loading("正在提交审核,请稍候!"); |
| | | checkfund(checkFundObj).then(res => { |
| | | //关闭窗口 |
| | | this.$modal.closeLoading(); |
| | | this.$modal.msgSuccess("审核完成!"); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | if (res.code == 200) { |
| | | //关闭窗口 |
| | | this.$modal.closeLoading(); |
| | | this.$modal.msgSuccess("审核完成!"); |
| | | this.$store.dispatch("tagsView/delView", this.$route); |
| | | this.$router.go(-1); |
| | | } else { |
| | | if (res.msg) { |
| | | this.$modal.msgError("操作失误"); |
| | | } else { |
| | | this.$modal.msgError(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | this.Getnetworkheader(); |
| | |
| | | .catch(() => { |
| | | //几点取消的提示 |
| | | }); |
| | | |
| | | //全部删除后添加一条新行 |
| | | }, |
| | | |
| | | //计算总金额 |
| | | sumTotalFee(row) { |
| | | let allSum = 0; |
| | |
| | | handleUploadError() {}, |
| | | remove(file, fileList) { |
| | | const rbDetails = [...this.rbDetails]; |
| | | if (this.activeName == 1) { |
| | | if (this.activeName == "common") { |
| | | this.fileListto.splice(this.fileListto.indexOf(file), 1); |
| | | rbDetails[this.atpresent].annexfilesList = this.fileListto; |
| | | } else { |
| | |
| | | }; |
| | | const pdfimg = this.Networkheader + "/prod-api" + response.fileName; |
| | | //获取票据信息位置 |
| | | if (this.activeName == 1) { |
| | | if (this.activeName == "common") { |
| | | if (response.code == 200) { |
| | | this.previewpdf = true; |
| | | |
| | |
| | | this.tableDatatop.push(row); |
| | | this.atpresent = index; |
| | | this.pdfVisible = true; |
| | | console.log(this.fileListto, "this.fileListto"); |
| | | console.log(this.invoicefileListto, "this.invoicefileListto"); |
| | | |
| | | if (this.rbDetails[index].annexfilesList) { |
| | | this.rbDetails[index].annexfilesList.forEach((value, indexson) => { |
| | | const pdfimg = this.Networkheader + "/prod-api" + value.url; |
| | | fetch(pdfimg, config) |
| | | .then(response => response.blob()) |
| | | .then(blob => { |
| | | // 将获取的数据流转换为URL |
| | | this.fileListto.push({ |
| | | name: value.name, |
| | | url: URL.createObjectURL(blob) |
| | | // this.rbDetails[index].annexfilesList.forEach((value, indexson) => { |
| | | // const pdfimg = this.Networkheader + "/prod-api" + value.url; |
| | | // fetch(pdfimg, config) |
| | | // .then(response => response.blob()) |
| | | // .then(blob => { |
| | | // // 将获取的数据流转换为URL |
| | | // this.fileListto.push({ |
| | | // name: value.name, |
| | | // url: URL.createObjectURL(blob) |
| | | // }); |
| | | // if (this.fileListto.length == 1) { |
| | | // this.pdfimg = URL.createObjectURL(blob); |
| | | // } |
| | | // this.pdfimgsrcList.push(URL.createObjectURL(blob)); |
| | | // }) |
| | | // .catch(error => { |
| | | // console.error("Error loading image", error); |
| | | // return; |
| | | // }); |
| | | // }); |
| | | |
| | | const fetchPromises = this.rbDetails[index].annexfilesList.map( |
| | | (value, indexson) => { |
| | | const pdfimg = this.Networkheader + "/prod-api" + value.url; |
| | | return fetch(pdfimg, config) |
| | | .then(response => response.blob()) |
| | | .then(blob => { |
| | | return { |
| | | name: value.name, |
| | | url: URL.createObjectURL(blob) |
| | | }; |
| | | }) |
| | | .catch(error => { |
| | | console.error("Error loading image", error); |
| | | return null; |
| | | }); |
| | | if (this.fileListto.length == 1) { |
| | | this.pdfimg = URL.createObjectURL(blob); |
| | | } |
| | | this.pdfimgsrcList.push(URL.createObjectURL(blob)); |
| | | }) |
| | | .catch(error => { |
| | | console.error("Error loading image", error); |
| | | return; |
| | | }); |
| | | } |
| | | ); |
| | | |
| | | Promise.all(fetchPromises).then(fileListto => { |
| | | this.fileListto = fileListto.filter(item => item !== null); |
| | | this.pdfimg = this.fileListto[0].url; |
| | | console.log(this.pdfimg, "pdfimg"); |
| | | this.pdfimgsrcList = this.fileListto.map(item => item.url); |
| | | }); |
| | | |
| | | this.previewpdf = true; |
| | | } else { |
| | | this.fileListto = []; |
| | |
| | | } |
| | | //发票 |
| | | if (this.rbDetails[index].invoicefilesList) { |
| | | this.rbDetails[index].invoicefilesList.forEach((value, indexson) => { |
| | | const pdfimg = this.Networkheader + "/prod-api" + value.url; |
| | | fetch(pdfimg, config) |
| | | .then(response => response.blob()) |
| | | .then(blob => { |
| | | // 将获取的数据流转换为URL |
| | | this.invoicefileListto.push({ |
| | | name: value.name, |
| | | url: URL.createObjectURL(blob) |
| | | const fetchPromises = this.rbDetails[index].invoicefilesList.map( |
| | | (value, indexson) => { |
| | | const pdfimg = this.Networkheader + "/prod-api" + value.url; |
| | | return fetch(pdfimg, config) |
| | | .then(response => response.blob()) |
| | | .then(blob => { |
| | | return { |
| | | name: value.name, |
| | | url: URL.createObjectURL(blob) |
| | | }; |
| | | }) |
| | | .catch(error => { |
| | | console.error("Error loading image", error); |
| | | return null; |
| | | }); |
| | | if (this.invoicefileListto.length == 1) { |
| | | this.invoicepdfimg = URL.createObjectURL(blob); |
| | | } |
| | | this.invoicepdfimgsrcList.push(URL.createObjectURL(blob)); |
| | | }) |
| | | .catch(error => { |
| | | console.error("Error loading image", error); |
| | | return; |
| | | }); |
| | | } |
| | | ); |
| | | |
| | | Promise.all(fetchPromises).then(invoicefileListto => { |
| | | this.invoicefileListto = invoicefileListto.filter( |
| | | item => item !== null |
| | | ); |
| | | this.invoicepdfimg = this.invoicefileListto[0].url; |
| | | console.log(this.invoicepdfimg, "invoicepdfimg"); |
| | | this.invoicepdfimgsrcList = this.invoicefileListto.map( |
| | | item => item.url |
| | | ); |
| | | }); |
| | | |
| | | this.previewpdf = true; |
| | | } else { |
| | | this.invoicefileListto = []; |
| | |
| | | this.pdftitle = ""; |
| | | } |
| | | |
| | | if (this.activeName == 1) { |
| | | if (this.activeName == "common") { |
| | | this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; |
| | | } else { |
| | | this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项"; |
| | | } |
| | | console.log(this.fileListto, "this.fileListto"); |
| | | console.log(this.rbDetails[index].annexfilesList, "annexfilesList"); |
| | | }, |
| | | |
| | | // 点击已上传文件 |
| | | downFile(item) { |
| | | if (this.activeName == 1) { |
| | | if (this.activeName == "common") { |
| | | this.pdftitle = |
| | | "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name; |
| | | let name = item.name.split("."); |
| | |
| | | }, |
| | | // 发票切换 |
| | | handleClick(tab, event) { |
| | | if (this.activeName == 1) { |
| | | if (this.activeName == "common") { |
| | | this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; |
| | | } else { |
| | | this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项"; |
| | |
| | | deletedowfile(row) { |
| | | console.log(row); |
| | | let indexvalue = ""; |
| | | if (this.activeName == 1) { |
| | | if (this.activeName == "common") { |
| | | const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.url); |
| | | this.pdfimgsrcList.splice(indexlist, 1); |
| | | const index = this.getIndexInArray(this.fileListto, row); |
| | | this.fileListto.splice(index, 1); |
| | | console.log(this.rbDetails[this.atpresent].annexfilesList); |
| | | indexvalue = this.rbDetails[this.atpresent].annexfilesList.find( |
| | | (item, index) => { |
| | | return item.name == row.name; |
| | | } |
| | | indexvalue = this.rbDetails[this.atpresent].annexfilesList.findIndex( |
| | | item => item.name == row.name |
| | | ); |
| | | console.log(indexvalue, "删除索引"); |
| | | this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1); |
| | |
| | | const index = this.getIndexInArray(this.invoicefileListto, row); |
| | | this.invoicefileListto.splice(index, 1); |
| | | console.log(this.rbDetails[this.atpresent].invoicefilesList); |
| | | indexvalue = this.rbDetails[this.atpresent].invoicefilesList.find( |
| | | (item, index) => { |
| | | return item.name == row.name; |
| | | } |
| | | indexvalue = this.rbDetails[this.atpresent].invoicefilesList.findIndex( |
| | | item => item.name == row.name |
| | | ); |
| | | console.log(indexvalue, "删除索引"); |
| | | this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1); |
| | |
| | | }, |
| | | // 点击上移 |
| | | moveupdowfile(row) { |
| | | if (this.activeName == 1) { |
| | | const index = this.getIndexInArray(this.fileListto, row); |
| | | if (this.activeName == "common") { |
| | | const index = this.fileListto.findIndex(item => item.name == row.name); |
| | | const item = this.fileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中 |
| | | this.fileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位 |
| | | const indexann = this.rbDetails[this.atpresent].annexfilesList.findIndex(item => item.name == row.name); |
| | | |
| | | const indexann = this.rbDetails[ |
| | | this.atpresent |
| | | ].annexfilesList.findIndex(item => item.name == row.name); |
| | | const itemann = this.rbDetails[this.atpresent].annexfilesList.splice( |
| | | indexann, |
| | | 1 |
| | |
| | | 0, |
| | | itemann |
| | | ); // 将itemann插入到索引位置的前一位 |
| | | |
| | | console.log(indexann, "indexann"); |
| | | console.log(index, "index"); |
| | | } else { |
| | | const index = this.getIndexInArray(this.invoicefileListto, row); |
| | | const index = this.invoicefileListto.findIndex( |
| | | item => item.name == row.name |
| | | ); |
| | | |
| | | const item = this.invoicefileListto.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中 |
| | | this.invoicefileListto.splice(index - 1, 0, item); // 将item插入到索引位置的前一位 |
| | | |
| | | const indexinvo = this.rbDetails[this.atpresent].invoicefilesList.findIndex(item => item.name == row.name); |
| | | const indexinvo = this.rbDetails[ |
| | | this.atpresent |
| | | ].invoicefilesList.findIndex(item => item.name == row.name); |
| | | const iteminvo = this.rbDetails[this.atpresent].invoicefilesList.splice( |
| | | indexinvo, |
| | | 1 |
| | |
| | | ) { |
| | | this.accountlist.map(res => { |
| | | if (res.id == this.accountselectform.accountname) { |
| | | console.log(res, "res"); |
| | | const hasIdOne = this.rbDetails.some( |
| | | obj => obj.beneficiaryname == res.username |
| | | ); |
| | | if (hasIdOne) { |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,人员名称:" + |
| | | res.username + |
| | | "重复,请注意核对信息!" |
| | | ); |
| | | } |
| | | this.rbDetails[tempIndex].beneficiaryno = res.userno; |
| | | this.rbDetails[tempIndex].beneficiaryname = res.username; |
| | | this.rbDetails[tempIndex].depositbank = res.depositbank; |