| | |
| | | <el-form-item label="ç»å人" prop="username"> |
| | | <el-select v-model="form.username" clearable filterable allow-create ref="getReportname" |
| | | default-first-option placeholder="è¯·éæ©"> |
| | | <el-option v-for="item in reporters" :key="item.reportNo" :label="item.reportName" |
| | | <el-option v-for="item in personList" :key="item.reportNo" :label="item.reportName" |
| | | :value="item.reportName"> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | <el-input v-model="scope.row.orderno" placeholder="åºå·" /> |
| | | </template> |
| | | </el-table-column> |
| | | <!--主é®ãå¤ä¸å±ç¤º--> |
| | | <el-table-column prop="id" slot="" label="主é®" align="center" fixed width="95" v-if="false"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.id" placeholder="id" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="rbid" slot="" label="å¤é®" align="center" fixed width="95" v-if="false"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.rbid" placeholder="rbid" /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="persontype" slot="" label="人åç±»å«" align="center" fixed width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="form.persontype" value-key="value" placeholder="人åç±»å«" @change="getTravelers"> |
| | | <el-select v-model="scope.row.persontype" value-key="value" placeholder="人åç±»å«" |
| | | @change="getTravelers(scope.row)"> |
| | | <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="personname" slot="" label="åºå·®äºº" align="center" fixed width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-table-column prop="personname2" slot="" label="è´¹ç¨äººå" align="center" fixed width="120"> |
| | | <!-- <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.personname" placeholder="åºå·®äºº" /> |
| | | </template> --> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option |
| | | placeholder="è¯·éæ©" @focus="filterPersonList(scope.row)"> |
| | | <el-option v-for="item in scope.row.personname2" :key="item.reportNo" :label="item.reportName" |
| | | :value="item.reportName"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="starttime" slot="" label="å¼å§æ¥æ" fixed align="center" width="150"> |
| | |
| | | <el-input v-model="scope.row.departure" placeholder="åºåå°" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="å°è¾¾å°" prop="destination" align="center" fixed width="100"> |
| | | <el-table-column label="å°è¾¾å°" prop="destination2" align="center" fixed width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.destination" placeholder="å°è¾¾å°" @blur="getallowance(scope.row)" /> |
| | | <!-- <el-input v-model="scope.row.destination" placeholder="å°è¾¾å°" @blur="getallowance(scope.row)" /> --> |
| | | |
| | | <el-select filterable allow-create v-model="scope.row.destination" value-key="value" placeholder="å°è¾¾å°" |
| | | @change="getallowance2(scope.row, scope.row.destination)"> |
| | | <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="days" label="天æ°" width="65" align="center"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="trafficexpense" label="交éè´¹" align="center" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.trafficexpense" placeholder="交éè´¹" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.trafficexpense" placeholder="交éè´¹" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | --> |
| | | <el-table-column prop="hotelexpense" label="ä½å®¿è´¹" align="center" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.hotelexpense" placeholder="ä½å®¿è´¹" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.hotelexpense" placeholder="ä½å®¿è´¹" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | |
| | | <el-table-column prop="foodexpenses" label="é¤è´¹æ¥é" align="center" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.foodexpenses" placeholder="ä¼é£è´¹æ¥é" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.foodexpenses" placeholder="ä¼é£è´¹æ¥é" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="foodallowance" label="ä¼é£è¡¥å©" align="center" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.foodallowance" placeholder="ä¼é£è´¹è¡¥å©" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.foodallowance" placeholder="ä¼é£è´¹è¡¥å©" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="otherexpense" label="å
¬æè´¹è¡¥å©" align="center" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.otherexpense" placeholder="æè´¹" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.otherexpense" placeholder="æè´¹" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | |
| | | <el-table-column prop="otherfeeamount" label="å
¶ä»è´¹ç¨" align="center" width="90"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.otherfeeamount" placeholder="å
¶ä»è´¹ç¨" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.otherfeeamount" placeholder="å
¶ä»è´¹ç¨" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | |
| | | <el-table-column fixed="right" label="æä½" align="center" width="120" v-if="dialogType == 'edit'"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="mini" @click="addRow(scope.$index)">æ°å¢</el-button> |
| | | <el-button @click.native.prevent=" |
| | | deleteRow(scope.$index, applicationDetailArr, scope.row) |
| | | <el-button @click.native.prevent="deleteRow(scope.$index, applicationDetailArr, scope.row) |
| | | " type="text" size="small"> |
| | | å é¤ |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | | |
| | | <el-row style="margin-top: 30px"> |
| | | <el-table :data="applicationDetailArr2" border highlight-current-row> |
| | | <el-table-column prop="col_orderno" slot="" label="åºå·" align="center" fixed width="65"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.col_orderno" placeholder="åºå·" /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <!--主é®ãå¤ä¸å±ç¤º--> |
| | | <el-table-column prop="id" slot="" label="主é®" align="center" fixed width="95" v-if="false"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.id" placeholder="id" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="rbid" slot="" label="å¤é®" align="center" fixed width="95" v-if="false"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.rbid" placeholder="rbid" /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="col_personType" slot="" label="人åç±»å«" align="center" fixed width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.col_personType" value-key="value" placeholder="人åç±»å«" |
| | | @change="getColTravelers(scope.row, scope.row.col_personType)"> |
| | | <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" |
| | | :value="dict.value"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="col_personname2" slot="" label="æ¶æ¬¾äºº" align="center" fixed width="130"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.col_personname" clearable filterable allow-create ref="getReportname" |
| | | default-first-option placeholder="è¯·éæ©" @change="selectedColTraveler(scope.row)"> |
| | | <el-option v-for="item in scope.row.col_personname2" :key="item.reportNo" :label="item.reportName" |
| | | :value="item.reportName"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="col_bank" slot="" label="æ¶æ¬¾é¶è¡" align="center" fixed width="260"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.col_bank" placeholder="æ¶æ¬¾é¶è¡" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="col_accounts" slot="" label="æ¶æ¬¾å¸å·" align="center" fixed width="230"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.col_accounts" placeholder="æ¶æ¬¾å¸å·" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="col_date" slot="" label="仿¬¾æ¥æ" align="center" fixed width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.col_date" placeholder="仿¬¾æ¥æ" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="col_illustrate" slot="" label="说æ" align="center" fixed width="310"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.col_illustrate" placeholder="说æ" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" align="center" width="100" v-if="dialogType == 'edit'"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="mini" @click="col_addRow(scope.$index)">æ°å¢</el-button> |
| | | <el-button @click.native.prevent="deleteRow2(scope.$index, applicationDetailArr2, scope.row) |
| | | " type="text" size="small"> |
| | | å é¤ |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | </el-row> |
| | | |
| | | <!-- |
| | |
| | | <el-form-item label="æä»¶ä¸ä¼ " align="left" prop="annexfiles"> |
| | | <!-- <file-upload ref="fileUpload" :fileType=fileType :limit="1" :on-success="handleUploadSuccess"></file-upload> --> |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple :limit="5" |
| | | :headers="headers" :on-success=" |
| | | (response, file, fileList) => |
| | | :headers="headers" :on-success="(response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | " :on-preview="downFile" :disabled='dialogType == "detail"' :on-error="handleUploadError" |
| | | :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> |
| | |
| | | |
| | | <script> |
| | | import { listDonatebaseinfo } from "@/api/project/donatebaseinfo"; |
| | | import { addOrUpdateRBpayee, listReimbursementpayee } from "@/api/project/reimbursementpayee"; |
| | | import { |
| | | listReimbursement, |
| | | getReimbursement, |
| | |
| | | updateReimbursement, |
| | | exportReimbursement, |
| | | getdownload, |
| | | //è·åå°å¸å¯¹åºåºåéé¢ |
| | | getstandardRMB, |
| | | fundSubmit, |
| | | } from "@/api/project/reimbursement"; |
| | | import { |
| | |
| | | listReimbursementdetailid, |
| | | getReimbursementdetaillist, |
| | | delReimbursementdetail, |
| | | delReimbursementdetailrbid, |
| | | updateReimbursementdetaillist, |
| | | getTravelStandard, |
| | | } from "@/api/project/reimbursementdetail"; |
| | | import { listFundflow } from "@/api/project/fundflow"; |
| | |
| | | import { regionDataPlus, CodeToText } from "element-china-area-data"; |
| | | import Li_area_select from "@/components/Address"; |
| | | import { getUserProfile } from "@/api/system/user"; |
| | | import { |
| | | listOrganization, |
| | | getOrganization, |
| | | listReportname, |
| | | listUser, |
| | | } from "@/api/project/organization"; |
| | | import { getSubsidy } from "@/api/project/travelcity"; |
| | | import { listReportname, listUser } from "@/api/project/organization"; |
| | | import { getToken } from "@/utils/auth"; |
| | | export default { |
| | | components: { |
| | |
| | | "sys_recordstatus", |
| | | "sys_travelexpensebelong", |
| | | "sys_traffictype", |
| | | "sys_area_name", |
| | | ], |
| | | data() { |
| | | return { |
| | | reporters: [], |
| | | personList: [], |
| | | travelers: [], |
| | | coltravelers: [], |
| | | costtypeobj: { |
| | | value: 0, |
| | | label: "", |
| | |
| | | remark: null, |
| | | departure: null, |
| | | endtime: null, |
| | | destination: null, |
| | | destination2: null, |
| | | uploadFlag: null, |
| | | uploadTime: null, |
| | | orderByColumn: "createTime", |
| | | isAsc: "desc", |
| | | }, |
| | | queryParams2: { |
| | | persontype: null, |
| | | arriveAddr: null, |
| | | }, |
| | | // 表ååæ° |
| | | form: {}, |
| | |
| | | bigstrmoney: null, |
| | | }, |
| | | applicationDetailArr: [], |
| | | applicationDetailArr2: [], |
| | | arrr2: [], |
| | | baselist: [], |
| | | balist: [], |
| | |
| | | uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", |
| | | //æä»¶å表 |
| | | fileList: [], |
| | | //人åç±»å« |
| | | persontype: null, |
| | | //å°è¾¾å° |
| | | arriveAddr: null, |
| | | |
| | | headers: { |
| | | Authorization: "Bearer " + getToken(), |
| | |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | this.getlistUser(); |
| | | this.selectReporters(); |
| | | this.getUserList(); |
| | | this.getPersonList(); |
| | | }, |
| | | mounted() { |
| | | listDonatebaseinfo().then((res) => { |
| | |
| | | this.getUsermsg(); |
| | | }, |
| | | methods: { |
| | | alertMessage(row) { |
| | | debugger |
| | | }, |
| | | |
| | | handleUploadError() { }, |
| | | remove(file) { |
| | | |
| | | this.fileList.splice(this.fileList.indexOf(file), 1) |
| | | |
| | | }, |
| | | handleExceed() { |
| | | this.$message.error(`ä¸ä¼ æä»¶æ°éä¸è½è¶
è¿ ${5} 个!`); |
| | |
| | | this.$modal.msgError(response.msg); |
| | | } |
| | | }, |
| | | selectReporters() { |
| | | //ä¸å®¶äººåå表 |
| | | let arr = ["xty1", "zzry", "fzr"]; |
| | | let arrreportlist = []; |
| | | for (let i = 0; i < arr.length; i++) { |
| | | this.arrr2 = []; |
| | | listReportname(arr[i]).then((res) => { |
| | | this.arrr2 = res.data; |
| | | this.reporters = this.reporters.concat(this.arrr2); |
| | | // console.log("adadadadasdsad", this.reporters); |
| | | |
| | | //è·å人åå表 |
| | | getPersonList() { |
| | | //è·ååç±»å«ç人åï¼åè°åãä¸è人åãè´è´£äººãä¸å®¶ |
| | | let persontypeArr = ["xty1", "zzry", "fzr", "expert"]; |
| | | for (let i = 0; i < persontypeArr.length; i++) { |
| | | this.tempArrr = []; |
| | | listReportname(persontypeArr[i]).then((res) => { |
| | | this.tempArrr = res.data; |
| | | this.personList = this.personList.concat(this.tempArrr); |
| | | }); |
| | | } |
| | | }, |
| | | //è·åä¸ä¸ªç±»å«ç人åå表 |
| | | filterPersonList(row) { |
| | | let travelertype = row.persontype; |
| | | }, |
| | | |
| | | //è·ååºå·®äººå表 |
| | | getTravelers() { |
| | | getTravelers(row, val) { |
| | | //ä¸è人å-1,åè°å-2,ä¸å®¶-3,å®¶å±-4,å
¶ä»äººå-5 |
| | | let travelertype = ""; |
| | | if (this.form.costtype == 1) { |
| | | if (row.persontype == "1") { |
| | | travelertype = "zzry"; |
| | | } else if (this.form.costtype == 2) { |
| | | } else if (row.persontype == "2") { |
| | | travelertype = "xty1"; |
| | | } else if (this.form.costtype == 3) { |
| | | } else if (row.persontype == "3") { |
| | | travelertype = "expert"; |
| | | } else if (this.form.costtype == 4) { |
| | | } else if (row.persontype == "4") { |
| | | travelertype = "jiashu"; |
| | | } else if (this.form.costtype == 5) { |
| | | } else if (row.persontype == "5") { |
| | | travelertype = "fzr"; |
| | | } |
| | | |
| | | listReportname(travelertype).then((res) => { |
| | | this.travelers = res.data; |
| | | row.personname2 = res.data; |
| | | }); |
| | | this.form.persontype = val; |
| | | }, |
| | | //è·åæ¶æ¬¾äººå表 |
| | | getColTravelers(row, val2) { |
| | | debugger; |
| | | //ä¸è人å-1,åè°å-2,ä¸å®¶-3,å®¶å±-4,å
¶ä»äººå-5 |
| | | let travelertype = ""; |
| | | if (val2 == 1) { |
| | | travelertype = "zzry"; |
| | | } else if (val2 == 2) { |
| | | travelertype = "xty1"; |
| | | } else if (val2 == 3) { |
| | | travelertype = "expert"; |
| | | } else if (val2e == 4) { |
| | | travelertype = "jiashu"; |
| | | } else if (val2 == 5) { |
| | | travelertype = "fzr"; |
| | | } |
| | | listReportname(travelertype).then((res) => { |
| | | this.travelers = res.data; |
| | | row.col_personname2 = res.data; |
| | | }); |
| | | this.col_personType = val2; |
| | | }, |
| | | |
| | | selectcosttype() { |
| | |
| | | this.standardlevel = response.data.standardlevel; |
| | | }); |
| | | }, |
| | | getlistUser() { |
| | | |
| | | getUserList() { |
| | | listUser().then((res) => { |
| | | this.userlist = res.data; |
| | | }); |
| | |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | //è·åæ¶æ¬¾äººé¶è¡å¡åå¸å· |
| | | selectedColTraveler(row) { |
| | | let travelertype = ""; |
| | | if (row.col_personType == 1) { |
| | | travelertype = "zzry"; |
| | | } else if (row.col_personType == 2) { |
| | | travelertype = "xty1"; |
| | | } else if (row.col_personType == 3) { |
| | | travelertype = "expert"; |
| | | } else if (row.col_personType == 4) { |
| | | travelertype = "jiashu"; |
| | | } else if (row.col_personType == 5) { |
| | | travelertype = "fzr"; |
| | | } |
| | | listReportname(travelertype).then((res) => { |
| | | let dataArr = res.data; |
| | | for (let m = 0; m < dataArr.length; m++) { |
| | | if (dataArr[m].reportName == row.col_personname) { |
| | | row.col_bank = dataArr[m].depositbank; |
| | | row.col_accounts = dataArr[m].bankcardno; |
| | | }; |
| | | } |
| | | }); |
| | | // this.coltravelers.map((res) => { |
| | | // console.log("-----------------------------"); |
| | | // if (res.reportName == this.form.travelers) { |
| | | // getInfoBytheUserNo(res.reportNo).then((res) => { |
| | | // this.form.depositbank = res.data.depositbank; |
| | | // this.form.bankcardno = res.data.bankcardno; |
| | | // this.form.phone = res.data.telephone; |
| | | // }); |
| | | // } |
| | | // }); |
| | | }, |
| | | //计ç®è¡¥å© |
| | | getallowance(row) { |
| | |
| | | }; |
| | | |
| | | //å
¬æè´¹è¡¥å©ï¼æå·æ¡åºï¼å»ºå¾·ï¼æ·³å®60ï¼æå·å
¶ä»å°åº0ï¼éæå·å°åº80 |
| | | if (row.destination != "") { |
| | | var str = row.destination; |
| | | if (row.destination2 != "") { |
| | | var str = row.destination2; |
| | | //éªè¯åå¸ |
| | | ////if (str.indexOf("æ¡åºï¼å»ºå¾·ï¼æ·³å®") !== -1) { }; |
| | | if (str.includes("æå·")) { row.otherexpense = parseInt(row.days) * 0 } |
| | |
| | | //计ç®å计 |
| | | this.sumTotalFee(); |
| | | }, |
| | | getallowance2(row, val2) { |
| | | debugger; |
| | | // this.getallowance(row); |
| | | this.arriveAddr = val2; |
| | | this.queryParams2.arriveAddr; |
| | | this.queryParams2.personType = row; |
| | | console.log(row.persontype); |
| | | console.log(this.arriveAddr); |
| | | if (row.persontype != undefined && row.persontype == "2" || row.persontype == "5") { |
| | | console.log(this.arriveAddr); |
| | | this.loading = true; |
| | | debugger; |
| | | getSubsidy(val2).then((response) => { |
| | | debugger |
| | | this.loading = false; |
| | | row.otherexpense = response.data.others; |
| | | row.foodallowance = response.data.food; |
| | | }); |
| | | |
| | | } |
| | | }, |
| | | getStandard(row) { |
| | | if ( |
| | | row.searchAddress.sheng != "" && |
| | |
| | | row.searchAddress.shi != "" && |
| | | row.searchAddress.qu != "" |
| | | ) { |
| | | row.destination = |
| | | row.destination2 = |
| | | row.searchAddress.sheng + |
| | | row.searchAddress.shi + |
| | | row.searchAddress.qu; |
| | |
| | | let list = this.balist; |
| | | list.forEach((item) => { |
| | | if (item.id == this.form.infoid) { |
| | | // console.log('ç¸åç',item.id,item) |
| | | this.form.donorno = item.donorno; |
| | | this.form.donorname = item.name; |
| | | } |
| | |
| | | costtypename: null, |
| | | }; |
| | | this.applicationDetailArr = []; |
| | | this.applicationDetailArr2 = []; |
| | | this.resetForm("form"); |
| | | }, |
| | | // |
| | |
| | | this.form.username = this.defaultperson.nickName; |
| | | this.form.userno = this.defaultperson.userName; |
| | | this.addRow(); |
| | | this.col_addRow(); |
| | | this.open = true; |
| | | this.title = "æ·»å æ¥éç³è¯·"; |
| | | }, |
| | |
| | | let ids = response.data.id; |
| | | |
| | | getReimbursementdetaillist(ids).then((res) => { |
| | | if (res.data.length == 0) { |
| | | return; |
| | | } |
| | | this.applicationDetailArr = res.data; |
| | | for (let i = 0; i < this.applicationDetailArr.length; i++) { |
| | | debugger; |
| | | // this.applicationDetailArr[i].personname2 = res.data[i].personname; |
| | | } |
| | | |
| | | for (let i = 0; i < this.applicationDetailArr.length; i++) { |
| | | debugger; |
| | | this.applicationDetailArr[i].index = i; |
| | | this.applicationDetailArr[i].searchAddress = { |
| | | sheng: this.applicationDetailArr[i].travelprovincename, |
| | |
| | | } |
| | | this.sumTotalFee(); |
| | | }); |
| | | let obj = { rbid: ids }; |
| | | listReimbursementpayee(obj).then((res) => { |
| | | if (res.rows.length == 0) { |
| | | return; |
| | | } |
| | | this.applicationDetailArr2 = res.rows; |
| | | // this.sumTotalFee(); |
| | | }); |
| | | }); |
| | | //é»è®¤åå¨ä¸è¡ |
| | | this.addRow(); |
| | | this.col_addRow(); |
| | | this.selectedTraveler(); |
| | | }, |
| | | /** æ¥çæé®æä½ */ |
| | | handleDetail(row) { |
| | |
| | | }, |
| | | /** æäº¤æé® */ |
| | | submitForm() { |
| | | debugger; |
| | | this.$refs["form"].validate((valid) => { |
| | | debugger; |
| | | if (valid) { |
| | | let indexErrTime = this.applicationDetailArr.findIndex((item) => { |
| | | if (item.endtime && item.starttime) { |
| | |
| | | this.form.costtypename = belongArr[costtypeindex].label; |
| | | } |
| | | if (this.form.id != null) { |
| | | //rbid主表Id,æ¹ä¾¿åé¢å
³è主表 |
| | | let rbid = this.form.id; |
| | | for (let i = 0; i < this.applicationDetailArr.length; i++) { |
| | | this.applicationDetailArr[i].rbid = rbid; |
| | | } |
| | | updateReimbursement(this.form).then((response) => { |
| | | // console.log('æ´æ°ä¸»è¡¨çä¿¡æ¯',response); |
| | | updateReimbursementdetaillist(this.applicationDetailArr).then((response) => { |
| | | //æ´æ°æ¯ä»è¡¨ä¿¡æ¯ |
| | | for (let i = 0; i < this.applicationDetailArr2.length; i++) { |
| | | this.applicationDetailArr2[i].rbid = rbid; |
| | | } |
| | | addOrUpdateRBpayee(this.applicationDetailArr2); |
| | | for (let i = 0; i < this.applicationDetailArr.length; i++) { |
| | | if (this.applicationDetailArr[i].rbid != null) { |
| | | updateReimbursementdetail(this.applicationDetailArr[i]); |
| | |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | }); |
| | | } else { |
| | | this.form.recordstatus = -1; |
| | | const applicationDetailArr = [...this.applicationDetailArr] |
| | | const applicationDetailArr2 = [...this.applicationDetailArr2] |
| | | addReimbursement(this.form).then((response) => { |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.open = false; |
| | |
| | | let id = res.data; |
| | | for (let i = 0; i < applicationDetailArr.length; i++) { |
| | | applicationDetailArr[i].rbid = id; |
| | | |
| | | addReimbursementdetail(applicationDetailArr[i]); |
| | | } |
| | | for (let i = 0; i < applicationDetailArr2.length; i++) { |
| | | applicationDetailArr2[i].rbid = id; |
| | | } |
| | | addOrUpdateRBpayee(applicationDetailArr2); |
| | | }); |
| | | }); |
| | | } |
| | |
| | | starttime: null, |
| | | departure: null, |
| | | endtime: null, |
| | | destination: null, |
| | | destination2: null, |
| | | days: null, |
| | | trafficexpense: 0, |
| | | traffictype: null, |
| | |
| | | uploadTime: null, |
| | | total: 0, |
| | | orderno: null, |
| | | personname2: null, |
| | | personname: null, |
| | | destination: null, |
| | | }; |
| | | if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { |
| | | this.applicationDetailArr.push(rowData); |
| | |
| | | } |
| | | for (let i = 0; i < this.applicationDetailArr.length; i++) { |
| | | this.applicationDetailArr[i].orderno = i + 1; |
| | | } |
| | | }, |
| | | |
| | | col_addRow(rowIndex) { |
| | | let rowData = { |
| | | id: null, |
| | | col_personType: null, |
| | | col_personname: null, |
| | | col_bank: null, |
| | | col_accounts: null, |
| | | col_date: null, |
| | | col_illustrate: null, |
| | | col_orderno: null, |
| | | col_personname2: null, |
| | | }; |
| | | if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { |
| | | this.applicationDetailArr2.push(rowData); |
| | | } else { |
| | | this.applicationDetailArr2.splice(rowIndex + 1, 0, rowData); |
| | | } |
| | | for (let i = 0; i < this.applicationDetailArr2.length; i++) { |
| | | this.applicationDetailArr2[i].col_orderno = i + 1; |
| | | } |
| | | }, |
| | | |
| | |
| | | }); |
| | | }, |
| | | |
| | | deleteRow2(index, rows, row) { |
| | | this.$confirm("æ¯å¦ç¡®è®¤å é¤?", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |
| | | type: "success", |
| | | }) |
| | | .then(() => { |
| | | console.log(row); |
| | | if (row.id !== null) { |
| | | delReimbursementdetail(row.id).then((res) => { |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | rows.splice(index, 1); |
| | | this.recountOrderNo2(); |
| | | // this.sumTotalFee(); |
| | | }); |
| | | } else { |
| | | rows.splice(index, 1); |
| | | //this.sumTotalFee(); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | this.recountOrderNo2(); |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | //å ç¹åæ¶çæç¤º |
| | | }); |
| | | }, |
| | | recountOrderNo() { |
| | | for (let i = 0; i < this.applicationDetailArr.length; i++) { |
| | | this.applicationDetailArr[i].orderno = i + 1; |
| | | } |
| | | }, |
| | | recountOrderNo2() { |
| | | for (let i = 0; i < this.applicationDetailArr2.length; i++) { |
| | | this.applicationDetailArr2[i].orderno = i + 1; |
| | | } |
| | | }, |
| | | |
| | | //䏿¥ |
| | | handleup(row) { |
| | | console.log("rowrowrowrow", row); |
| | | |
| | | this.$confirm("æ¯å¦ç¡®è®¤å°ç»è®°è®°å½ä¸æ¥ï¼", "æç¤º", { |
| | | confirmButtonText: "ç¡®å®", |
| | | cancelButtonText: "åæ¶", |