src/utils/request.js
@@ -17,7 +17,8 @@ // requestæ¦æªå¨ service.interceptors.request.use(config => { // æ¯å¦éè¦è®¾ç½® token const isToken = (config.headers || {}).isToken === false // const isToken = (config.headers || {}).isToken === false const isToken = false; const isRepeatSubmit = (config.headers || {}).repeatSubmit === false if (getToken() && !isToken) { src/views/project/donatebaseinfo/index.vue
@@ -1434,18 +1434,36 @@ handledownload(row) { const id = row.id || this.ids; downloadbaseinfo(id).then(response => { var fileUrl = response; downloadbaseinfo(id).then(res => { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); }); } } src/views/project/donateconsolationfund/index.vue
@@ -955,22 +955,35 @@ totaldayin(e) { // const id =this.row.id getdownloadBX(e).then((res) => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success", var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, src/views/project/donatefinish/index.vue
@@ -1,24 +1,47 @@ <template> <div class="app-container"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="70px"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="70px" > <el-row :gutter="8"> <el-col :span="6"> <el-form-item label="å§å" prop="name"> <el-input v-model="queryParams.name" placeholder="请è¾å ¥å§å" clearable size="small" @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.name" placeholder="请è¾å ¥å§å" clearable size="small" @keyup.enter.native="handleQuery" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item align="left" label="å»çæºæ" prop="treatmenthospitalno"> <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.treatmenthospitalno" /> <el-form-item align="left" label="å»çæºæ" prop="treatmenthospitalno" > <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.treatmenthospitalno" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="æç®å°å¸"> <el-select v-model="queryParams.city" placeholder="è¯·éæ©å°å¸"> <el-option v-for="item in provinceData" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in provinceData" :key="item.value" :label="item.label" :value="item.value" > </el-option> </el-select> </el-form-item> @@ -26,9 +49,18 @@ <el-col :span="6"> <el-form-item label="æç®è¿åº¦" prop="recordstate"> <el-select v-model="queryParams.recordstate" placeholder="è¯·éæ©è®°å½ç¶æ" clearable size="small"> <el-option v-for="dict in dict.type.sys_DonationStatus" :key="dict.value" :label="dict.label" :value="dict.value" /> <el-select v-model="queryParams.recordstate" placeholder="è¯·éæ©è®°å½ç¶æ" clearable size="small" > <el-option v-for="dict in dict.type.sys_DonationStatus" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> @@ -36,8 +68,16 @@ <el-row :gutter="8"> <el-col :span="6"> <el-form-item label="æ¥å人"> <el-select v-model="queryParams.reporterno" placeholder="è¯·éæ©æ¥å人"> <el-option v-for="item in reportlist" :key="item.index" :label="item.reportername" :value="item.reporterno"> <el-select v-model="queryParams.reporterno" placeholder="è¯·éæ©æ¥å人" > <el-option v-for="item in reportlist" :key="item.index" :label="item.reportername" :value="item.reporterno" > </el-option> </el-select> </el-form-item> @@ -45,19 +85,34 @@ <el-col :span="12"> <el-form-item label="æ¥åæ¥æ"> <el-date-picker style="width: 100%" v-model="selecttime" type="monthrange" range-separator="è³" start-placeholder="å¼å§æä»½" end-placeholder="ç»ææä»½" value-format="yyyy-MM-dd" @change="getTimeList"> <el-date-picker style="width: 100%" v-model="selecttime" type="monthrange" range-separator="è³" start-placeholder="å¼å§æä»½" end-placeholder="ç»ææä»½" value-format="yyyy-MM-dd" @change="getTimeList" > </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">æç´¢</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">éç½®</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" >æç´¢</el-button > <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" >éç½®</el-button > </el-form-item> </el-col> </el-row> <!-- <el-row> <el-col :span="14"> @@ -75,9 +130,18 @@ </el-row> --> </el-form> <el-table v-loading="loading" border :default-sort="{ prop: 'completetime', order: 'descending' }" :data="donatebaseinfoList"> <el-table-column label="æ¡ä¾æ¶é´" align="center" prop="donatetime" width="120"> <el-table v-loading="loading" border :default-sort="{ prop: 'completetime', order: 'descending' }" :data="donatebaseinfoList" > <el-table-column label="æ¡ä¾æ¶é´" align="center" prop="donatetime" width="120" > <template slot-scope="scope"> <span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span> </template> @@ -85,26 +149,52 @@ <el-table-column label="å§å" align="center" prop="name" width="100" /> <el-table-column label="æ§å«" align="center" prop="sex" width="100"> <template slot-scope="scope"> <dict-tag :options="dict.type.sys_user_sex" :value="parseInt(scope.row.sex)" /> <dict-tag :options="dict.type.sys_user_sex" :value="parseInt(scope.row.sex)" /> </template> </el-table-column> <el-table-column label="å¹´é¾" align="center" prop="age" width="100" /> <el-table-column label="å»çæºæ" align="center" prop="treatmenthospitalname" /> <el-table-column label="宿æ¶é´" align="center" prop="completetime" width="200"> <el-table-column label="å»çæºæ" align="center" prop="treatmenthospitalname" /> <el-table-column label="宿æ¶é´" align="center" prop="completetime" width="200" > <template slot-scope="scope"> <span>{{ parseTime(scope.row.createtime, "{y}-{m}-{d}") }}</span> </template> </el-table-column> <!-- <el-table-column label="身份è¯å·" prop="idcardno" width="180" /> --> <el-table-column label="æ¥å人" align="center" prop="reportername" width="100" /> <el-table-column label="æ¥å人" align="center" prop="reportername" width="100" /> <el-table-column label="æç®è¿åº¦" align="center" prop="recordstate"> <template slot-scope="scope"> <dict-tag :options="dict.type.sys_DonationStatus" :value="scope.row.recordstate" /> <dict-tag :options="dict.type.sys_DonationStatus" :value="scope.row.recordstate" /> </template> </el-table-column> <el-table-column label="æä½" align="center" class-name="small-padding fixed-width" width="200" fixed="right"> <el-table-column label="æä½" align="center" class-name="small-padding fixed-width" width="200" fixed="right" > <template slot-scope="scope"> <!-- <el-button size="mini" @@ -113,42 +203,93 @@ @click="updatedonorno(scope.row)" >æ´æ°ç¼å·</el-button > --> <el-button v-if="scope.row.dcid == undefined" size="mini" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">ç»è®°</el-button> <el-button v-if="scope.row.dcid == undefined" size="mini" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)" >ç»è®°</el-button > <el-button v-if="scope.row.dcid > 0" size="mini" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)" v-hasPermi="['project:donatebaseinfo:edit']">ä¿®æ¹</el-button> <el-button v-if="scope.row.dcid > 0" size="mini" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)" v-hasPermi="['project:donatebaseinfo:edit']" >ä¿®æ¹</el-button > <el-button v-if="scope.row.dcid > 0" size="mini" type="text" icon="el-icon-edit" @click="handleReport(scope.row)">䏿¥</el-button> <el-button v-if="scope.row.dcid > 0" size="mini" type="text" icon="el-icon-refrigerator" @click="handledownload(scope.row)">ä¸è½½</el-button> <el-button v-if="scope.row.dcid > 0" size="mini" type="text" icon="el-icon-edit" @click="handleReport(scope.row)" >䏿¥</el-button > <el-button v-if="scope.row.dcid > 0" size="mini" type="text" icon="el-icon-refrigerator" @click="handledownload(scope.row)" >ä¸è½½</el-button > </template> </el-table-column> </el-table> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <!-- æ·»å æä¿®æ¹æç®å®æå¯¹è¯æ¡ --> <el-dialog :title="title" align="center" :visible.sync="open" width="1100px" :close-on-click-modal="false" append-to-body> <el-dialog :title="title" align="center" :visible.sync="open" width="1100px" :close-on-click-modal="false" append-to-body > <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-row> <el-col :span="8"> <el-form-item label="æç®ç¼å·" prop="donorno"> <el-input disabled v-model="curCase.donorno" placeholder="请è¾å ¥æç®è ç¼å·" /> <el-input disabled v-model="curCase.donorno" placeholder="请è¾å ¥æç®è ç¼å·" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="å§å" prop="name"> <el-input disabled v-model="curCase.name" placeholder="请è¾å ¥æç®è å§å" /> <el-input disabled v-model="curCase.name" placeholder="请è¾å ¥æç®è å§å" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="宿æ¶é´" prop="completetime"> <el-date-picker style="width: 167px" clearable size="small" v-model="form.completetime" type="date" value-format="yyyy-MM-dd hh:mm:ss" placeholder="鿩宿æ¶é´"> <el-date-picker style="width: 167px" clearable size="small" v-model="form.completetime" type="date" value-format="yyyy-MM-dd hh:mm:ss" placeholder="鿩宿æ¶é´" > </el-date-picker> </el-form-item> </el-col> @@ -156,7 +297,12 @@ <el-row> <el-form-item label="å¨å®ç»ç»"> <el-checkbox-group align="left" v-model="form.donateorganList"> <el-checkbox v-for="dict in dict.type.sys_Organ" :key="dict.value" :label="dict.value" disabled> <el-checkbox v-for="dict in dict.type.sys_Organ" :key="dict.value" :label="dict.value" disabled > {{ dict.label }} </el-checkbox> </el-checkbox-group> @@ -164,40 +310,96 @@ </el-row> <el-row style="margin-bottom: 22px"> <el-table v-loading="loading" border :data="tableData"> <el-table-column label="å¨å®åç§°" align="center" prop="organname" width="100" /> <el-table-column label="ç§»æ¤å»é¢ï¼æ¥æ¶åä½ï¼" align="center" prop="transplanthospitalno" width="240"> <el-table-column label="å¨å®åç§°" align="center" prop="organname" width="100" /> <el-table-column label="ç§»æ¤å»é¢ï¼æ¥æ¶åä½ï¼" align="center" prop="transplanthospitalno" width="240" > <template slot-scope="scope"> <org-selecter ref="transplanthosselect" :org-type="'4'" v-model="scope.row.transplanthospitalno" /> <org-selecter ref="transplanthosselect" :org-type="'4'" v-model="scope.row.transplanthospitalno" /> </template> </el-table-column> <el-table-column label="ç§»æ¤è´è´£äºº" align="center" prop="transplantdoct" width="120"> <el-table-column label="ç§»æ¤è´è´£äºº" align="center" prop="transplantdoct" width="120" > <template slot-scope="scope"> <el-input v-model="scope.row.transplantdoct" placeholder="请è¾å ¥è´è´£äºº"></el-input> <el-input v-model="scope.row.transplantdoct" placeholder="请è¾å ¥è´è´£äºº" ></el-input> </template> </el-table-column> <el-table-column label="ç§»æ¤æ¥æ" align="center" prop="transplanttime" width="230"> <el-table-column label="ç§»æ¤æ¥æ" align="center" prop="transplanttime" width="230" > <template slot-scope="scope"> <el-row> <el-date-picker clearable size="small" style="width: 90%" v-model="scope.row.transplanttime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©å¨å®ç§»æ¤æ¶é´"> <el-date-picker clearable size="small" style="width: 90%" v-model="scope.row.transplanttime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©å¨å®ç§»æ¤æ¶é´" > </el-date-picker> </el-row> </template> </el-table-column> <el-table-column prop="abandonreason" label="å¼ç¨åå " align="center" width="260"> <el-table-column prop="abandonreason" label="å¼ç¨åå " align="center" width="260" > <template slot-scope="scope"> <el-row> <el-input clearable v-model="scope.row.abandonreason" placeholder="请è¾å ¥å¼ç¨åå " /> <el-input clearable v-model="scope.row.abandonreason" placeholder="请è¾å ¥å¼ç¨åå " /> </el-row> </template> </el-table-column> <el-table-column label="å¨å®ç¶æ" align="center" prop="organstate" width="130"> <el-table-column label="å¨å®ç¶æ" align="center" prop="organstate" width="130" > <template slot-scope="scope"> <el-select v-model="scope.row.organstate" placeholder="è¯·éæ©å¨å®ç¶æ" value-key="value" @change="selectOrganstate(scope.row)"> <el-option v-for="dict in dict.type.sys_organstate" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> <el-select v-model="scope.row.organstate" placeholder="è¯·éæ©å¨å®ç¶æ" value-key="value" @change="selectOrganstate(scope.row)" > <el-option v-for="dict in dict.type.sys_organstate" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </template> </el-table-column> @@ -208,14 +410,21 @@ <el-col :span="7"> <el-form-item align="left" label="é使ç®" prop="isbodydonation"> <el-radio-group v-model="form.isbodydonation"> <el-radio v-for="dict in dict.type.sys_0_1" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio> <el-radio v-for="dict in dict.type.sys_0_1" :key="dict.value" :label="dict.value" >{{ dict.label }}</el-radio > </el-radio-group> </el-form-item> </el-col> <el-col :span="7"> <el-form-item align="left" label="æ¥æ¶åä½" prop="receivingunit"> <el-input v-model="form.receivingunit" placeholder="请è¾å ¥æ¥ååä½" /> <el-input v-model="form.receivingunit" placeholder="请è¾å ¥æ¥ååä½" /> </el-form-item> </el-col> </el-row> @@ -224,8 +433,12 @@ <el-col :span="7"> <el-form-item label="è´è´£äºº" prop="responsibleuserid"> <el-select v-model="form.responsibleuserid" placeholder="è¯·éæ©"> <el-option v-for="item in leaderlist" :key="item.reportNo" :label="item.reportName" :value="item.reportNo"> <el-option v-for="item in leaderlist" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> @@ -233,8 +446,12 @@ <el-col :span="7"> <el-form-item label="åè°åä¸" prop="coordinateduserido"> <el-select v-model="form.coordinateduserido" placeholder="è¯·éæ©"> <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName" :value="item.reportNo"> <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> @@ -242,8 +459,12 @@ <el-col :span="7"> <el-form-item label="åè°åäº" prop="coordinateduseridt"> <el-select v-model="form.coordinateduseridt" placeholder="è¯·éæ©"> <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName" :value="item.reportNo"> <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> @@ -257,13 +478,20 @@ </el-row> --> <el-row> <el-form-item label="éä»¶" align="left" prop="annexfile"> <annex-upload ref="finishannex" :infoid="curCase.id" :donorno="curCase.donorno" :flowname="flowname" :annexno="annexno" /> <annex-upload ref="finishannex" :infoid="curCase.id" :donorno="curCase.donorno" :flowname="flowname" :annexno="annexno" /> </el-form-item> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button :disabled="loading" type="primary" @click="submitForm">ä¿ å</el-button> <el-button :disabled="loading" type="primary" @click="submitForm" >ä¿ å</el-button > <el-button @click="cancel">å æ¶</el-button> </div> </el-dialog> @@ -274,19 +502,19 @@ import { listOrganization, listReportname, listUser, listUser } from "@/api/project/organization"; import { listDonatebaseinfo, getDonatebaseinfo, addDonatebaseinfo, updateDonatebaseinfo, updateDonatebaseinfo // exportProvincemessage, } from "@/api/project/donatebaseinfo"; import { updatedonatorno, updateDonateNumber, updateDonateNumber } from "@/api/project/relativesconfirmation"; import { getDonatecompletioninfo, @@ -294,7 +522,7 @@ addDonatecompletioninfo, updateDonatecompletioninfo, listDonatecompletioninfo, downloadcompletioninfo, downloadcompletioninfo } from "@/api/project/donatecompletioninfo"; import Li_area_select from "@/components/Address"; @@ -305,14 +533,14 @@ addDonateorgan, delDonateorgan, updateDonateorgan, getDonateorgan, getDonateorgan } from "@/api/project/donateorgan"; export default { components: { Li_area_select, OrgSelecter, AnnexUpload, AnnexUpload }, name: "Donatefinish", dicts: [ @@ -336,7 +564,7 @@ "sys_SelfWill", "sys_FamilyRelation", "sys_Organ", "sys_organstate", "sys_organstate" ], data() { return { @@ -360,7 +588,7 @@ { label: "è¡¢å·å¸", value: "8" }, { label: "èå±±å¸", value: "9" }, { label: "å°å·å¸", value: "A" }, { label: "丽水å¸", value: "B" }, { label: "丽水å¸", value: "B" } ], //çå¸åº @@ -369,17 +597,17 @@ sheng: "", shi: "", qu: "", organizationname: null, organizationname: null }, residenceAddresss: { sheng: "æµæ±ç", shi: "", qu: "", qu: "" }, registerAddresss: { sheng: "æµæ±ç", shi: "", qu: "", qu: "" }, //ç¨æ·è¡¨ @@ -427,30 +655,30 @@ donorno: null, reportername: null, reporttime: null, city: null, city: null }, // 表ååæ° form: {}, // è¡¨åæ ¡éª rules: { completetime: [ { required: true, message: "请è¾å ¥å®ææ¶é´", trigger: "blur" }, { required: true, message: "请è¾å ¥å®ææ¶é´", trigger: "blur" } ], coordinatedusernameo: [ { required: true, message: "è¯·éæ©åè°åä¸", trigger: "blur" }, { required: true, message: "è¯·éæ©åè°åä¸", trigger: "blur" } ], coordinatedusernamet: [ { required: true, message: "è¯·éæ©åè°åäº", trigger: "blur" }, { required: true, message: "è¯·éæ©åè°åäº", trigger: "blur" } ], responsibleusername: [ { required: true, message: "è¯·éæ©è´è´£äºº", trigger: "blur" }, ], { required: true, message: "è¯·éæ©è´è´£äºº", trigger: "blur" } ] }, curCase: { donorno: "", name: "", registerAddresss: "", infoid: "", infoid: "" }, //å¨å®å表 // donateorganList: [], @@ -460,7 +688,7 @@ //æµç¨åç§° flowname: "æç®å®æç»è®°", //æµç¨åç§°-伦çå®¡æ¥ annexno: "", annexno: "" }; }, created() { @@ -481,7 +709,7 @@ this.$moment(this.$route.params.starttime).format("YYYY-MM-DD"), this.$moment(this.$route.params.endtime) .add(-1, "month") .format("YYYY-MM-DD"), .format("YYYY-MM-DD") ]; } if (this.$route.params.reporterno != "") { @@ -518,14 +746,14 @@ }, methods: { LoadReportList() { listDonatebaseinfo().then((res) => { listDonatebaseinfo().then(res => { console.log("æ½å¨æç®è¡¨", res); let list = res.rows; let reportlist = []; list.forEach((element) => { list.forEach(element => { reportlist.push({ reporterno: element.reporterno, reportername: element.reportername, reportername: element.reportername }); }); console.log("dwada", reportlist); @@ -537,7 +765,7 @@ }, resetArr(Arr) { var hash = {}; Arr = Arr.reduce(function (arr, current) { Arr = Arr.reduce(function(arr, current) { hash[current.reporterno] ? "" : (hash[current.reporterno] = true && arr.push(current)); @@ -604,7 +832,7 @@ }, updatedonorno(row) { console.log("row", row); updatedonatorno(row.infoid).then((res) => { updatedonatorno(row.infoid).then(res => { console.log("1221212", res); this.getList(); }); @@ -615,7 +843,7 @@ if (e.organstate === 99) { this.$prompt("请è¾å ¥å¯ç¨åå ", "æç¤º", { confirmButtonText: "ç¡®å®", cancelButtonText: "åæ¶", cancelButtonText: "åæ¶" }) .then(({ value }) => { console.log("å¯ç¨åå ", value); @@ -624,7 +852,7 @@ .catch(() => { this.$message({ type: "info", message: "åæ¶", message: "åæ¶" }); }); } @@ -632,28 +860,28 @@ //è·åç¨æ·è¡¨ getuserlist() { listUser().then((res) => { listUser().then(res => { this.users = res.data; }); }, //è·åè´è´£äºº getLeaderList() { listReportname("fzr").then((res) => { listReportname("fzr").then(res => { this.leaderlist = res.data; }); }, //è·ååè°åä¸ getCoordinatorList1() { listReportname("xty1").then((res) => { listReportname("xty1").then(res => { this.coordinatorlist1 = res.data; }); }, //è·ååè°åäº getCoordinatorList2() { listReportname("xty2").then((res) => { listReportname("xty2").then(res => { this.coordinatorlist2 = res.data; }); }, @@ -718,8 +946,9 @@ this.loading = true; this.queryParams.params = {}; if (null != this.daterangeReporttime && "" != this.daterangeReporttime) { this.queryParams.params["beginReporttime"] = this.daterangeReporttime[0]; this.queryParams.params[ "beginReporttime" ] = this.daterangeReporttime[0]; this.queryParams.params["endReporttime"] = this.daterangeReporttime[1]; } @@ -735,7 +964,7 @@ // this.queryParams.residenceprovince = this.$refs.areaSelect.getSheng(); // this.queryParams.residencecity = this.$refs.areaSelect.getShi(); // this.queryParams.residencetown = this.$refs.areaSelect.getQu(); listnewDonatecompletioninfo(this.queryParams).then((response) => { listnewDonatecompletioninfo(this.queryParams).then(response => { this.donatebaseinfoList = response.rows; this.total = response.total; this.loading = false; @@ -771,7 +1000,7 @@ coordinatedusernamet: null, assessannex: null, donateorgan: "", donateorganList: [], donateorganList: [] }; this.resetForm("form"); }, @@ -797,7 +1026,7 @@ reportername: null, reporttime: null, city: null, treatmenthospitalno: null, treatmenthospitalno: null }; this.selecttime = []; this.getTimeList(); @@ -805,7 +1034,7 @@ sheng: "", shi: "", qu: "", organizationname: null, organizationname: null }; //this.$refs.areaSelect.clean(); @@ -825,7 +1054,7 @@ path: "/organ/donationdetails/", query: { id: row.id, organType: "edit", organType: "edit" } }); // this.reset(); @@ -904,15 +1133,15 @@ //æ¥è¯¢ let searchParam = { id: row.id, id: row.id }; let oraganqueryParam = { infoid: row.id, infoid: row.id // donorname: this.curCase.name, // donorno: this.curCase.donorno, // registeraddress: this.curCase.registeraddresss, }; listDonateorgan(oraganqueryParam).then((response) => { listDonateorgan(oraganqueryParam).then(response => { if (response.code == 200) { console.log("2", response); this.tableData = response.rows; @@ -923,7 +1152,7 @@ //è·åå¨å®åé ä¿¡æ¯ // this.GetDonortedList(); }); listnewDonatecompletioninfo(searchParam).then((response) => { listnewDonatecompletioninfo(searchParam).then(response => { if (response.code == 200 && response.rows.length == 1) { this.open = true; this.form = response.rows[0]; @@ -943,7 +1172,7 @@ /** æäº¤æé® */ submitForm() { this.loading = true; this.$refs["form"].validate((valid) => { this.$refs["form"].validate(valid => { if (valid) { this.form.donorno = this.curCase.donorno; this.form.infoid = this.curCase.id; @@ -952,33 +1181,36 @@ //è´è´£äºº //leaderlist let responsibleuseridIndex = this.leaderlist.findIndex( (item) => this.form.responsibleuserid == item.reportNo item => this.form.responsibleuserid == item.reportNo ); if (responsibleuseridIndex > -1) { this.form.responsibleusername = this.leaderlist[responsibleuseridIndex].reportName; this.form.responsibleusername = this.leaderlist[ responsibleuseridIndex ].reportName; } //åè°å1 let coordinatedusernameIndex = this.coordinatorlist1.findIndex( (item) => this.form.coordinateduserido == item.reportNo item => this.form.coordinateduserido == item.reportNo ); if (coordinatedusernameIndex > -1) { this.form.coordinatedusernameo = this.coordinatorlist1[coordinatedusernameIndex].reportName; this.form.coordinatedusernameo = this.coordinatorlist1[ coordinatedusernameIndex ].reportName; } //åè°å2 let coordinatedusernametIndex = this.coordinatorlist1.findIndex( (item) => this.form.coordinateduseridt == item.reportNo item => this.form.coordinateduseridt == item.reportNo ); if (coordinatedusernametIndex > -1) { this.form.coordinatedusernamet = this.coordinatorlist1[coordinatedusernametIndex].reportName; this.form.coordinatedusernamet = this.coordinatorlist1[ coordinatedusernametIndex ].reportName; } if (this.form.id != null) { console.log("æ´æ°form", this.form); updateDonatecompletioninfo(this.form).then((response) => { updateDonatecompletioninfo(this.form).then(response => { this.$modal.msgSuccess("ä¿®æ¹æå"); this.loading = false; this.open = false; @@ -986,15 +1218,16 @@ //æ´æ°å¨å®è¡¨ for (let k = 0; k < this.tableData.length; k++) { try { this.tableData[k].transplanthospitalname = this.$refs.transplanthosselect.getOptionByValue( this.tableData[k].transplanthospitalno ).organizationname; this.tableData[ k ].transplanthospitalname = this.$refs.transplanthosselect.getOptionByValue( this.tableData[k].transplanthospitalno ).organizationname; } catch { console.log("è·åæºæå称失败ï¼"); } updateDonateorgan(this.tableData[k]).then((response1) => { updateDonateorgan(this.tableData[k]).then(response1 => { if (response1.code == 200) { // this.$modal.msgSuccess("å¨å®è®°å½ä¿®æ¹æå"); } @@ -1003,10 +1236,10 @@ //æ´æ°æç®ç¶æ this.curCase.recordstate = 12; getDonatebaseinfo(this.curCase.infoid).then((res) => { getDonatebaseinfo(this.curCase.infoid).then(res => { let donatebasedata = res.data; donatebasedata.recordstate = 12; updateDonatebaseinfo(donatebasedata).then((response) => { updateDonatebaseinfo(donatebasedata).then(response => { //this.$modal.msgSuccess("å®¡æ ¸æå"); //this.isShowReviewDialog = false; this.getList(); @@ -1014,22 +1247,23 @@ }); }); } else { addDonatecompletioninfo(this.form).then((response) => { this.loading = false addDonatecompletioninfo(this.form).then(response => { this.loading = false; this.$modal.msgSuccess("æ°å¢æå"); this.open = false; //æ´æ°å¨å®è¡¨ for (let k = 0; k < this.tableData.length; k++) { try { this.tableData[k].transplanthospitalname = this.$refs.transplanthosselect.getOptionByValue( this.tableData[k].transplanthospitalno ).organizationname; this.tableData[ k ].transplanthospitalname = this.$refs.transplanthosselect.getOptionByValue( this.tableData[k].transplanthospitalno ).organizationname; } catch { console.log("è·åæºæå称失败"); } updateDonateorgan(this.tableData[k]).then((response1) => { updateDonateorgan(this.tableData[k]).then(response1 => { if (response1.code == 200) { this.$modal.msgSuccess("å¨å®è®°å½ä¿®æ¹æå"); } @@ -1038,15 +1272,14 @@ //æ´æ°æç®ç¶æ this.curCase.recordstate = 12; updateDonatebaseinfo(this.curCase).then((response) => { updateDonatebaseinfo(this.curCase).then(response => { //this.$modal.msgSuccess("å®¡æ ¸æå"); //this.isShowReviewDialog = false; this.getList(); }); }); } } else { } else { this.loading = false; } }); @@ -1057,32 +1290,32 @@ this.$confirm("æ¯å¦ç¡®è®¤å°ç»è®°è®°å½ä¸æ¥ï¼", "æç¤º", { confirmButtonText: "ç¡®å®", cancelButtonText: "åæ¶", type: "warning", type: "warning" }) .then(() => { //æ¥æ¾æ¯å¦åå¨ç»è®°å®æè®°å½ //夿æ¯å¦åå¨ä¸æ¥è®°å½ let searchParam = { infoid: row.id, infoid: row.id }; console.log("䏿¥åæ°", searchParam); listDonatecompletioninfo(searchParam).then((response) => { listDonatecompletioninfo(searchParam).then(response => { console.log("䏿¥", response); if (response.code == 200 && response.rows.length == 1) { row.recordstate = 13; row.birthday = this.$moment(row.birthday).format( "YYYY-MM-DD HH:mm:ss" ); updateDonatebaseinfo(row).then((response1) => { updateDonatebaseinfo(row).then(response1 => { this.$message({ type: "success", message: "䏿¥æå", message: "䏿¥æå" }); }); } else { this.$message({ type: "error", message: "æç®å®æç»è®°è®°å½ä¸åå¨ï¼", message: "æç®å®æç»è®°è®°å½ä¸åå¨ï¼" }); } this.loading = false; @@ -1091,7 +1324,7 @@ .catch(() => { this.$message({ type: "info", message: "已忶䏿¥", message: "已忶䏿¥" }); }); }, @@ -1100,18 +1333,36 @@ handledownload(row) { const id = row.id || this.ids; console.log("22222", row); downloadcompletioninfo(row.dcid).then((response) => { var fileUrl = response; downloadcompletioninfo(row.dcid).then(res => { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name = fileUrl["downloadName"]; link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); }); }, @@ -1119,9 +1370,9 @@ GetDonortedList(row) { this.loading = true; let oraganqueryParam = { infoid: row.infoid, infoid: row.infoid }; listDonateorgan(oraganqueryParam).then((response) => { listDonateorgan(oraganqueryParam).then(response => { this.loading = false; if (response.code == 200) { this.form.donateorganList = []; @@ -1134,7 +1385,7 @@ // this.$modal.msgError("è·åæç®å¨å®å¤±è´¥ï¼" + response.msg); } }); }, }, } } }; </script> src/views/project/donationdetails/index copy 2.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,3791 @@ <template> <div class="particularsdiv"> <div class="left-course"> <div class="postfilx"> <div class="title">å·¥ä½è¿ç¨</div> <div> <el-steps direction="vertical" :active="workflow"> <el-step title="æ½å¨æç®" icon="el-icon-user"> <template slot="description" v-if="Processdata.donatebaseinfo.createtime" > <p> æäº¤æ¶é´ï¼<span>{{ parseTime(Processdata.donatebaseinfo.createtime) }}</span> </p> <p> æ´æ°æ¶é´ï¼<span>{{ parseTime(Processdata.donatebaseinfo.updatetime) }}</span> </p> </template> </el-step> <el-step title="å»å¦è¯ä¼°" icon="el-icon-edit-outline" description="请å 宿å鍿¥éª¤" > <template slot="description" v-if="Processdata.medicalevaluation.createtime" > <p> æäº¤æ¶é´ï¼<span>{{ parseTime(Processdata.medicalevaluation.createtime) }}</span> </p> <p> æ´æ°æ¶é´ï¼<span>{{ parseTime(Processdata.medicalevaluation.updatetime) }}</span> </p> </template> </el-step> <el-step title="æç®ç¡®è®¤" description="请å 宿å鍿¥éª¤" icon="el-icon-folder-checked" > <template slot="description" v-if="Processdata.relativesconfirmation.createtime" > <p> æäº¤æ¶é´ï¼<span>{{ parseTime(Processdata.relativesconfirmation.createtime) }}</span> </p> <p> æ´æ°æ¶é´ï¼<span>{{ parseTime(Processdata.relativesconfirmation.updatetime) }}</span> </p> </template> </el-step> <el-step title="伦ç审æ¥" description="请å 宿å鍿¥éª¤" icon="el-icon-s-order" > <template slot="description" v-if="Processdata.donateflowcharts.createtime" > <p> æäº¤æ¶é´ï¼<span>{{ parseTime(Processdata.donateflowcharts.createtime) }}</span> </p> <p> æ´æ°æ¶é´ï¼<span>{{ parseTime(Processdata.donateflowcharts.updatetime) }}</span> </p> </template> </el-step> <el-step title="å¨å®åé " description="请å 宿å鍿¥éª¤" icon="el-icon-s-operation" > <template slot="description" v-if="Processdata.donateorgansService.createtime" > <p> æäº¤æ¶é´ï¼<span>{{ parseTime(Processdata.donateorgansService.createtime) }}</span> </p> <p> æ´æ°æ¶é´ï¼<span>{{ parseTime(Processdata.donateorgansService.updatetime) }}</span> </p> </template> </el-step> <el-step title="è·åè§è¯" description="请å 宿å鍿¥éª¤" icon="el-icon-s-management" > <template slot="description" v-if="Processdata.donationwitness.createtime" > <p> æäº¤æ¶é´ï¼<span>{{ parseTime(Processdata.donationwitness.createtime) }}</span> </p> <p> æ´æ°æ¶é´ï¼<span>{{ parseTime(Processdata.donationwitness.updatetime) }}</span> </p> </template> </el-step> <el-step title="宿ç»è®°" description="请å 宿å鍿¥éª¤" icon="el-icon-circle-check" > <template slot="description" v-if="Processdata.donatecompletioninfo.createtime" > <p> æäº¤æ¶é´ï¼<span>{{ parseTime(Processdata.donatecompletioninfo.createtime) }}</span> </p> <p> æ´æ°æ¶é´ï¼<span>{{ parseTime(Processdata.donatecompletioninfo.updatetime) }}</span> </p> </template> </el-step> </el-steps> </div> </div> </div> <!-- å³ä¾§æ°æ® --> <div style="background: #fff; width: 80%;"> <!-- 顶鍿°æ® --> <div class="boxdiv"> <div class="top-text">æç®æ¡ä¾ä¿¡æ¯</div> <el-form ref="form" :model="form" :rules="rules" label-width="130px" label-position="right" > <div style=" border-top: 1px solid #ddd; padding-right: 60px; " > <el-row style="margin-top: 10px"> <el-col :span="6"> <el-form-item label="æç®ç¼å·" prop="donorno"> <el-input v-model="form.donorno" disabled /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="æ¥å人" prop="reporterno"> <el-select ref="getReportname" v-model="form.reporterno" placeholder="è¯·éæ©" > <el-option v-for="item in reporters" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="èç³»çµè¯" prop="reporterphone"> <el-input v-model="form.reporterphone" placeholder="请è¾å ¥èç³»çµè¯" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="æ¥åæ¶é´" align="left" prop="reporttime"> <el-date-picker clearable size="small" v-model="form.reporttime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©æ¥åæ¶é´" > </el-date-picker> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item align="left" label="å§å" prop="name"> <el-input v-model="form.name" placeholder="å¿ å¡«é¡¹" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="è¯ä»¶ç±»å" prop="idcardtype"> <el-select v-model="form.idcardtype" placeholder="è¯·éæ©è¯ä»¶ç±»å" > <el-option v-for="dict in dict.type.sys_IDType" :key="dict.value" :label="dict.label" :value="parseInt(dict.value)" ></el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="è¯ä»¶å·ç " prop="idcardno"> <el-input ref="updateBSvalue" class="sfzcode" v-model="form.idcardno" placeholder="请è¾å ¥è¯ä»¶å·ç " @blur="updateMessage" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="åºçæ¥æ" prop="birthday"> <el-date-picker clearable size="small" v-model="form.birthday" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©åºçæ¥æ" > </el-date-picker> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item label="æ§å«" prop="sex"> <el-select v-model="form.sex" placeholder="请è¾å ¥æ§å«"> <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.label" :label="dict.label" :value="parseInt(dict.value)" ></el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="å¹´é¾" prop="age"> <el-input v-model="form.age" placeholder="请è¾å ¥å¹´é¾" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item align="left" label="å»çæºæ" prop="treatmenthospitalno" > <org-selecter ref="addOrgSelect" :org-type="'3'" v-model="form.treatmenthospitalno" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="ç§å®¤" prop="treatmentdeptno"> <el-input v-model="form.treatmentdeptname" placeholder="请è¾å ¥ç§å®¤" /> </el-form-item> </el-col> </el-row> </div> </el-form> </div> <!-- æµç¨tab --> <div style="margin: 0 10px; cursor:pointer;"> <el-steps :active="actives" simple> <el-step @click.native="on_click(0)" title="æ½å¨æç®" icon="el-icon-user" ></el-step> <el-step @click.native="on_click(1)" title="å»å¦è¯ä¼°" icon="el-icon-edit-outline" ></el-step> <el-step @click.native="on_click(2)" title="æç®ç¡®è®¤" icon="el-icon-folder-checked" ></el-step> <el-step @click.native="on_click(3)" title="伦ç审æ¥" icon="el-icon-s-order" ></el-step> <el-step @click.native="on_click(4)" title="å¨å®åé " icon="el-icon-s-operation" ></el-step> <el-step @click.native="on_click(5)" title="è·åè§è¯" icon="el-icon-s-management" ></el-step> <el-step @click.native="on_click(6)" title="宿ç»è®°" icon="el-icon-circle-check" ></el-step> </el-steps> </div> <!-- åè¯æä»¶ --> <div class="Ticket-button" v-show="actives != 5 && actives != 4"> <el-button @click.native.prevent="Filepopup" type="success" >åè¯æä»¶</el-button > </div> <!-- æ½å¨æç® --> <div class="boxdiv" style="margin: 30px 0 66px 0;" v-show="actives == 0"> <el-form ref="form" :model="form" :rules="rules" label-width="100px" label-position="right" > <el-row> <el-col :span="8"> <el-form-item label="ä½é¢å·" prop="inpatientno"> <el-input v-model="form.inpatientno" placeholder="ä½é¢å·" /> </el-form-item> </el-col> <el-col :span="16"> <el-form-item label="ç¾ç è¯æ" prop="diagnosisname"> <el-input v-model="form.diagnosisname" placeholder="请è¾å ¥ç¾ç è¯æåç§°" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item label="æ°æ" prop="nation"> <el-select v-model="form.nation" placeholder="è¯·éæ©æ°æ"> <el-option v-for="dict in dict.type.sys_nation" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="ç±è´¯" prop="nativeplace"> <el-input v-model="form.nativeplace" placeholder="请è¾å ¥å½ç±" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="å½ç±" prop="nationality"> <el-input v-model="form.nationality" placeholder="请è¾å ¥å½ç±" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item label="èä¸" prop="occupation"> <el-select v-model="form.occupation" placeholder="è¯·éæ©èä¸"> <el-option v-for="dict in dict.type.sys_occupation" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="å¦å" prop="education"> <el-select v-model="form.education" placeholder="è¯·éæ©å¦å"> <el-option v-for="dict in dict.type.sys_education" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="ä½å" prop="residenceaddress"> <div> <li_area_select ref="residenceSelect" v-model="residenceAddresss" ></li_area_select> <!-- <div>{{defultAddress}}</div> --> </div> </el-form-item> </el-col> <el-col :span="11" :push="1"> <el-input v-model="form.residenceaddress" placeholder="请è¾å ¥å 容" /> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="ç°æå¨å°" prop="registeraddress"> <div> <li_area_select ref="registerSelect" v-model="registerAddresss" ></li_area_select> <!-- <div>{{defultAddress}}</div> --> </div> </el-form-item> </el-col> <el-col :span="11" :push="1"> <el-input v-model="form.registeraddress" placeholder="请è¾å ¥å 容" /> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item align="left" label="è¡å" prop="bloodtype"> <el-radio-group v-model="form.bloodtype"> <el-radio v-for="dict in dict.type.sys_BloodType" :key="dict.value" :label="dict.value" >{{ dict.label }}</el-radio > </el-radio-group> </el-form-item> </el-col> <el-col :span="12" :pull="1"> <el-form-item label="Rh(D)" align="left" prop="rhyin"> <el-radio-group v-model="form.rhyin"> <el-radio v-for="dict in dict.type.sys_bloodtype_rhd" :key="dict.value" :label="dict.value" >{{ dict.label }}</el-radio > </el-radio-group> </el-form-item> </el-col> </el-row> <el-row> <el-form-item label="ç¾ç ç±»å" align="left"> <el-checkbox-group v-model="form.diseasetype"> <el-checkbox v-for="dict in dict.type.sys_DiseaseType" :key="dict.value" :label="dict.value" > {{ dict.label }} </el-checkbox> </el-checkbox-group> </el-form-item> <el-form-item label="å ¶ä»" prop="diseasetypeOther"> <el-input v-model="form.diseasetypeOther" placeholder="请è¾å ¥å ¶ä»" /> </el-form-item> </el-row> <el-row> <el-col :span="12"> <el-form-item align="left" label="ä¼ æç "> <el-checkbox-group v-model="form.infectious"> <el-checkbox v-for="dict in dict.type.sys_Infectious" :key="dict.value" :label="dict.value" > {{ dict.label }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-col> <el-col :span="12"> <el-form-item align="left" label="å ¶ä»" prop="infectiousOther"> <el-input v-model="form.infectiousOther" placeholder="请è¾å ¥å ¶ä»" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="9"> <el-form-item align="left" label="ç 人ç¶åµ"> <el-checkbox-group v-model="form.patientstate"> <el-checkbox v-for="dict in dict.type.sys_patientstate" :key="dict.value" :label="dict.value" > {{ dict.label }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-col> <el-col :span="15" align="left"> <el-form-item label="å ¶ä»æ åµ"> <el-checkbox-group v-model="form.othercases"> <el-checkbox v-for="dict in dict.type.sys_OtherCases" :key="dict.value" :label="dict.value" > {{ dict.label }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-col> </el-row> <el-row> <div display="flex"> <el-row> <el-col :span="12"> <el-form-item label="亲å±ç¶åµ" prop="kinship" class="relation" align="left" > <el-checkbox-group v-model="form.kinship"> <el-checkbox v-for="dict in dict.type.sys_Kinship" :key="dict.value" :label="dict.value" > {{ dict.label }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="å ¶ä»" prop="kinshipOther"> <el-input v-model="form.kinshipOther" placeholder="请è¾å ¥å ¶ä»" /> </el-form-item> </el-col> </el-row> </div> </el-row> <el-row> <el-col :span="24"> <el-form-item align="left" label="æ¬äººææ¿ "> <el-checkbox-group v-model="form.selfwill"> <el-checkbox v-for="dict in dict.type.sys_SelfWill" :key="dict.value" :label="dict.value" > {{ dict.label }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="主è¦äº²å±" prop="majorrelatives"> <el-input v-model="form.majorrelatives" placeholder="请è¾å ¥ä¸»è¦äº²å±" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="ä¸æèµ è å ³ç³»" prop="familyrelations"> <el-select v-model="form.familyrelations" placeholder="è¯·éæ©ä¸æèµ è å ³ç³»" > <el-option v-for="dict in dict.type.sys_FamilyRelation" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item align="left" label="ä¿¡æ¯æ¥æº"> <el-checkbox-group v-model="form.infosources"> <el-checkbox v-for="dict in dict.type.sys_InfoSources" :key="dict.value" :label="dict.value" > {{ dict.label }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="å ¶ä»" prop="infosourcesOther"> <el-input v-model="form.infosourcesOther" placeholder="请è¾å ¥ä¿¡æ¯æ¥æºå ¶ä»" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item align="left" label="è·åç»ç»" prop="acquisitiontissuename" > <org-selecter style="width: 260px" ref="orgSelecter" :org-type="'1'" v-model="form.acquisitiontissueno" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="ä¿¡æ¯å" prop="infoname"> <el-input v-model="form.infoname" placeholder="请è¾å ¥ä¿¡æ¯å" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="èç³»çµè¯" prop="infophone"> <el-input v-model="form.infophone" placeholder="请è¾å ¥ä¿¡æ¯åèç³»çµè¯" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="8"> <el-form-item align="left" label="红ååä¼" prop="redorganno"> <org-selecter ref="addCrossOrgSelect" :org-type="'2'" v-model="form.redorganno" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="è系人" prop="contactperson"> <el-input v-model="form.contactperson" placeholder="请è¾å ¥è系人" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="èç³»æ¶é´" prop="contacttime"> <el-date-picker clearable size="small" style="width: 190px" v-model="form.contacttime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©æ¥åæ¶é´" > </el-date-picker> </el-form-item> </el-col> </el-row> </el-form> <div class="dialog-footer"> <el-button v-show="!showTerminationBtn" type="primary" @click="submitForm" >ä¿å</el-button > <el-button :type="showTerminationBtn == 0 ? 'warning' : 'success'" @click="Terminationcase" >{{ showTerminationBtn == 0 ? "ç»æ¢" : "æ¢å¤" }}</el-button > <!-- <el-button v-show="Reportforreview" type="primary" @click="Reportforreview" >æäº¤</el-button > --> </div> </div> <!-- å»å¦è¯ä¼° --> <div class="boxdiv" v-show="actives == 1"> <el-form ref="medicineform" :model="medicineform" :rules="medicinerules" label-width="100px" label-position="right" > <el-row ><el-col :span="24"> <el-form-item label="ç æ æ¦åµ" prop="illnessoverview" style="margin-top: 20px" > <el-input v-model="medicineform.illnessoverview" type="textarea" placeholder="请è¾å ¥å 容" /> </el-form-item></el-col></el-row ><el-row ><el-col :span="24"> <el-form-item label="ç¾ç è¯æ" prop="diagnosisname"> <el-input v-model="medicineform.diagnosisname" type="textarea" placeholder="请è¾å ¥ç¾ç è¯æ" /> </el-form-item></el-col ></el-row> <el-row> <el-col :span="7"> <el-form-item align="left" label="é¢çº§è¯ä¼°å»ç" prop="hospitalassessdoctor" > <el-input v-model="medicineform.hospitalassessdoctor" placeholder="请è¾å ¥é¢çº§è¯ä¼°å»ç" /> </el-form-item> </el-col> <el-col :span="9"> <el-form-item align="left" label="è¯ä¼°æ¶é´" prop="hospitalassesstime" > <el-date-picker clearable size="small" v-model="medicineform.hospitalassesstime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©é¢çº§è¯ä¼°æ¶é´" > </el-date-picker> </el-form-item ></el-col> <el-col :span="8"> <el-form-item align="left" label="è¯ä¼°ç»è®º" prop="hospitalassessconclusion" > <el-select v-model="medicineform.hospitalassessconclusion" placeholder="è¯·éæ©é¢çº§è¯ä¼°ç»è®º" > <el-option v-for="dict in dict.type.sys_BaseAssessConclusion" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </el-form-item> </el-col ></el-row> <el-row ><el-col :span="24"> <el-form-item label="é¢çº§è¯ä¼°å 容" prop="provincialassesscontent" align="left" > <el-input v-model="medicineform.provincialassesscontent" type="textarea" placeholder="请è¾å ¥å 容" /> </el-form-item> </el-col ></el-row> <el-row ><el-col :span="7"> <el-form-item label="ç级è¯ä¼°å»ç" prop="provincialassessdoctor"> <el-input v-model="medicineform.provincialassessdoctor" placeholder="请è¾å ¥ç级è¯ä¼°å»ç" /> </el-form-item></el-col ><el-col :span="9"> <el-form-item label="è¯ä¼°æ¶é´" prop="provincialassesstime"> <el-date-picker clearable size="small" v-model="medicineform.provincialassesstime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©ç级è¯ä¼°æ¶é´" > </el-date-picker> </el-form-item></el-col ><el-col :span="8"> <el-form-item label="è¯ä¼°ç»è®º" prop="provincialassessconclusion" align="left" > <el-select v-model="medicineform.provincialassessconclusion" placeholder="è¯·éæ©ç级è¯ä¼°ç»è®º" > <el-option v-for="dict in dict.type.sys_BaseAssessConclusion" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </el-form-item> </el-col ></el-row> <el-row> <el-col :span="24"> <el-form-item align="left" label="ç级è¯ä¼°å 容" prop="hospitalassesscontent" > <el-input v-model="medicineform.hospitalassesscontent" type="textarea" placeholder="请è¾å ¥å 容" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="7"> <el-form-item label="æ ¸å¿è¯ä¼°å»ç" prop="coreteamassessdoctor"> <el-input v-model="medicineform.coreteamassessdoctor" placeholder="请è¾å ¥æ ¸å¿æåè¯ä¼°å»ç" /> </el-form-item> </el-col> <el-col :span="9"> <el-form-item label="è¯ä¼°æ¶é´" prop="coreteamassesstime"> <el-date-picker clearable size="small" v-model="medicineform.coreteamassesstime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="è¯ä¼°æ¶é´" > </el-date-picker> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="è¯ä¼°ç»è®º" prop="coreteamassessconclusion" align="left" > <el-select v-model="medicineform.coreteamassessconclusion" placeholder="è¯·éæ©æ ¸å¿æåç»è®º" > <el-option v-for="dict in dict.type.sys_CoreAssessConclusion" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </el-form-item> </el-col> </el-row> <el-row ><el-col :span="24"> <el-form-item label="æ ¸å¿æåè¯ä¼°" prop="coreteamassesscontent" align="left" > <el-input v-model="medicineform.coreteamassesscontent" type="textarea" placeholder="请è¾å ¥å 容" /> </el-form-item> </el-col> </el-row> </el-form> <div class="dialog-footer"> <el-button v-show="!showTerminationBtn" type="primary" @click="Savethedetails" >ä¿å</el-button > <el-button :type="showTerminationBtn == 0 ? 'warning' : 'success'" @click="Terminationcase" >{{ showTerminationBtn == 0 ? "ç»æ¢" : "æ¢å¤" }}</el-button > <!-- <el-button v-show="makeastepforward" type="primary" @click="makeastepforward" >ä¸ä¸æ¥</el-button > --> <!-- <el-button @click="cancel">å æ¶</el-button> --> </div> </div> <!-- æç®ç¡®è®¤ --> <div class="boxdiv" v-show="actives == 2"> <el-form ref="affirmform" :model="affirmform" :rules="affirmrules" label-width="100px" label-position="right" > <el-row> <el-col :span="6"> <el-form-item label="亲å±å§å" prop="name"> <el-input v-model="affirmform.name" placeholder="请è¾å ¥å§å" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item align="left" label="ä¸æèµ è å ³ç³»" prop="familyrelations" > <el-select v-model="affirmform.familyrelations" placeholder="è¯·éæ©ä¸æèµ è å ³ç³»" > <el-option v-for="dict in dict.type.sys_FamilyRelation" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="身份è¯å·" prop="idcardno"> <el-input ref="updateBSvalue" class="sfzcode" v-model="affirmform.idcardno" placeholder="请è¾å ¥è¯ä»¶å·ç " /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="èç³»çµè¯" prop="phone"> <el-input v-model="affirmform.phone" placeholder="请è¾å ¥èç³»çµè¯" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="亲å±ç±è´¯" prop="residenceaddresss"> <div> <li_area_select v-model="defultAddresss" ref="residenceaddresss" ></li_area_select> <!-- <div>{{defultAddress}}</div> --> </div> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="ç°ä½å°å" prop="residenceaddress"> <el-input v-model="affirmform.residenceaddress" placeholder="请è¾å ¥å 容" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="ç¾å亲å±" prop="kinshipconfirmationsign"> <el-checkbox-group v-model="organdecision"> <el-checkbox v-for="item in kinshiplist" :key="item" :label="item" > {{ item == "å女" ? item + "(人)" : item }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="æå¹´å女æ°" prop="kinshipChildrennum"> <el-input v-model="affirmform.kinshipChildrennum" placeholder="请è¾å ¥æ°é" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="å ¶ä»äº²å±" prop="organdecisionOther"> <el-input v-model="affirmform.organdecisionOther" placeholder="请è¾å ¥å ¶ä»" /> </el-form-item> </el-col> </el-row> <el-row> <el-form-item label-width="100px" label="æç®å³å®"> <el-checkbox-group v-model="organdecision"> <el-checkbox v-for="item in organselection" :key="item" :label="item" >{{ item }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-row> <el-row> <!-- <el-col :span="18"> <el-form-item align="left" label="æç®å³å®"> <el-checkbox-group v-model="affirmform.organdecision"> <el-checkbox v-for="dict in dict.type.sys_OrganDecision" :key="dict.label" :label="dict.label" > {{ dict.label }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-col> --> </el-row> <el-row> <el-col :span="12"> <el-form-item label="è·åç»ç»" prop="acquisitiontissuename"> <org-selecter style="width: 260px" ref="orgSelecter" :org-type="'1'" v-model="form.acquisitiontissueno" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item label="è´è´£äºº" prop="responsibleuserid"> <el-select v-model="affirmform.responsibleuserid" placeholder="è¯·éæ©" > <el-option v-for="item in leaderlist" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="åè°å1" prop="coordinateduserido"> <el-select v-model="affirmform.coordinateduserido" placeholder="è¯·éæ©" > <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="åè°å2" prop="coordinateduseridt"> <el-select v-model="affirmform.coordinateduseridt" placeholder="è¯·éæ©" > <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> </el-col ><el-col :span="6"> <el-form-item align="left" label="ç¾åæ¥æ" prop="signdate" style="over-flow: hidden" > <el-date-picker clearable size="small" v-model="affirmform.signdate" type="date" value-format="yyyy-MM-dd hh:mm:ss" placeholder="éæ©ç¾åæ¥æ" > </el-date-picker> </el-form-item> </el-col> </el-row> </el-form> <div class="dialog-footer"> <el-button v-show="!showTerminationBtn" type="primary" @click="Savethedetails" >ä¿å</el-button > <el-button :type="showTerminationBtn == 0 ? 'warning' : 'success'" @click="Terminationcase" >{{ showTerminationBtn == 0 ? "ç»æ¢" : "æ¢å¤" }}</el-button > <!-- <el-button v-show="makeastepforward" type="primary" @click="makeastepforward" >ä¸ä¸æ¥</el-button > --> <!-- <el-button @click="cancel">å æ¶</el-button> --> </div> </div> <!-- 伦çå®¡æ¥ --> <div class="boxdiv" v-show="actives == 3"> <el-form ref="ethicform" :model="ethicform" :rules="ethicrules" label-width="100px" label-position="right" > <el-row> <el-col :span="18"> <el-form-item label="审æ¥ç»è®º"> <el-radio-group v-model="ethicform.expertconclusion"> <el-radio v-for="dict in dict.type.sys_EthicalReview" :key="dict.value" :label="parseInt(dict.value)" >{{ dict.label }}</el-radio > </el-radio-group> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="18"> <el-form-item label="å®¡æ¥æè§"> <el-input v-model="ethicform.expertopinion" type="textarea" placeholder="请è¾å ¥å 容" /> </el-form-item> </el-col> </el-row> <el-row> <!-- createtime å®¡æ¥æ¥æ --> <el-col :span="18"> <el-form-item label="å®¡æ¥æ¥æ"> <el-date-picker clearable size="small" v-model="ethicform.conclusiontime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©ç»è®ºæ¶é´" > </el-date-picker> </el-form-item> </el-col ></el-row> </el-form> <div class="dialog-footer" style="min-height: 500px; margin: 20px 0; "> <el-button v-show="!showTerminationBtn" type="primary" @click="Savethedetails" >ä¿å</el-button > <el-button :type="showTerminationBtn == 0 ? 'warning' : 'success'" @click="Terminationcase" >{{ showTerminationBtn == 0 ? "ç»æ¢" : "æ¢å¤" }}</el-button > <!-- <el-button v-show="makeastepforward" type="primary" @click="makeastepforward" >ä¸ä¸æ¥</el-button > --> <!-- <el-button @click="cancel">å æ¶</el-button> --> </div> </div> <!-- å¨å®åé --> <div class="boxdiv" v-show="actives == 4"> <el-form ref="allocateddata" :model="allocateddata" :rules="allocationrules" label-position="right" > <el-row> <el-col> <el-form-item label-width="100px" label="åé å¨å®"> <el-checkbox-group v-model="organList.organallocated"> <el-checkbox v-for="dict in dict.type.sys_Organ" :key="dict.value" :label="dict.value" @change="changeorganState(dict.value)" > {{ dict.label }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-col> </el-row> <el-row> <el-col> <el-form-item> <el-table v-loading="loading" border :data="allocateddata"> <el-table-column label="å¨å®åç§°" align="center" width="110" prop="organname" > <template slot-scope="scope"> <el-input v-model="scope.row.organname" placeholder="å¨å®åç§°" :disabled="scope.row.organno != 'C01'" /> </template> </el-table-column> <el-table-column label="å¨å®ç¼å·" align="center" width="90" prop="organno" /> <el-table-column label="ç³»ç»ç¼å·" align="center" width="120" prop="caseno" > <template slot-scope="scope"> <el-input v-model="scope.row.caseno" placeholder="ç³»ç»ç¼å·" /> </template> </el-table-column> <el-table-column label="æ¥æ¶æ¶é´" align="center" width="200" prop="applicanttime" > <template slot-scope="scope"> <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.applicanttime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©æ¥æ¶æ¶é´" > </el-date-picker> </template> </el-table-column> <el-table-column label="åä½å§å" align="center" width="120" prop="name" > <template slot-scope="scope"> <el-input v-model="scope.row.name" placeholder="åä½å§å" /> </template> </el-table-column> <!-- <el-table-column label="è¯ä»¶ç±»å" align="center" width="150" prop="idcardtype"> <template slot-scope="scope"> <el-select v-model="scope.row.idcardtype" placeholder="ç§»æ¤äººè¯ä»¶ç±»å"> <el-option v-for="dict in dict.type.sys_IDType" :key="dict.value" :label="dict.label" :value="parseInt(dict.value)"></el-option> </el-select> </template> </el-table-column> <el-table-column label="è¯ä»¶å·ç " align="center" width="200" prop="idcardno"> <template slot-scope="scope"> <el-input v-model="scope.row.idcardno" placeholder="è¯ä»¶å·ç " /> </template> </el-table-column> <el-table-column label="åé ç¶æ" align="center" width="150" prop="allocationstatus"> <template slot-scope="scope"> <el-select v-model="scope.row.allocationstatus" placeholder="è¯·éæ©å¨å®ç¶æ"> <el-option v-for="dict in allocationstatuslist" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> </el-select> </template> </el-table-column> --> <el-table-column prop="reallocationreason" label="说æ" align="center" > <template slot-scope="scope"> <el-input type="textarea" clearable v-model="scope.row.reallocationreason" placeholder="请è¾å ¥è¯´æ" /> </template> </el-table-column> <el-table-column label="æä½" align="center" width="100" class-name="small-padding fixed-width" v-if="actives == 4" > <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-copy-document" @click="redistribution(scope.row)" >éåé </el-button > </template> </el-table-column> </el-table> </el-form-item> </el-col> </el-row> </el-form> <div class="dialog-footer" v-show="actives == 4"> <el-button v-show="!showTerminationBtn" type="primary" @click="Savethedetails" >ä¿å</el-button > <el-button :type="showTerminationBtn == 0 ? 'warning' : 'success'" @click="Terminationcase" >{{ showTerminationBtn == 0 ? "ç»æ¢" : "æ¢å¤" }}</el-button > <!-- <el-button v-show="makeastepforward" type="primary" @click="makeastepforward" >ä¸ä¸æ¥</el-button > --> <!-- <el-button @click="cancel">å æ¶</el-button> --> </div> </div> <!-- è·åè§è¯ --> <div class="boxdiv" v-show="actives == 5"> <el-form ref="witnessform" :model="witnessform" :rules="witnessrules" label-width="100px" label-position="right" > <el-row> <el-col :span="24"> <el-form-item align="left" label="æç®ç±»å«" prop="donationcategory" > <el-radio-group v-model="witnessform.donationcategory"> <el-radio v-for="dict in dict.type.sys_DonationCategory" :key="dict.value" :label="dict.value" >{{ dict.label }}</el-radio > </el-radio-group> </el-form-item> </el-col> </el-row> <el-row> </el-row> <el-row> <el-col :span="6"> <el-form-item align="left" label="æ»äº¡å¤å®ï¼å»çä¸" label-width="140px" prop="deathjudgedocto" > <el-input v-model="witnessform.deathjudgedocto" placeholder="å¤å®å»çå§å" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item align="left" label="å»çäº" label-width="120px" prop="deathjudgedoctt" > <el-input v-model="witnessform.deathjudgedoctt" placeholder="å¤å®å»çå§å" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item align="left" label="æ»äº¡æ¶é´" label-width="120px" prop="deathtime" > <el-date-picker clearable v-model="witnessform.deathtime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©æ»äº¡æ¶é´" > </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item align="left" label="æ»äº¡åå " label-width="120px" prop="deathreason" > <el-input v-model="witnessform.deathreason" placeholder="请è¾å ¥æ»äº¡åå " /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item align="left" label="ææ¯ï¼å¼å§æ¶é´" label-width="140px" prop="operationbegtime" > <el-date-picker clearable v-model="witnessform.operationbegtime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©ææ¯å¼å§æ¶é´" > </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item align="left" label="ç»ææ¶é´" label-width="120px" prop="operationendtime" > <el-date-picker clearable v-model="witnessform.operationendtime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©ææ¯ç»ææ¶é´" > </el-date-picker> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item label="è ¹ä¸»å¨èï¼æç®¡æ¶é´" align="left" label-width="140px" prop="abdominalaortacannulatime" > <el-date-picker clearable v-model="witnessform.abdominalaortacannulatime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©è ¹ä¸»å¨èæç®¡æ¶é´" > </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="çæ³¨æ¶é´" align="left" label-width="120px" prop="abdominalaortaperfusiontime" > <el-date-picker clearable v-model="witnessform.abdominalaortaperfusiontime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©è ¹ä¸»å¨èçæ³¨æ¶é´" > </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="é¨éèï¼æç®¡æ¶é´" align="left" label-width="140px" prop="portalveincannulatime" > <el-date-picker clearable v-model="witnessform.portalveincannulatime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©é¨éèèæç®¡æ¶é´" > </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="çæ³¨æ¶é´" align="left" label-width="120px" prop="portalveinperfusiontime" > <el-date-picker clearable v-model="witnessform.portalveinperfusiontime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©é¨éèçæ³¨æ¶é´" > </el-date-picker> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item label="èºå¨èï¼æç®¡æ¶é´" align="left" label-width="140px" prop="pulmonaryarterycannulatime" > <el-date-picker clearable v-model="witnessform.pulmonaryarterycannulatime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©é¨éèæç®¡æ¶é´" > </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="çæ³¨æ¶é´" align="left" label-width="120px" prop="pulmonaryarteryperfusiontime" > <el-date-picker clearable v-model="witnessform.pulmonaryarteryperfusiontime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©é¨éèçæ³¨æ¶é´" > </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="主å¨èï¼ç注æ¶é´" align="left" label-width="140px" prop="aortacannulatime" > <el-date-picker clearable v-model="witnessform.aortacannulatime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="鿩䏻å¨èçæ³¨æ¶é´" > </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="çæ³¨æ¶é´" align="left" label-width="120px" prop="aortaperfusiontime" > <el-date-picker clearable v-model="witnessform.aortaperfusiontime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="鿩䏻å¨èçæ³¨æ¶é´" > </el-date-picker> </el-form-item> </el-col> </el-row> <el-row> <el-col> <el-form-item label-width="100px" label="è·åå¨å®"> <el-checkbox-group v-model="organList.organprocured"> <el-checkbox v-for="dict in dict.type.sys_Organ" :key="dict.value" :label="dict.value" @change="changeorganprocured(dict.value)" > {{ dict.label }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-col> </el-row> <el-row> <el-col> <el-form-item> <el-table v-loading="loading" border :data="procureddata"> <el-table-column label="å¨å®åç§°" align="center" width="110" prop="organname" > <template slot-scope="scope"> <el-input v-model="scope.row.organname" placeholder="å¨å®åç§°" :disabled="scope.row.organno != 'C01'" /> </template> </el-table-column> <el-table-column label="å¨å®ç¼å·" align="center" width="90" prop="organno" /> <el-table-column label="å¨å®ç¦»ä½æ¶é´" align="center" width="200" prop="organgettime" > <template slot-scope="scope"> <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.organgettime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="请è¾å ¥å¨å®ç¦»ä½æ¶é´" > </el-date-picker> </template> </el-table-column> <el-table-column label="è·åå»é¢" align="center" width="230" prop="gainhospitalno" > <template slot-scope="scope"> <div class="elldiv"> <org-selecter ref="tranHosSelect" :org-type="'4'" v-model="scope.row.gainhospitalno" /> </div> </template> </el-table-column> <el-table-column label="è·åå»å¸" align="center" width="120" prop="organgetdoct" > <template slot-scope="scope"> <el-input v-model="scope.row.organgetdoct" placeholder="请è¾å ¥å»å¸å§å" /> </template> </el-table-column> <el-table-column label="è·åç¶æ" align="center" width="150" prop="organstate" > <template slot-scope="scope"> <el-select v-model="scope.row.organstate" placeholder="è¯·éæ©å¨å®ç¶æ" > <el-option v-for="dict in organstatelist" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </template> </el-table-column> <el-table-column label="说æ" align="center" prop="notgetreason" > <template slot-scope="scope"> <el-input type="textarea" clearable v-model="scope.row.notgetreason" placeholder="请è¾å ¥æªè·å说æ" /> </template> </el-table-column> </el-table> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item align="left" label="é»åç¼ æä»ªå¼"> <el-radio-group v-model="witnessform.isspendremember"> <el-radio v-for="dict in dict.type.sys_0_1" :key="dict.value" :label="parseInt(dict.value)" >{{ dict.label }}</el-radio > </el-radio-group> </el-form-item> </el-col> <el-col :span="12"> <el-form-item align="left" label="æ¢å¤éä½ä»ªå®¹"> <el-radio-group v-model="witnessform.isrestoreremains"> <el-radio v-for="dict in dict.type.sys_0_1" :key="dict.value" :label="parseInt(dict.value)" >{{ dict.label }}</el-radio > </el-radio-group> </el-form-item></el-col > </el-row> <el-row> <el-col :span="8"> <el-form-item label="ææ¯è´è´£äºº" label-width="140px" prop="responsibleusername" > <el-input v-model="witnessform.responsibleusername" placeholder="请è¾å ¥è´è´£äººå§å" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="åè°åä¸" prop="coordinateduserido"> <el-select v-model="witnessform.coordinateduserido" placeholder="è¯·éæ©" > <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="åè°åäº" prop="coordinateduseridt"> <el-select v-model="witnessform.coordinateduseridt" placeholder="è¯·éæ©" > <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> </el-col> </el-row> </el-form> <div class="dialog-footer"> <el-button v-show="!showTerminationBtn" type="primary" @click="Savethedetails" >ä¿å</el-button > <el-button :type="showTerminationBtn == 0 ? 'warning' : 'success'" @click="Terminationcase" >{{ showTerminationBtn == 0 ? "ç»æ¢" : "æ¢å¤" }}</el-button > <!-- <el-button v-show="makeastepforward" type="primary" @click="makeastepforward" >ä¸ä¸æ¥</el-button > --> <!-- <el-button @click="cancel">å æ¶</el-button> --> </div> </div> <!-- 宿ç»è®° --> <div class="boxdiv" v-show="actives == 6"> <el-form ref="accomplishform" :model="accomplishform" :rules="accomplishrules" label-width="100px" label-position="right" > <el-row> <el-col> <el-form-item label-width="100px" label="ç§»æ¤å¨å®"> <el-checkbox-group v-model="organList.organtransplant"> <el-checkbox v-for="dict in dict.type.sys_Organ" :key="dict.value" :label="dict.value" @change="changeorgantransplant(dict.value)" > {{ dict.label }} </el-checkbox> </el-checkbox-group> </el-form-item> </el-col> </el-row> <el-row> <el-col> <el-form-item> <el-table v-loading="loading" border :data="transplantdata"> <el-table-column label="å¨å®åç§°" align="center" width="110" prop="organname" > <template slot-scope="scope"> <el-input v-model="scope.row.organname" placeholder="å¨å®åç§°" :disabled="scope.row.organno != 'C01'" /> </template> </el-table-column> <el-table-column label="å¨å®ç¼å·" align="center" width="90" prop="organno" /> <el-table-column label="ç§»æ¤å»é¢" align="center" width="220" prop="transplanthospitalname" v-if="actives == 6" > <template slot-scope="scope"> <org-selecter ref="tranHosSelect" :org-type="'4'" v-model="scope.row.transplanthospitalno" style="width: 100%" /> </template> </el-table-column> <el-table-column label="ç§»æ¤è´è´£äºº" align="center" width="120" prop="transplantdoct" > <template slot-scope="scope"> <el-input v-model="scope.row.transplantdoct" placeholder="å»å¸å§å" /> </template> </el-table-column> <el-table-column label="ç§»æ¤æ¶é´" align="center" width="200" prop="transplanttime" > <template slot-scope="scope"> <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.transplanttime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©ç§»æ¤æ¶é´" > </el-date-picker> </template> </el-table-column> <el-table-column label="ç§»æ¤ç¶æ" align="center" width="150" prop="transplantstate" > <template slot-scope="scope"> <el-select v-model="scope.row.transplantstate" placeholder="è¯·éæ©å¨å®ç¶æ" > <el-option v-for="dict in transplantstatelist" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </template> </el-table-column> <el-table-column prop="abandonreason" label="说æ" align="center" > <template slot-scope="scope"> <el-input type="textarea" clearable v-model="scope.row.abandonreason" placeholder="请è¾å ¥å¼ç¨è¯´æ" /> </template> </el-table-column> </el-table> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item align="left" label="é使ç®" prop="isbodydonation"> <el-radio-group v-model="accomplishform.isbodydonation"> <el-radio v-for="dict in dict.type.sys_0_1" :key="dict.value" :label="dict.value" >{{ dict.label }}</el-radio > </el-radio-group> </el-form-item> </el-col> <el-col :span="12"> <el-form-item align="left" label="æ¥æ¶åä½" prop="receivingunit"> <el-input v-model="accomplishform.receivingunit" placeholder="请è¾å ¥æ¥ååä½" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item label="è´è´£äºº" prop="responsibleuserid"> <el-select v-model="accomplishform.responsibleuserid" placeholder="è¯·éæ©" > <el-option v-for="item in leaderlist" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="åè°åä¸" prop="coordinateduserido"> <el-select v-model="accomplishform.coordinateduserido" placeholder="è¯·éæ©" > <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="åè°åäº" prop="coordinateduseridt"> <el-select v-model="accomplishform.coordinateduseridt" placeholder="è¯·éæ©" > <el-option v-for="item in coordinatorlist1" :key="item.reportNo" :label="item.reportName" :value="item.reportNo" > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="宿æ¶é´" prop="completetime"> <el-date-picker style="width: 167px" clearable size="small" v-model="accomplishform.completetime" type="date" value-format="yyyy-MM-dd hh:mm:ss" placeholder="鿩宿æ¶é´" > </el-date-picker> </el-form-item> </el-col> </el-row> </el-form> <div class="dialog-footer"> <el-button v-show="!showTerminationBtn" type="primary" @click="Savethedetails" >ä¿å</el-button > <el-button :type="showTerminationBtn == 0 ? 'warning' : 'success'" @click="Terminationcase" >{{ showTerminationBtn == 0 ? "ç»æ¢" : "æ¢å¤" }}</el-button > <el-button v-show="Reportforreview" type="primary" @click="Reportforreview" >æäº¤</el-button > <!-- <el-button @click="cancel">å æ¶</el-button> --> </div> </div> <!-- å®ç»æµç¨ --> <div class="boxdiv" v-show="actives > 6"> <div style="display:flex; line-height: 100px; justify-content: center;"> <!-- <el-image style="width: 100px; height: 100px" :src="require('@/assets/images/wanc.png')" ></el-image> --> <div style="padding: 20px 0; margin: 0 30px"> <img style="width: 60px; height: 60px" src="@/assets/images/wanc.png" class="user-avatar" /> </div> <div style="font-size: 28px;">å ¨é¨æµç¨å·²å®ç»ï¼</div> <img style="width: 100px; height: 100px" src="@/assets/images/zhan.png" class="user-avatar" /> </div> </div> </div> <!-- éä»¶å¼¹çª --> <el-dialog v-dialogDrags :modal="false" :close-on-click-modal="false" :title="pdftitle" :visible.sync="pdfVisible" width="60%" > <!-- <div style="text-align: right;"> <el-button type="success" @click="drawer = true" >æä»¶æå¯¼ç®å½</el-button > </div> --> <el-tabs style="margin-top: 20px;" v-model="activeName" type="card" > <el-tab-pane :label="activetele" :name="1"> </el-tab-pane> </el-tabs> <div class="pdfimg"> <div class="box-pdf"> <div> <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" :show-file-list="false" multiple drag :headers="headers" :on-success=" (response, file, fileList) => uploadSccess(response, file, fileList) " :on-preview="downFile" :on-error="handleUploadError" :on-remove="remove" accept="image/*,.pdf" > <i class="el-icon-upload"></i> <div class="el-upload__text"> å°å票æä»¶æå°æ¤å¤ï¼æ <em ><el-button size="small" type="primary" >ç¹å»ä¸ä¼ </el-button ></em > </div> </el-upload> <el-table :data="fileListto" @row-click="downFile" style="width: 100%" height="400" > <el-table-column prop="annexname" :show-overflow-tooltip="true" label="åç§°" > <template slot-scope="scope"> <i style="color:#409EFF" class=" el-icon-s-order" />{{ scope.row.annexname }} </template> </el-table-column> <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="åè½" > <template slot-scope="scope"> <el-button type="primary" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)" >å é¤</el-button > <el-button type="primary" size="mini" @click.native.prevent.stop="moveupdowfile(scope.row)" >ä¸ç§»</el-button > </template> </el-table-column> </el-table> </div> </div> <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin"> <!-- <img :src="pdfimg" /> --> <el-image style="width: 95%; height: 90%" :src="pdfimg" :preview-src-list="pdfimgsrcList" > </el-image> </div> <div v-else class="pdfimgmins">{{ hintitle }}</div> </div> </el-dialog> <!-- æ¹éæ½å± --> <el-drawer title="å¨å®æç®ç¸å ³éä»¶" :visible.sync="drawer" direction="rtl"> <div style="padding:20px"> <el-button @click="clearFilter">åæ¶çé</el-button> <el-table ref="filterTable" :data="tableDatafile" style="width: 100%"> <el-table-column prop="name" label="æä»¶å" width="250"> </el-table-column> <el-table-column prop="tag" label="ç±»å" :filters="[ { text: 'ä¸å½ä¸ç±»(DBD)', value: 'ä¸å½ä¸ç±»(DBD)' }, { text: 'ä¸å½äºç±»(DCD)', value: 'ä¸å½äºç±»(DCD)' }, { text: 'ä¸å½ä¸ç±»(DBCD)', value: 'ä¸å½ä¸ç±»(DBCD)' } ]" :filter-method="filterTag" filter-placement="bottom-end" > <template slot-scope="scope"> <el-tag :type="scope.row.type" disable-transitions>{{ scope.row.tag }}</el-tag> </template> </el-table-column> </el-table> </div> <div style="margin-left: 20px;"> <el-button @click="drawer = false">å æ¶</el-button> </div> </el-drawer> </div> </template> <script> import { listDonateannex, Modifydonationattachment } from "@/api/project/donateannex"; import { listReportname } from "@/api/project/organization"; import { getDonatebaseinfo, addDonatebaseinfo, updateDonatebaseinfo, getDonatebaseinfoflow } from "@/api/project/donatebaseinfo"; import { listMedicalevaluation, addMedicalevaluation, updateMedicalevaluation } from "@/api/project/medicalevaluation"; import { listRelativesconfirmation, getRelativesconfirmation, addRelativesconfirmation, updateRelativesconfirmation } from "@/api/project/relativesconfirmation"; import { listEthicalreviewopinions, getEthicalreviewopinions, addEthicalreviewopinions, updateEthicalreviewopinions, listnewEthicalreviewopinions } from "@/api/project/ethicalreviewopinions"; import { addDonateflowchart, listDonateflowchart, updateDonateflowchart } from "@/api/project/DonationEvaluation"; import { listDonateorgan, addDonateorgan, delDonateorgan, updateDonateorgan, saveDonateorgan } from "@/api/project/donateorgan"; import { listOrganallocation, addOrganallocation, updateOrganallocation } from "@/api/project/organallocation"; import { addDonationwitness, updateDonationwitness, getDonationwitness, getByInfoId, listDonationwitnessorgan, saveDonationwitnessorgan, delDonationwitnessorgan } from "@/api/project/donationwitness"; import { listnewDonatecompletioninfo, addDonatecompletioninfo, updateDonatecompletioninfo, listDonatecomporgan, saveDonatecomporgan, delDonatecomporgan } from "@/api/project/donatecompletioninfo"; import Li_area_select from "@/components/Address"; import OrgSelecter from "@/views/project/components/orgselect"; import AnnexUpload from "@/views/project/components/annexupload"; import ReportName from "@/views/project/components/organizationUser"; import { getToken } from "@/utils/auth"; import { formatDate } from "@/utils/index"; export default { name: "donationdetails", components: { Li_area_select, OrgSelecter, AnnexUpload, ReportName }, data() { return { infoid: 736, drawer: false, form: {}, activeName:'', tableDatafile: [ { name: "çå°è", address: "䏿µ·å¸æ®éåºéæ²æ±è·¯ 1518 å¼", tag: "ä¸å½ä¸ç±»(DBD)", type: "success" } ], medicineform: { infoid: null }, affirmform: { infoid: null, organdecision: [] }, organdecision: [], ethicform: { infoid: null }, kinshiplist: ["é å¶", "ç¶äº²", "æ¯äº²", "å女", "åæäºº"], organselection: [ "èè", "åè¾è", "å¿è", "èºè", "è ºä½", "å°è ", "åç¼ç»ç»", "éä½", "å ¶ä»" ], //éæ©å¨å®è¡¨å organList: { //åé å表 organallocated: [], //è·åå表 organprocured: [], //宿å表 organtransplant: [] }, //å¨å®ç¶æ allocationstatuslist: [ { value: 1, label: "å·²åé " }, { value: 2, label: "éåé " } ], organstatelist: [ { value: "1", label: "å·²è·å" }, { value: "2", label: "å纳" } ], transplantstatelist: [ { value: 1, label: "已移æ¤" }, { value: 2, label: "åºå" }, { value: 3, label: "å¼ç¨" } ], //å¨å®æ°æ® allocateddata: [], procureddata: [], transplantdata: [], witnessform: { infoid: null }, accomplishform: { infoid: null }, tableData: [], coordinatorlist1: [], leaderlist: [], actives: 0, //è¿ç¨ workflow: 0, loading: false, // ä¿åãç»æ¢æé®ç¡®è®¤ showSaveBtn: true, showTerminationBtn: 0, //ç»æ¢ç¶æ 0-æªç»æ¢ 1-å·²ç»æ¢ // æµç¨æ°æ®ï¼donatebaseinfo[createtime,updatetime]ãmedicalevaluationãrelativesconfirmationãdonateflowchartsãdonateorgansServiceãdonationwitnessãdonatecompletioninfo Processdata: {}, //çå¸åºé»è®¤å¼è®¾ç½®ï¼å¯ä¸ºç©º searchAddress: { sheng: "", shi: "", qu: "", organizationname: null }, residenceAddresss: { sheng: "æµæ±ç", shi: "", qu: "" }, defultAddresss: { sheng: "æµæ±ç", shi: "", qu: "" }, registerAddresss: { sheng: "æµæ±ç", shi: "", qu: "" }, // 顶鍿°æ®æ ¡éª rules: { name: [ { required: true, message: "请è¾å ¥æç®è å§å", trigger: "blur" } ], birthday: [ { required: true, message: "è¯·éæ©åºçæ¥æ", trigger: "blur" } ], idcardtype: [ { required: true, message: "è¯·éæ©è¯ä»¶ç±»å", trigger: "blur" } ], residenceaddress: [ { required: true, message: "请è¾å ¥ä½å", trigger: "blur" } ], contacttime: [ { required: true, message: "请è¾å ¥çº¢ååä¼èç³»æ¶é´", trigger: "blur" } ], idcardno: [ { required: true, message: "请æ£ç¡®è¾å ¥è¯ä»¶å·ç ", trigger: "blur" } ], sex: [{ required: true, message: "æ§å«ä¸è½ä¸ºç©º", trigger: "blur" }], age: [{ required: true, message: "请è¾å ¥å¹´é¾", trigger: "blur" }], treatmenthospitalno: [ { required: true, message: "è¯·éæ©å»çæºæ", trigger: "blur" } ], bloodtype: [ { required: true, message: "è¯·éæ©ABOè¡å", trigger: "blur" } ], rhyin: [{ required: true, message: "è¯·éæ©RHDè¡å", trigger: "blur" }], diseasetype: [ { required: true, message: "è¯·éæ©RHDè¡å", trigger: "blur" } ], inpatientno: [ { required: true, message: "è¾å ¥ä½é¢å·", trigger: "blur" } ], diagnosisname: [ { required: true, message: "ç¾ç è¯æä¸è½ä¸ºç©º", trigger: "blur" } ], infoname: [ { required: true, message: "请è¾å ¥ä¿¡æ¯åå§å", trigger: "blur" } ], infophone: [ { required: true, message: "请è¾å ¥ä¿¡æ¯åèç³»çµè¯", trigger: "blur" } ], redorganno: [ { required: true, message: "è¯·éæ©çº¢åå伿ºæ", trigger: "blur" } ], contactperson: [ { required: true, message: "红ååä¼è系人ä¸è½ä¸ºç©º", trigger: "blur" } ], acquisitiontissueno: [ { required: true, message: "å¨å®è·åç»ç»ä¸è½ä¸ºç©º", trigger: "blur" } ], reporterno: [ { required: true, message: "è¯·éæ©æ¥å人", trigger: "blur" } ], reporttime: [ { required: true, message: "请è¾å ¥æ¥åæ¶é´", trigger: "blur" } ], reporterphone: [ { required: true, message: "请è¾å ¥æ¥å人èç³»çµè¯", trigger: "blur" } ] }, // å级æç»æéª medicinerules: {}, affirmrules: { name: [ { required: true, message: "亲å±å§åä¸è½ä¸ºç©º", trigger: "blur" } ], phone: [ { required: true, message: "å®¶å±èç³»çµè¯ä¸ä¸ºç©º", trigger: "blur" } ], signfamilyrelations: [ { required: true, message: "䏿ç®è å ³ç³»", trigger: "blur" } ], idcardno: [ { required: true, message: "è¯ä»¶å·ä¸è½ä¸ºç©º", trigger: "blur" } ], organdecision: [ { required: true, message: "æç®å³å®ä¸è½ä¸ºç©º", trigger: "blur" } ], responsibleuserid: [ { required: true, message: "è´è´£äººä¸è½ä¸ºç©º", trigger: "blur" } ], coordinateduserido: [ { required: true, message: "åè°å1ä¸è½ä¸ºç©º", trigger: "blur" } ], coordinateduseridt: [ { required: true, message: "åè°å2ä¸è½ä¸ºç©º", trigger: "blur" } ] }, ethicrules: {}, allocationrules: {}, witnessrules: {}, accomplishrules: {}, //æ¥å人å表 reporters: [], //éä»¶å表 annexfilesList: [], //éä»¶å±ç¤ºå potentiallist: [], //æ½å¨éä»¶ medicinelist: [], //å»å¦éä»¶ affirmlist: [], //确认éä»¶ ethiclist: [], //伦çéä»¶ registerlist: [], //宿éä»¶ fileList: [], fileListto: [], donatelist: [], //æ» activetele: "æ½å¨æç®", //ä¸ä¼ éä»¶è·¯å¾ uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", //æä»¶ä¸ä¼ token headers: { Authorization: "Bearer " + getToken() }, // ç½ç»è¯·æ±å¤´ Networkheader: null, //ç¥¨æ®æä»¶ pdftitle: "", pdfimg: "", pdfimgsrcList: [], pdfVisible: false, previewpdf: false, hintitle: "请ä¸ä¼ æä»¶åæ¥ç", atpresent: "" }; }, created() { this.infoid = this.$route.query.id; }, mounted() { // this.id = this.$route.query.id; this.Getbasicinformation(); this.listDonateannex(); //è·åæ¥å人å表ï¼ä¸è人å listReportname("zzry").then(res => { this.reporters = res.data; }); //è·ååè°åå listReportname("xty1").then(res => { this.coordinatorlist1 = res.data; }); //è·åè´è´£äººå listReportname("fzr").then(res => { this.leaderlist = res.data; }); }, methods: { // è·å主表åé屿°æ® Getbasicinformation() { // 左侧æµç¨æ°æ® getDonatebaseinfoflow(this.infoid).then(res => { console.log("getDonatebaseinfoflow", res.data); this.Processdata = res.data; }); // è¡¨åæ°æ® getDonatebaseinfo(this.infoid).then(response => { this.form = response.data; this.showTerminationBtn = response.data.terminationCase; this.actives = response.data.workflow; this.workflow = response.data.workflow; response.data.sex = parseInt(response.data.sex); this.form.id = response.data.id; this.form.diseasetype = this.form.diseasetype.split(","); this.form.infectious = this.form.infectious.split(","); this.form.selfwill = this.form.selfwill.split(","); this.form.othercases = this.form.othercases.split(","); this.form.infosources = this.form.infosources.split(","); this.form.kinship = this.form.kinship.split(","); this.form.patientstate = this.form.patientstate.split(","); this.open = true; this.title = "人ä½å¨å®æ½å¨æç®è ç»è®°è¡¨"; this.registerAddresss.sheng = response.data.registerprovincename; this.residenceAddresss.sheng = response.data.residenceprovincename; this.registerAddresss.shi = response.data.registercityname; this.residenceAddresss.shi = response.data.residencecityname; this.residenceAddresss.qu = response.data.residencetownname; this.registerAddresss.qu = response.data.registertownname; // è·åäºçº§è¡¨ this.GetAttacheddata(); }); }, // è·åäºçº§è¡¨æ°æ® GetAttacheddata() { let searchParam = { infoid: this.infoid }; if (this.actives == 1) { this.annexfilesList = this.medicinelist; this.activetele = "å»å¦è¯ä¼°"; if (this.medicineform.infoid) { return; } listMedicalevaluation(searchParam).then(response => { if (response.code == 200 && response.rows[0]) { this.medicineform = response.rows[0]; } else { // this.$modal.msgError( // "è·åå»å¦è¯ä¼°è®°å½å¤±è´¥ï¼" + JSON.stringify(response) // ); } }); } else if (this.actives == 2) { this.annexfilesList = this.affirmlist; this.activetele = "æç®ç¡®è®¤"; if (this.affirmform.infoid) { return; } listRelativesconfirmation(searchParam).then(response => { if (response.code == 200 && response.rows[0]) { this.affirmform = response.rows[0]; if (this.affirmform.organdecision) { this.organdecision = this.affirmform.organdecision.split(","); } if (!this.affirmform) { this.affirmform = {}; this.affirmform.residenceprovincename = ""; this.affirmform.residencecityname = ""; this.affirmform.residencetownname = ""; } this.defultAddresss.sheng = this.affirmform.residenceprovincename; this.defultAddresss.shi = this.affirmform.residencecityname; this.defultAddresss.qu = this.affirmform.residencetownname; // if (this.affirmform.kinship) { // this.affirmform.kinship = this.affirmform.kinship.split(","); // } // if (this.affirmform.organdecision) { // this.affirmform.organdecision = this.affirmform.organdecision.split( // "," // ); // } } else { // this.$modal.msgError( // "æ¥è¯¢æ¯å¦åå¨ç¡®è®¤ç»è®°è®°å½å¤±è´¥" + JSON.stringify(response) // ); } }); } else if (this.actives == 3) { this.annexfilesList = this.ethiclist; this.activetele = "伦ç审æ¥"; if (this.ethicform.infoid) { return; } //listDonateflowchart(searchParam).then(response => { listEthicalreviewopinions(searchParam).then(response => { if (response.code == 200 && response.rows.length) { this.ethicform = response.rows[0]; } else { console.log("伦çå®¡æ¥æ°æ®ä¸ºç©º"); } }); } else if (this.actives == 4 && !this.allocateddata[0]) { listDonateorgan(searchParam).then(res => { if (res.code == 200) { if (res.rows[0]) { this.allocateddata = res.rows; } this.organList.organallocated = []; for (let i = 0; i < res.rows.length; i++) { this.organList.organallocated.push(this.allocateddata[i].organno); } } else { // this.$modal.msgError( // "è·åå¨å®åé ä¿¡æ¯å¤±è´¥ï¼" + JSON.stringify(res) // ); } }); } else if (this.actives == 5 && !this.witnessform.infoid) { // ä¸å卿¶è·åå¨å®ä¿¡æ¯ if (this.witnessform.infoid) { return; } listDonationwitnessorgan(searchParam).then(res => { if (res.code == 200) { if (res.rows[0]) { this.procureddata = res.rows; this.procureddata.infoid = this.infoid; } this.organList.organprocured = []; for (let i = 0; i < this.procureddata.length; i++) { this.organList.organprocured.push(this.procureddata[i].organno); } } else { // this.$modal.msgError( // "å¨å®å表è·å失败ï¼" + JSON.stringify(resall) // ); } }); // è·åå½åè§è¯ä¿¡æ¯ getByInfoId(searchParam.infoid).then(response => { if (response.code == 200) { if (response.data) { this.witnessform = response.data; this.witnessform.infoid = this.infoid; } } else { // this.$modal.msgError( // "è·åè§è¯ä¿¡æ¯æ¿å失败ï¼" + JSON.stringify(response) // ); } }); } else if (this.actives == 6) { this.annexfilesList = this.registerlist; this.activetele = "宿ç»è®°"; if (this.accomplishform.infoid) { return; } // ä¸å卿¶è·åå¨å® let accpre = { id: searchParam.infoid }; if (!this.organList.organtransplant[0]) { listDonatecomporgan(searchParam).then(res => { if (res.code == 200) { if (res.rows[0]) { this.transplantdata = res.rows; this.transplantdata.infoid = this.infoid; } for (let i = 0; i < this.transplantdata.length; i++) { this.organList.organtransplant.push( this.transplantdata[i].organno ); } } else { // this.$modal.msgError( // "å¨å®å表è·å失败ï¼" + JSON.stringify(resall) // ); } }); } // è·å宿ç»è®°ä¿¡æ¯ listnewDonatecompletioninfo(accpre).then(response => { if (response.code == 200 && response.rows.length) { this.accomplishform = response.rows[0]; this.accomplishform.infoid = this.infoid; } else { // this.$modal.msgError("宿ç»è®°å¤±è´¥ï¼" + JSON.stringify(response)); } }); } else if (this.actives == 0) { this.annexfilesList = this.potentiallist; this.activetele = "æ½å¨æç®"; } }, /** ä¿å主表æé® */ submitForm() { this.$refs["form"].validate(valid => { console.log("æäº¤çæ°æ®ä»¬ï¼", this.form); if (valid) { this.form.birthday = this.$moment(this.form.birthday).format( "YYYY-MM-DD HH:mm:ss" ); this.form.diseasetype = this.form.diseasetype.join(","); this.form.infectious = this.form.infectious.join(","); this.form.selfwill = this.form.selfwill.join(","); this.form.othercases = this.form.othercases.join(","); this.form.infosources = this.form.infosources.join(","); this.form.kinship = this.form.kinship.join(","); this.form.patientstate = this.form.patientstate.join(","); this.form.registerprovince = this.$refs.registerSelect.getSheng(); this.form.registerprovincename = this.registerAddresss.sheng; this.form.residenceprovince = this.$refs.residenceSelect.getSheng(); this.form.residenceprovincename = this.residenceAddresss.sheng; this.form.registercity = this.$refs.registerSelect.getShi(); this.form.registercityname = this.registerAddresss.shi; this.form.residencecity = this.$refs.residenceSelect.getShi(); this.form.residencecityname = this.residenceAddresss.shi; this.form.residencetown = this.$refs.residenceSelect.getQu(); this.form.residencetownname = this.residenceAddresss.qu; this.form.registertown = this.$refs.registerSelect.getQu(); this.form.registertownname = this.registerAddresss.qu; this.form.reportername = this.$refs.getReportname.$data.selectedLabel; try { this.form.treatmenthospitalname = this.$refs.addOrgSelect.getOptionByValue( this.form.treatmenthospitalno ).organizationname; } catch { this.form.treatmenthospitalname = this.form.treatmenthospitalno; } try { this.form.redorganname = this.$refs.addCrossOrgSelect.getOptionByValue( this.form.redorganno ).organizationname; } catch { this.form.redorganname = this.form.redorganno; } //æ¡ä¾æ¶é´æ´æ°æè·åæ¶é´ if (this.actives == 5) { this.$refs["witnessform"].validate(valid1 => { this.$refs["form"].validate(valid2 => { this.form.donatetime = this.witnessform.operationbegtime; }); }); } if (this.form.id != null) { if (this.form.workflow == 0) { this.form.workflow = 1; } updateDonatebaseinfo(this.form).then(response => { this.$modal.msgSuccess("ä¿åæå"); Modifydonationattachment(this.donatelist).then(res => { console.log(res); }); this.Getbasicinformation(); // this.Processvalidation(); this.open = false; }); } else { this.form.workflow = 1; this.form.recordstate = 0; addDonatebaseinfo(this.form).then(response => { if (response.code == 200) { this.$modal.msgSuccess("æ°å¢æå"); Modifydonationattachment(this.donatelist).then(res => { console.log(res); }); this.Getbasicinformation(); // this.Processvalidation(); this.open = false; } else { this.$modal.msgError("æ°å¢å¤±è´¥ï¼" + response.msg); } }); } } }); }, // ä¿åäºçº§è¡¨æé® Savethedetails() { console.log(this.actives); if (this.actives == 1) { this.medicineform.infoid = this.infoid; this.$refs["medicineform"].validate(valid => { if (valid) { if (this.medicineform.id != null) { updateMedicalevaluation(this.medicineform).then(response => { this.$modal.msgSuccess("å»å¦è¯ä¼°ä¿¡æ¯ä¿®æ¹æå"); }); } else { addMedicalevaluation(this.medicineform).then(response => { this.$modal.msgSuccess("å»å¦è¯ä¼°ä¿¡æ¯æ°å¢æå"); }); } this.Processvalidation(); } }); } else if (this.actives == 2) { this.affirmform.infoid = this.infoid; this.affirmform.organdecision = this.organdecision.join(","); this.$refs["affirmform"].validate(valid => { if (valid) { if (this.affirmform.id != null) { this.affirmform.residenceprovincename = this.defultAddresss.sheng; this.affirmform.residencecityname = this.defultAddresss.shi; this.affirmform.residencetownname = this.defultAddresss.qu; updateRelativesconfirmation(this.affirmform).then(response => { this.$modal.msgSuccess("æç®ç¡®è®¤ä¿¡æ¯ä¿®æ¹æå"); }); } else { addRelativesconfirmation(this.affirmform).then(response => { this.$modal.msgSuccess("æç®ç¡®è®¤ä¿¡æ¯æ°å¢æå"); }); } this.Processvalidation(); } }); } else if (this.actives == 3) { this.ethicform.infoid = this.infoid; this.$refs["ethicform"].validate(valid => { if (valid) { if (this.ethicform.id != null) { // updateDonateflowchart(this.ethicform).then(response => { updateEthicalreviewopinions(this.ethicform).then(res => { this.$modal.msgSuccess("伦ç审æ¥ä¿¡æ¯ä¿®æ¹æå"); }); } else { //addDonateflowchart(this.ethicform).then(response => { addEthicalreviewopinions(this.ethicform).then(res => { this.$modal.msgSuccess("伦ç审æ¥ä¿¡æ¯æ°å¢æå"); }); } this.Processvalidation(); } }); } else if (this.actives == 4) { this.procureddata.infoid = this.infoid; this.$refs["allocateddata"].validate(valid => { /** let rows = []; this.allocateddata.map(item => { if (item.id) { item.applicanttime = formatDate(item.applicanttime); updateDonateorgan(item).then(response => { }); } else { item.infoid=this.infoid; rows.push(item); } }); if (rows.length) { addOrganallocation(rows).then(res => { this.$modal.msgSuccess("å¨å®æç®ä¿¡æ¯æ°å¢æå"); }); } */ this.allocateddata.map(item => { item.applicanttime = formatDate(item.applicanttime); }); saveDonateorgan(this.allocateddata).then(res => { if (res == 200) { this.$modal.msgSuccess("å¨å®æç®åé ä¿¡æ¯ä¿åæåï¼"); } }); this.Processvalidation(); }); } else if (this.actives == 5) { this.witnessform.infoid = this.infoid; this.$refs["witnessform"].validate(valid => { let coordinatedusernameIndex = this.coordinatorlist1.findIndex( item => this.witnessform.coordinateduserido == item.reportNo ); if (coordinatedusernameIndex > -1) { this.witnessform.coordinatedusernameo = this.coordinatorlist1[ coordinatedusernameIndex ].reportName; } //åè°å2 let coordinatedusernametIndex = this.coordinatorlist1.findIndex( item => this.witnessform.coordinateduseridt == item.reportNo ); if (coordinatedusernametIndex > -1) { this.witnessform.coordinatedusernamet = this.coordinatorlist1[ coordinatedusernametIndex ].reportName; } if (valid) { if (this.witnessform.id != null) { console.log(456); updateDonationwitness(this.witnessform).then(response => { this.$modal.msgSuccess("è·åè§è¯ä¿¡æ¯ä¿®æ¹æå"); }); } else { console.log(123); addDonationwitness(this.witnessform).then(response => { this.$modal.msgSuccess("è·åè§è¯ä¿¡æ¯æ°å¢æå"); }); } //ä¿åå¨å®è·åè¡¨æ°æ® this.procureddata.infoid = this.infoid; console.log("procureddata", this.procureddata); saveDonationwitnessorgan(this.procureddata).then(res => { if (res == 200) { this.$modal.msgSuccess("æç®å¨å®è·åä¿¡æ¯ä¿åæåï¼"); } }); this.form.donationcategory = this.witnessform.donationcategory; this.Processvalidation(); } }); } else if (this.actives == 6) { this.accomplishform.infoid = this.infoid; this.$refs["accomplishform"].validate(valid => { if (valid) { // ä¿åæç®å¨å®ç§»æ¤ä¿¡æ¯ this.transplantdata.infoid = this.infoid; console.log("transplantdata", this.transplantdata); saveDonatecomporgan(this.transplantdata).then(res => { if (res == 200) { this.$modal.msgSuccess("æç®å¨å®è·åä¿¡æ¯ä¿åæåï¼"); } }); // ä¿åç¡®è®¤ä¿¡æ¯ if (this.accomplishform.dcid) { console.log(this.accomplishform); updateDonatecompletioninfo(this.accomplishform).then(response => { this.$modal.msgSuccess("宿ç»è®°ä¿¡æ¯ä¿®æ¹æå"); }); } else { addDonatecompletioninfo(this.accomplishform).then(response => { this.$modal.msgSuccess("宿ç»è®°æå"); }); } this.Processvalidation(); } }); } }, // 忢tab on_click(e) { // if (e != "" || e != null) { console.log(this.form.workflow); console.log(e); let asdx = this.form.workflow + 1; if (asdx >= e) { this.actives = e; this.GetAttacheddata(); } else { this.$modal.msgWarning("请å 宿å鍿¥éª¤"); } // } }, // å¨å®åé æ ç®æ§å¶ changeorganState(value) { let selectedIndex = this.organList.organallocated.findIndex( item => item == value ); let organIndex = this.allocateddata.findIndex( item => item.organno == value ); console.log( "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex ); if (selectedIndex == -1) { //åæ¶éæ© if (organIndex != -1) { if (this.allocateddata[organIndex].id > 0) { this.$confirm( "å é¤å¨å®åé æ°æ®åå°ä¸æ³æ¢å¤ï¼æ¨ç¡®è®¤å é¤è¯¥æ¡è®°å½åï¼", "æç¤º", { confirmButtonText: "ç¡®å®", cancelButtonText: "åæ¶", type: "warning" } ) .then(() => { this.loading = true; delDonateorgan(this.allocateddata[organIndex].id).then(res => { this.allocateddata.splice(organIndex, 1); this.loading = false; this.$modal.msgSuccess( "å 餿åï¼å¦æéè¦å¢å 该å¨å®ï¼è¯·éæ°éæ©å¨å®ï¼" ); }); }) .catch(() => { this.organList.organallocated.push(value); }); } else { //æ°è®°å½ç´æ¥å é¤ this.allocateddata.splice(organIndex, 1); } } } else { //éæ©æ°å¨å® if (organIndex == -1) { //æ·»å å¨å®è®°å½ let temporganname = ""; for (let i = 0; i < this.dict.type.sys_Organ.length; i++) { if (value == this.dict.type.sys_Organ[i].value) { temporganname = this.dict.type.sys_Organ[i].label; break; } } if (temporganname != "") { this.allocateddata.push({ organname: temporganname, organno: value, id: null, infoid: this.infoid, donorno: this.form.donorno, organstate: 1 }); } } else { this.$modal.msgWarning("该å¨å®å·²ç»åé ï¼è¯·å¿éå¤éæ©ï¼"); } } }, // å¨å®è·åéæ©æ§å¶ changeorganprocured(value) { let selectedIndex = this.organList.organprocured.findIndex( item => item == value ); let organIndex = this.procureddata.findIndex( item => item.organno == value ); console.log( "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex ); if (selectedIndex == -1) { //åæ¶éæ© if (organIndex != -1) { if (this.procureddata[organIndex].id > 0) { this.$confirm( "å é¤å¨å®åé æ°æ®åå°ä¸æ³æ¢å¤ï¼æ¨ç¡®è®¤å é¤è¯¥æ¡è®°å½åï¼", "æç¤º", { confirmButtonText: "ç¡®å®", cancelButtonText: "åæ¶", type: "warning" } ) .then(() => { this.loading = true; delDonationwitnessorgan(this.procureddata[organIndex].id).then( res => { this.procureddata.splice(organIndex, 1); this.loading = false; this.$modal.msgSuccess( "å 餿åï¼å¦æéè¦å¢å 该å¨å®ï¼è¯·éæ°éæ©å¨å®ï¼" ); } ); }) .catch(() => { this.organList.organprocured.push(value); }); } else { //æ°è®°å½ç´æ¥å é¤ this.procureddata.splice(organIndex, 1); } } } else { //éæ©æ°å¨å® if (organIndex == -1) { //æ·»å å¨å®è®°å½ let temporganname = ""; for (let i = 0; i < this.dict.type.sys_Organ.length; i++) { if (value == this.dict.type.sys_Organ[i].value) { temporganname = this.dict.type.sys_Organ[i].label; break; } } if (temporganname != "") { this.procureddata.push({ organname: temporganname, organno: value, id: null, infoid: this.infoid, donorno: this.form.donorno, organstate: "1" }); } } else { this.$modal.msgWarning("该å¨å®å·²ç»åé ï¼è¯·å¿éå¤éæ©ï¼"); } } }, // å¨å®ç§»æ¤éæ©æ§å¶ changeorgantransplant(value) { let selectedIndex = this.organList.organtransplant.findIndex( item => item == value ); let organIndex = this.transplantdata.findIndex( item => item.organno == value ); console.log( "selectedIndex:" + selectedIndex + ",organIndex:" + organIndex ); if (selectedIndex == -1) { //åæ¶éæ© if (organIndex != -1) { if (this.transplantdata[organIndex].id > 0) { this.$confirm( "å é¤å¨å®æ°æ®åå°ä¸æ³æ¢å¤ï¼æ¨ç¡®è®¤å é¤è¯¥æ¡è®°å½åï¼", "æç¤º", { confirmButtonText: "ç¡®å®", cancelButtonText: "åæ¶", type: "warning" } ) .then(() => { this.loading = true; delDonatecomporgan(this.transplantdata[organIndex].id).then( res => { this.transplantdata.splice(organIndex, 1); this.loading = false; this.$modal.msgSuccess( "å 餿åï¼å¦æéè¦å¢å 该å¨å®ï¼è¯·éæ°éæ©å¨å®ï¼" ); } ); }) .catch(() => { this.organList.organtransplant.push(value); }); } else { //æ°è®°å½ç´æ¥å é¤ this.transplantdata.splice(organIndex, 1); } } } else { //éæ©æ°å¨å® if (organIndex == -1) { //æ·»å å¨å®è®°å½ let temporganname = ""; for (let i = 0; i < this.dict.type.sys_Organ.length; i++) { if (value == this.dict.type.sys_Organ[i].value) { temporganname = this.dict.type.sys_Organ[i].label; break; } } if (temporganname != "") { this.transplantdata.push({ organname: temporganname, organno: value, id: null, infoid: this.infoid, donorno: this.form.donorno, organstate: 1 }); } } else { this.$modal.msgWarning("该å¨å®å·²ç»éæ©ï¼è¯·å¿éå¤éæ©ï¼"); } } }, // åè¿æ¥éª¤ makeastepforward() { console.log(this.actives); if (this.actives <= 6) { this.actives++; this.GetAttacheddata(); } else { console.log("å·²å°è¾¾æå¤§å¼"); } }, // æ´æ¹è¿ç¨æéª Processvalidation() { console.log(this.form.workflow); console.log(this.actives); if (this.form.workflow + 1 == this.actives || this.actives == 6) { if (this.form.workflow <= 6) { this.form.workflow++; } else { } this.submitForm(); // this.GetAttacheddata(); } else if (this.form.workflow > this.actives) { // this.submitForm(); Modifydonationattachment(this.donatelist).then(res => { console.log(res); }); this.listDonateannex(); this.GetAttacheddata(); } else { this.submitForm(); // this.$modal.msgWarning("请å 宿å鍿¥éª¤"); return; } console.log(this.form.workflow); }, // 䏿¥å®¡æ ¸ Reportforreview() {}, // ç»æ¢æ¡ä¾ Terminationcase() { this.form.terminationCase == 1 ? (this.form.terminationCase = 0) : (this.form.terminationCase = 1); this.submitForm(); }, // è¿åä¸ä¸é¡µ cancel() {}, // ----------------------------------æä»¶ // è·å请æ±å¤´ Getnetworkheader() { let string = window.location.href; if (string.includes("9091")) { const index = string.indexOf("9091"); this.Networkheader = string.slice(0, index + 4); // æªå9091åå ¶åé¨å符 } else { const index = string.indexOf("8032"); this.Networkheader = string.slice(0, index + 4); // æªå8032åå ¶åé¨å符 } }, // è·åéä»¶æ°æ®å¹¶åç±»äºçº§å listDonateannex() { let parmi = {}; parmi.infoid = this.infoid.toString(); listDonateannex(parmi).then(res => { this.donatelist = res.rows; const groupedArr = this.donatelist.reduce( (accumulator, currentValue) => { const key = currentValue.annexfilestype; if (key == 0) { this.potentiallist.push(currentValue); } else if (key == 1) { this.medicinelist.push(currentValue); } else if (key == 2) { this.affirmlist.push(currentValue); } else if (key == 3) { this.ethiclist.push(currentValue); } else if (key == 6) { this.registerlist.push(currentValue); } return accumulator; }, {} ); console.log(groupedArr); }); }, // éä»¶ä¿®æ¹æ°æ®è½¬åå°è£ Newconversion(arr, delvalue, addvalue) { // ååé¨ä¿å忥 if (this.actives == 0) { this.potentiallist = arr; } else if (this.actives == 1) { this.medicinelist = arr; } else if (this.actives == 2) { this.affirmlist = arr; } else if (this.actives == 3) { this.ethiclist = arr; } else if (this.actives == 6) { this.registerlist = arr; } // å 餿¶ä¿®æ¹ä¸»ådelFlag console.log(delvalue); const index = this.donatelist.indexOf(delvalue); console.log(index); if (index !== -1) { if (delvalue.id) { this.donatelist[index].delFlag = 1; console.log("ä¿®æ¹èæ°æ®å", this.donatelist); } else { this.donatelist.splice(index, 1); console.log("å 餿°æ°æ®å", this.donatelist); } } else { console.log("æ¥è¯¢ä¸å°å¯è½æ¯æ°æ°æ®æ id"); } // æ°å¢æ¶ä¿®æ¹ä¸»å if (addvalue.annexurl) { this.donatelist.push(addvalue); console.log("æ°å¢å", this.donatelist); } }, //æä»¶ä¸ä¼ handleUploadError() {}, remove(file, fileList) { this.fileListto.splice(this.fileListto.indexOf(file), 1); this.annexfilesList = this.fileListto; }, // ä¸ä¼ æå uploadSccess(response, file, fileList) { this.rbDetails; //è·å票æ®ä¿¡æ¯ä½ç½® if (response.code == 200) { // this.form.filename = file.raw.name; this.previewpdf = true; this.$modal.msgSuccess(response.msg); let addvalue = { annexname: file.name, annexurl: response.fileName, delFlag: 0, infoid: this.infoid, annexfilestype: this.actives }; this.fileListto.push(addvalue); this.Newconversion(this.fileListto, "", addvalue); this.pdfimgsrcList.push( this.Networkheader + "/prod-api" + response.fileName ); console.log(this.pdfimgsrcList); this.pdftitle = "å ±" + this.pdfimgsrcList.length + "项"; this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; this.annexfilesList = this.fileListto; } else { console.log(response.msg); } }, // ç¹å»ç¥¨æ® Filepopup(index, rows, row) { this.pdfimgsrcList = []; this.pdfVisible = true; if (this.annexfilesList.length) { this.previewpdf = true; this.fileListto = this.annexfilesList; console.log(this.fileListto); this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].annexurl; this.fileListto.forEach(item => { this.pdfimgsrcList.push( this.Networkheader + "/prod-api" + item.annexurl ); }); } else { this.fileListto = []; this.pdfimg = ""; this.pdftitle = ""; } this.pdftitle = "å ±" + this.pdfimgsrcList.length + "项"; }, // ç¹å»å·²ä¸ä¼ æä»¶ downFile(item) { console.log(item, "ç¹å»æä»¶æ¿item"); this.pdftitle = "å ±" + this.pdfimgsrcList.length + "项ï¼å½åéä¸" + item.name; let name = item.name.split("."); if (name[1] == "pdf") { this.$modal.msgWarning("å½åæä»¶æä¸æ¯æé¢è§"); this.previewpdf = false; this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; } else if (name[1] == "jpg" || "png") { this.previewpdf = true; if (item.annexurl) { this.pdfimg = this.Networkheader + "/prod-api" + item.annexurl; } else { this.pdfimg = this.Networkheader + "/prod-api" + item.response.annexurl; } } else { this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; this.$modal.msgWarning("å½åæä»¶æä¸æ¯æé¢è§"); this.previewpdf = false; } }, // æ¥è¯¢ç´¢å¼å°è£ getIndexInArray(arr, obj) { return arr.indexOf(obj); }, // ç¹å»å é¤ deletedowfile(row) { const indexlist = this.getIndexInArray( this.pdfimgsrcList, this.Networkheader + "/prod-api" + row.annexurl ); this.pdfimgsrcList.splice(indexlist, 1); const index = this.getIndexInArray(this.fileListto, row); this.Newconversion(this.fileListto, this.fileListto[index], ""); this.fileListto.splice(index, 1); console.log(index); }, // ç¹å»ä¸ç§» moveupdowfile(row) { const index = this.getIndexInArray(this.fileListto, row); const item = this.fileListto.splice(index, 1)[0]; // ç§»é¤æå®ç´¢å¼å¤çå ç´ ï¼å¹¶ä¿åå°itemåéä¸ this.fileListto.splice(index - 1, 0, item); // å°itemæå ¥å°ç´¢å¼ä½ç½®çåä¸ä½ }, clearFilter() { this.$refs.filterTable.clearFilter(); }, formatter(row, column) { return row.address; }, filterTag(value, row) { return row.tag === value; }, //èº«ä»½è¯æ ¡éªèµå¼ updateMessage() { try { const reg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; if (reg.test(this.form.idcardno)) { // 身份è¯å·ç æ¯å¦åæ³ var org_birthday = this.form.idcardno.substring(6, 14); var org_gender = this.form.idcardno.substring(16, 17); var sex = org_gender % 2 == 1 ? 1 : 2; var birthday = org_birthday.substring(0, 4) + "-" + org_birthday.substring(4, 6) + "-" + org_birthday.substring(6, 8); var birthdays = new Date(birthday.replace(/-/g, "/")); let d = new Date(); let age = d.getFullYear() - birthdays.getFullYear() - (d.getMonth() < birthdays.getMonth() || (d.getMonth() == birthdays.getMonth() && d.getDate() < birthdays.getDate()) ? 1 : 0); // èµå¼ç»è¡¨æ ¼ this.form.sex = sex; this.form.birthday = birthday; this.form.age = age; } else { } } catch {} }, //éæ°åé å¨å® redistribution(row) { console.log("redistribution", row); row.reallocationreason = "已鿰åé ,ååé ä¿¡æ¯(å§å:" + row.name + "ãç³»ç»ç¼å·:" + row.caseno + "ãæ¥æ¶æ¶é´:" + row.applicanttime + ")"; row.name = null; row.caseno = null; row.applicanttime = null; } }, dicts: [ "sys_nation", "sys_occupation", "sys_education", "sys_Organ", "sys_user_sex", "sys_IDType", "sys_BloodType", "sys_0_1", "sys_patientstate", "sys_DonationCategory", "sys_Kinship", "sys_Infectious", "sys_bloodtype_rhd", "sys_InfoSources", "sys_OtherCases", "sys_DiseaseType", "sys_SelfWill", "sys_FamilyRelation", "sys_OrganDecision", "sys_CoreAssessConclusion", "sys_BaseAssessConclusion", "sys_EthicalReview" ] }; </script> <style lang="scss" scoped> .particularsdiv { display: -webkit-box; background-color: #f5f7fa; height: 100%; .left-course { background: #fff; width: 17vw; text-align: center; margin: 20px 10px; padding: 10px; margin-top: 0; min-height: 888px; .postfilx { width: 15vw; text-align: center; margin: 20px 10px; padding: 10px; margin-top: 0; // z-index: 999; // position: -webkit-sticky; // position: fixed; // top: 50; } .title { background: #22a2c3; margin-bottom: 20px; padding: 10px 0; color: #fff; } } } .upload-demo { text-align: center; } .pdfimg { display: flex; // text-align: center; width: 100%; height: 600px; .box-pdf { width: 400px; padding-top: 20px; margin-right: 30px; border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); // <- Add this to fix. } .pdftit { width: 200px; padding: 20px; font-size: 18px; } .pdftit:hover { background: #c0cef7; } .pdfimgmin { width: 60%; img { width: 100%; } } .pdfimgmins { font-size: 28px; width: 60%; text-align: center; } } .Ticket-button { margin-top: 10px; text-align: right; padding-right: 66px; } .boxdiv { max-width: 85vw; font-size: 18px; padding: 0 30px; padding-bottom: 10px; margin-top: 10px; .top-text { text-align: center; font-size: 23px; font-weight: 600; margin: 20px 0; margin-bottom: 30px; } } ::v-deep .el-step__head.is-finish { color: #22a2c3; border-color: #22a2c3; } ::v-deep .el-step__title.is-finish { color: #22a2c3; } ::v-deep .el-step__description.is-finish { color: #22a2c3; } :v-deep .el-select { display: inline-block; position: relative; width: 80%; } </style> src/views/project/donationdetails/index.vue
@@ -2203,13 +2203,8 @@ >æä»¶æå¯¼ç®å½</el-button > </div> --> <el-tabs style="margin-top: 20px;" v-model="activeName" type="card" @tab-click="handleClick" > <el-tab-pane :label="activetele" :name="1"> </el-tab-pane> <el-tabs style="margin-top: 20px;" v-model="activeName" type="card"> <el-tab-pane :label="activetele" name="1"> </el-tab-pane> </el-tabs> <div class="pdfimg"> <div class="box-pdf"> @@ -2416,6 +2411,7 @@ infoid: 736, drawer: false, form: {}, activeName: "", tableDatafile: [ { name: "çå°è", @@ -2641,6 +2637,7 @@ headers: { Authorization: "Bearer " + getToken() }, ICDtoken: getToken(), // ç½ç»è¯·æ±å¤´ Networkheader: null, //ç¥¨æ®æä»¶ @@ -2680,7 +2677,6 @@ Getbasicinformation() { // 左侧æµç¨æ°æ® getDonatebaseinfoflow(this.infoid).then(res => { console.log("getDonatebaseinfoflow", res.data); this.Processdata = res.data; }); @@ -2943,7 +2939,6 @@ updateDonatebaseinfo(this.form).then(response => { this.$modal.msgSuccess("ä¿åæå"); Modifydonationattachment(this.donatelist).then(res => { console.log(res); }); this.Getbasicinformation(); // this.Processvalidation(); @@ -2956,7 +2951,6 @@ if (response.code == 200) { this.$modal.msgSuccess("æ°å¢æå"); Modifydonationattachment(this.donatelist).then(res => { console.log(res); }); this.Getbasicinformation(); // this.Processvalidation(); @@ -3079,12 +3073,10 @@ if (valid) { if (this.witnessform.id != null) { console.log(456); updateDonationwitness(this.witnessform).then(response => { this.$modal.msgSuccess("è·åè§è¯ä¿¡æ¯ä¿®æ¹æå"); }); } else { console.log(123); addDonationwitness(this.witnessform).then(response => { this.$modal.msgSuccess("è·åè§è¯ä¿¡æ¯æ°å¢æå"); }); @@ -3092,7 +3084,6 @@ //ä¿åå¨å®è·åè¡¨æ°æ® this.procureddata.infoid = this.infoid; console.log("procureddata", this.procureddata); saveDonationwitnessorgan(this.procureddata).then(res => { if (res == 200) { this.$modal.msgSuccess("æç®å¨å®è·åä¿¡æ¯ä¿åæåï¼"); @@ -3109,7 +3100,6 @@ if (valid) { // ä¿åæç®å¨å®ç§»æ¤ä¿¡æ¯ this.transplantdata.infoid = this.infoid; console.log("transplantdata", this.transplantdata); saveDonatecomporgan(this.transplantdata).then(res => { if (res == 200) { this.$modal.msgSuccess("æç®å¨å®è·åä¿¡æ¯ä¿åæåï¼"); @@ -3118,7 +3108,6 @@ // ä¿åç¡®è®¤ä¿¡æ¯ if (this.accomplishform.dcid) { console.log(this.accomplishform); updateDonatecompletioninfo(this.accomplishform).then(response => { this.$modal.msgSuccess("宿ç»è®°ä¿¡æ¯ä¿®æ¹æå"); }); @@ -3136,8 +3125,7 @@ // 忢tab on_click(e) { // if (e != "" || e != null) { console.log(this.form.workflow); console.log(e); let asdx = this.form.workflow + 1; if (asdx >= e) { this.actives = e; @@ -3358,7 +3346,6 @@ // åè¿æ¥éª¤ makeastepforward() { console.log(this.actives); if (this.actives <= 6) { this.actives++; this.GetAttacheddata(); @@ -3368,8 +3355,7 @@ }, // æ´æ¹è¿ç¨æéª Processvalidation() { console.log(this.form.workflow); console.log(this.actives); if (this.form.workflow + 1 == this.actives || this.actives == 6) { if (this.form.workflow <= 6) { this.form.workflow++; @@ -3380,7 +3366,6 @@ } else if (this.form.workflow > this.actives) { // this.submitForm(); Modifydonationattachment(this.donatelist).then(res => { console.log(res); }); this.listDonateannex(); this.GetAttacheddata(); @@ -3389,7 +3374,6 @@ // this.$modal.msgWarning("请å 宿å鍿¥éª¤"); return; } console.log(this.form.workflow); }, // 䏿¥å®¡æ ¸ Reportforreview() {}, @@ -3439,7 +3423,6 @@ }, {} ); console.log(groupedArr); }); }, // éä»¶ä¿®æ¹æ°æ®è½¬åå°è£ @@ -3457,10 +3440,8 @@ this.registerlist = arr; } // å 餿¶ä¿®æ¹ä¸»ådelFlag console.log(delvalue); const index = this.donatelist.indexOf(delvalue); console.log(index); if (index !== -1) { if (index != -1) { if (delvalue.id) { this.donatelist[index].delFlag = 1; console.log("ä¿®æ¹èæ°æ®å", this.donatelist); @@ -3486,46 +3467,90 @@ // ä¸ä¼ æå uploadSccess(response, file, fileList) { this.rbDetails; const config = { headers: { Authorization: "Bearer " + this.ICDtoken } }; const pdfimg = this.Networkheader + "/prod-api" + response.fileName; //è·å票æ®ä¿¡æ¯ä½ç½® if (response.code == 200) { // this.form.filename = file.raw.name; this.previewpdf = true; fetch(pdfimg, config) .then(response => response.blob()) .then(blob => { // å°è·åçæ°æ®æµè½¬æ¢ä¸ºURL this.pdfimg = URL.createObjectURL(blob); this.pdfimgsrcList.push(URL.createObjectURL(blob)); this.pdftitle = "å ±" + this.pdfimgsrcList.length + "项"; let addvalue = { annexname: file.name, annexurl: URL.createObjectURL(blob), delFlag: 0, infoid: this.infoid, annexfilestype: this.actives }; this.fileListto.push(addvalue); }) .catch(error => { console.error("Error loading image", error); return; }); this.$modal.msgSuccess(response.msg); let addvalue = { console.log(this.fileListto, "æ°å¢å"); if (!this.annexfilesList) { this.annexfilesList = []; } let addvalues = { annexname: file.name, annexurl: response.fileName, delFlag: 0, infoid: this.infoid, annexfilestype: this.actives }; this.fileListto.push(addvalue); this.Newconversion(this.fileListto, "", addvalue); this.pdfimgsrcList.push( this.Networkheader + "/prod-api" + response.fileName ); console.log(this.pdfimgsrcList); this.pdftitle = "å ±" + this.pdfimgsrcList.length + "项"; this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; this.annexfilesList = this.fileListto; this.annexfilesList.push(addvalues); this.Newconversion(this.annexfilesList, "", addvalues); } else { console.log(response.msg); } }, // ç¹å»ç¥¨æ® // æä»¶å¼¹çªè§¦å Filepopup(index, rows, row) { const config = { headers: { Authorization: "Bearer " + this.ICDtoken } }; this.fileListto = []; this.invoicepdfimg = []; this.pdfimgsrcList = []; this.atpresent = index; this.pdfVisible = true; if (this.annexfilesList.length) { this.previewpdf = true; this.fileListto = this.annexfilesList; console.log(this.fileListto); this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].annexurl; this.fileListto.forEach(item => { this.pdfimgsrcList.push( this.Networkheader + "/prod-api" + item.annexurl ); this.annexfilesList.forEach((value, indexson) => { const pdfimg = this.Networkheader + "/prod-api" + value.annexurl; fetch(pdfimg, config) .then(response => response.blob()) .then(blob => { // å°è·åçæ°æ®æµè½¬æ¢ä¸ºURL this.fileListto.push({ annexname: value.annexname, annexurl: URL.createObjectURL(blob), delFlag: 0, infoid: this.infoid, annexfilestype: this.actives }); 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; }); }); this.previewpdf = true; } else { this.fileListto = []; this.pdfimg = ""; @@ -3537,8 +3562,8 @@ downFile(item) { console.log(item, "ç¹å»æä»¶æ¿item"); this.pdftitle = "å ±" + this.pdfimgsrcList.length + "项ï¼å½åéä¸" + item.name; let name = item.name.split("."); "å ±" + this.pdfimgsrcList.length + "项ï¼å½åéä¸" + item.annexname; let name = item.annexname.split("."); if (name[1] == "pdf") { this.$modal.msgWarning("å½åæä»¶æä¸æ¯æé¢è§"); this.previewpdf = false; @@ -3546,10 +3571,9 @@ } else if (name[1] == "jpg" || "png") { this.previewpdf = true; if (item.annexurl) { this.pdfimg = this.Networkheader + "/prod-api" + item.annexurl; this.pdfimg = item.annexurl; } else { this.pdfimg = this.Networkheader + "/prod-api" + item.response.annexurl; this.pdfimg = ""; } } else { this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; @@ -3563,15 +3587,22 @@ }, // ç¹å»å é¤ deletedowfile(row) { const indexlist = this.getIndexInArray( this.pdfimgsrcList, this.Networkheader + "/prod-api" + row.annexurl ); let indexvalue = ""; const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.annexurl); this.pdfimgsrcList.splice(indexlist, 1); const index = this.getIndexInArray(this.fileListto, row); this.Newconversion(this.fileListto, this.fileListto[index], ""); this.fileListto.splice(index, 1); console.log(index); indexvalue = this.annexfilesList.find((item, index) => { return item.annexname == row.annexname; }); console.log(indexvalue, "å é¤ç´¢å¼"); this.annexfilesList.splice(indexvalue, 1); this.Newconversion( this.annexfilesList, indexvalue, "" ); }, // ç¹å»ä¸ç§» moveupdowfile(row) { src/views/project/donationwitness/index.vue
@@ -1578,8 +1578,8 @@ handledownload(row) { const id = row.id || this.ids; console.log("232323232", row); downloadwitnessinfo(row.dwid).then(response => { var fileUrl = response; downloadwitnessinfo(row.dwid).then(res => { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; @@ -1588,7 +1588,26 @@ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); }); }, /** å¯¼åºæé®æä½ */ src/views/project/fund/applyDetail/index.vue
@@ -1126,6 +1126,8 @@ <!-- <img :src="pdfimg" /> --> <el-image style="width: 95%; height: 90%" @error="handleImageError" @load="handleImageLoad" :src="pdfimg" :preview-src-list="pdfimgsrcList" > @@ -1229,6 +1231,8 @@ <!-- <img :src="pdfimg" /> --> <el-image style="width: 95%; height: 90%" @error="handleImageError" @load="handleImageLoad" :src="invoicepdfimg" :preview-src-list="invoicepdfimgsrcList" > @@ -1421,7 +1425,7 @@ businessName: "", //æä½ç±»å operationType: "", Loadornot: false, //å½ååæ®id curId: 0, //å½åéä¸æç®æ¡ä¾ @@ -1655,6 +1659,7 @@ activeName: 1, //æä»¶ç±»å //ä¸ä¼ éä»¶è·¯å¾ uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", ICDtoken: getToken(), //æä»¶ä¸ä¼ token headers: { Authorization: "Bearer " + getToken() @@ -1754,14 +1759,10 @@ if (string.includes("9091")) { const index = string.indexOf("9091"); this.Networkheader = string.slice(0, index + 4); // æªå9091åå ¶åé¨å符 this.Networkheader = "http://slb.hospitalstar.com:9091"; } else { const index = string.indexOf("8032"); this.Networkheader = string.slice(0, index + 4); // æªå8032åå ¶åé¨å符 this.Networkheader = "http://slb.hospitalstar.com:9091"; } this.Networkheader = "http://slb.hospitalstar.com:9091"; }, /** éè¿åæ°è·åä¸å¡ç±»å */ getroute() { @@ -3099,26 +3100,45 @@ totalprint(e) { // const id =this.row.id getdownloadBX(e).then(res => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success" var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name = fileUrl["downloadName"]; link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, //æä»¶ä¸ä¼ handleImageError(e) { // å 载失败 }, handleImageLoad(e) { // å¾çå è½½æåæ¶æ§è¡çæä½ console.log("Image loaded successfully"); }, handleUploadError() {}, remove(file, fileList) { const rbDetails = [...this.rbDetails]; @@ -3133,49 +3153,88 @@ uploadSccess(response, file, fileList) { this.rbDetails; const config = { headers: { Authorization: "Bearer " + this.ICDtoken } }; const pdfimg = this.Networkheader + "/prod-api" + response.fileName; //è·å票æ®ä¿¡æ¯ä½ç½® if (this.activeName == 1) { if (response.code == 200) { // this.form.filename = file.raw.name; this.previewpdf = true; fetch(pdfimg, config) .then(response => response.blob()) .then(blob => { // å°è·åçæ°æ®æµè½¬æ¢ä¸ºURL this.pdfimg = URL.createObjectURL(blob); this.pdfimgsrcList.push(URL.createObjectURL(blob)); this.fileListto.push({ name: file.name, url: URL.createObjectURL(blob) }); }) .catch(error => { console.error("Error loading image", error); return; }); this.$modal.msgSuccess(response.msg); this.fileListto.push({ console.log(this.fileListto, "æ°å¢å"); if (!this.rbDetails[this.atpresent].annexfilesList) { this.rbDetails[this.atpresent].annexfilesList = []; } this.rbDetails[this.atpresent].annexfilesList.push({ name: file.name, url: response.fileName }); this.pdfimgsrcList.push( this.Networkheader + "/prod-api" + response.fileName ); this.pdftitle = "å ±" + this.pdfimgsrcList.length + "项"; this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; this.rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { console.log(response.msg); } } else { if (response.code == 200) { this.previewpdf = true; fetch(pdfimg, config) .then(response => response.blob()) .then(blob => { // å°è·åçæ°æ®æµè½¬æ¢ä¸ºURL this.invoicepdfimg = URL.createObjectURL(blob); this.invoicepdfimgsrcList.push(URL.createObjectURL(blob)); this.invoicefileListto.push({ name: file.name, url: URL.createObjectURL(blob) }); }) .catch(error => { console.error("Error loading image", error); return; }); this.$modal.msgSuccess(response.msg); this.invoicefileListto.push({ console.log(this.invoicefileListto, "æ°å¢å"); if (!this.rbDetails[this.atpresent].invoicefilesList) { this.rbDetails[this.atpresent].invoicefilesList = []; } this.rbDetails[this.atpresent].invoicefilesList.push({ name: file.name, url: response.fileName }); this.invoicepdfimgsrcList.push( this.Networkheader + "/prod-api" + response.fileName ); this.pdftitle = "å ±" + this.invoicepdfimgsrcList.length + "项"; this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; this.rbDetails[ this.atpresent ].invoicefilesList = this.invoicefileListto; } else { } } }, // ç¹å»ç¥¨æ® Filepopup(index, rows, row) { const config = { headers: { Authorization: "Bearer " + this.ICDtoken } }; this.tableDatatop = []; this.fileListto = []; this.invoicepdfimg = []; this.pdfimgsrcList = []; this.invoDatatop = []; this.invoicepdfimgsrcList = []; @@ -3183,29 +3242,57 @@ this.tableDatatop.push(row); this.atpresent = index; this.pdfVisible = true; if (this.rbDetails[index].annexfilesList) { this.previewpdf = true; this.fileListto = this.rbDetails[index].annexfilesList; this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; this.fileListto.forEach(item => { this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); 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; }); }); this.previewpdf = true; } else { this.fileListto = []; this.pdfimg = ""; this.pdftitle = ""; } // -å票æä»¶ //å票 if (this.rbDetails[index].invoicefilesList) { this.previewpdf = true; this.invoicefileListto = this.rbDetails[index].invoicefilesList; this.invoicepdfimg = this.Networkheader + "/prod-api" + this.invoicefileListto[0].url; this.invoicefileListto.forEach(item => { this.invoicepdfimgsrcList.push( this.Networkheader + "/prod-api" + item.url ); 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) }); 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; }); }); this.previewpdf = true; } else { this.invoicefileListto = []; this.invoicepdfimg = ""; @@ -3230,11 +3317,12 @@ this.previewpdf = false; this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; } else if (name[1] == "jpg" || "png") { console.log(item, "å±ç¤º"); this.previewpdf = true; if (item.url) { this.pdfimg = this.Networkheader + "/prod-api" + item.url; this.pdfimg = item.url; } else { this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; this.pdfimg = ""; } } else { this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; @@ -3252,10 +3340,9 @@ } else if (name[1] == "jpg" || "png") { this.previewpdf = true; if (item.url) { this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url; this.invoicepdfimg = item.url; } else { this.invoicepdfimg = this.Networkheader + "/prod-api" + item.response.url; this.invoicepdfimg = ""; } } else { this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; @@ -3277,22 +3364,37 @@ }, // ç¹å»å é¤ deletedowfile(row) { console.log(row); let indexvalue = ""; if (this.activeName == 1) { const indexlist = this.getIndexInArray( this.pdfimgsrcList, this.Networkheader + "/prod-api" + row.url ); 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; } ); console.log(indexvalue, "å é¤ç´¢å¼"); this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1); } else { const indexlist = this.getIndexInArray( this.invoicepdfimgsrcList, this.Networkheader + "/prod-api" + row.url row.url ); this.invoicepdfimgsrcList.splice(indexlist, 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; } ); console.log(indexvalue, "å é¤ç´¢å¼"); this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1); } }, // ç¹å»ä¸ç§» @@ -3308,7 +3410,7 @@ } }, Downloadfile(row) { window.location.href = this.Networkheader + "/prod-api" + row.url; window.location.href = row.url; }, //ä¸å®¶/å»çæºæ/è´¹ç¨æ¥éæºæéæ© src/views/project/fund/ethicalExpertFeeApply/index.vue
@@ -1351,22 +1351,35 @@ //ä¸å®¶è´¹å³å¡æå° dayin(id) { getdownloadLL(id).then(res => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success" var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, src/views/project/fund/expertFeeApply/index.vue
@@ -2484,22 +2484,35 @@ //ä¸å®¶è´¹å³å¡æå° dayin(id) { getdownloadLW(id).then(res => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success" var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, src/views/project/fund/officeExpenseApply/index.vue
@@ -1817,22 +1817,35 @@ // æç®è å»å¦ç»è®¡æå° dayin2(id) { getdownloadYX(id).then(res => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success" var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, src/views/project/fund/performanceApply/index.vue
@@ -384,22 +384,35 @@ // æç®è å»å¦ç»è®¡æå° dayin2(id) { getdownloadYX(id).then(res => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success" var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, src/views/project/fund/performancedetails/index.vue
@@ -894,6 +894,7 @@ unitforname: null, isIndeterminate: true, Performanceclass: 68, ICDtoken: getToken(), //æ¯å¦æ¯ä¸å®¶è´¹çOPO审æ¹äººå ismanager: false, @@ -1021,6 +1022,8 @@ flowconclusion: null, fundid: null }, // ç½ç»è¯·æ±å¤´ Networkheader: null, // æ¥è¯¢åæ° queryParams: { @@ -2403,59 +2406,101 @@ rbDetails[this.atpresent].invoicefilesList = this.invoicefileListto; } }, // è·å请æ±å¤´ Getnetworkheader() { let string = window.location.href; if (string.includes("9091")) { const index = string.indexOf("9091"); this.Networkheader = string.slice(0, index + 4); // æªå9091åå ¶åé¨å符 } else { const index = string.indexOf("8032"); this.Networkheader = string.slice(0, index + 4); // æªå8032åå ¶åé¨å符 } }, uploadSccess(response, file, fileList) { this.rbDetails; const config = { headers: { Authorization: "Bearer " + this.ICDtoken } }; const pdfimg = this.Networkheader + "/prod-api" + response.fileName; //è·å票æ®ä¿¡æ¯ä½ç½® console.log(response); console.log(file); if (this.activeName == 1) { if (response.code == 200) { // this.form.filename = file.raw.name; this.previewpdf = true; fetch(pdfimg, config) .then(response => response.blob()) .then(blob => { // å°è·åçæ°æ®æµè½¬æ¢ä¸ºURL this.pdfimg = URL.createObjectURL(blob); this.pdfimgsrcList.push(URL.createObjectURL(blob)); this.fileListto.push({ name: file.name, url: URL.createObjectURL(blob) }); }) .catch(error => { console.error("Error loading image", error); return; }); this.$modal.msgSuccess(response.msg); this.fileListto.push({ console.log(this.fileListto, "æ°å¢å"); if (!this.rbDetails[this.atpresent].annexfilesList) { this.rbDetails[this.atpresent].annexfilesList = []; } this.rbDetails[this.atpresent].annexfilesList.push({ name: file.name, url: response.fileName }); this.pdfimgsrcList.push( this.Networkheader + "/prod-api" + response.fileName ); console.log(this.pdfimgsrcList); this.pdftitle = "å ±" + this.pdfimgsrcList.length + "项"; this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; this.rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { console.log(response.msg); } } else { if (response.code == 200) { // this.form.filename = file.raw.name; this.previewpdf = true; fetch(pdfimg, config) .then(response => response.blob()) .then(blob => { // å°è·åçæ°æ®æµè½¬æ¢ä¸ºURL this.invoicepdfimg = URL.createObjectURL(blob); this.invoicepdfimgsrcList.push(URL.createObjectURL(blob)); this.invoicefileListto.push({ name: file.name, url: URL.createObjectURL(blob) }); }) .catch(error => { console.error("Error loading image", error); return; }); this.$modal.msgSuccess(response.msg); this.invoicefileListto.push({ console.log(this.invoicefileListto, "æ°å¢å"); if (!this.rbDetails[this.atpresent].invoicefilesList) { this.rbDetails[this.atpresent].invoicefilesList = []; } this.rbDetails[this.atpresent].invoicefilesList.push({ name: file.name, url: response.fileName }); this.invoicepdfimgsrcList.push( this.Networkheader + "/prod-api" + response.fileName ); console.log(this.invoicepdfimgsrcList); this.pdftitle = "å ±" + this.invoicepdfimgsrcList.length + "项"; this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; this.rbDetails[ this.atpresent ].invoicefilesList = this.invoicefileListto; console.log(this.rbDetails[this.atpresent]); } else { console.log(response.msg); } } }, // ç¹å»ç¥¨æ® Filepopup(index, rows, row) { const config = { headers: { Authorization: "Bearer " + this.ICDtoken } }; this.tableDatatop = []; this.fileListto = []; this.invoicepdfimg = []; this.pdfimgsrcList = []; this.invoDatatop = []; this.invoicepdfimgsrcList = []; @@ -2463,34 +2508,57 @@ this.tableDatatop.push(row); this.atpresent = index; this.pdfVisible = true; console.log(this.rbDetails[index]); if (this.rbDetails[index].annexfilesList) { this.previewpdf = true; this.fileListto = this.rbDetails[index].annexfilesList; console.log(this.fileListto); this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; this.fileListto.forEach(item => { this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); 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; }); }); this.previewpdf = true; } else { this.fileListto = []; this.pdfimg = ""; this.pdftitle = ""; } // -å票æä»¶ //å票 if (this.rbDetails[index].invoicefilesList) { this.previewpdf = true; this.invoicefileListto = this.rbDetails[index].invoicefilesList; console.log(this.invoicefileListto); this.invoicepdfimg = this.Networkheader + "/prod-api" + this.invoicefileListto[0].url; this.invoicefileListto.forEach(item => { this.invoicepdfimgsrcList.push( this.Networkheader + "/prod-api" + item.url ); 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) }); 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; }); }); console.log(this.invoicepdfimgsrcList); console.log(this.invoicepdfimg); this.previewpdf = true; } else { this.invoicefileListto = []; this.invoicepdfimg = ""; @@ -2507,7 +2575,6 @@ // ç¹å»å·²ä¸ä¼ æä»¶ downFile(item) { if (this.activeName == 1) { console.log(item, "ç¹å»æä»¶æ¿item"); this.pdftitle = "å ±" + this.pdfimgsrcList.length + "项ï¼å½åéä¸" + item.name; let name = item.name.split("."); @@ -2516,11 +2583,12 @@ this.previewpdf = false; this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; } else if (name[1] == "jpg" || "png") { console.log(item, "å±ç¤º"); this.previewpdf = true; if (item.url) { this.pdfimg = this.Networkheader + "/prod-api" + item.url; this.pdfimg = item.url; } else { this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; this.pdfimg = ""; } } else { this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; @@ -2528,7 +2596,6 @@ this.previewpdf = false; } } else { console.log(item, "ç¹å»æä»¶æ¿item"); this.pdftitle = "å ±" + this.invoicepdfimgsrcList.length + "项ï¼å½åéä¸" + item.name; let name = item.name.split("."); @@ -2539,12 +2606,9 @@ } else if (name[1] == "jpg" || "png") { this.previewpdf = true; if (item.url) { this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url; console.log(this.invoicepdfimg, "pdfimg"); console.log(this.invoicepdfimgsrcList, "imglist"); this.invoicepdfimg = item.url; } else { this.invoicepdfimg = this.Networkheader + "/prod-api" + item.response.url; this.invoicepdfimg = ""; } } else { this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; @@ -2566,22 +2630,37 @@ }, // ç¹å»å é¤ deletedowfile(row) { console.log(row); let indexvalue = ""; if (this.activeName == 1) { const indexlist = this.getIndexInArray( this.pdfimgsrcList, this.Networkheader + "/prod-api" + row.url ); 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; } ); console.log(indexvalue, "å é¤ç´¢å¼"); this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1); } else { const indexlist = this.getIndexInArray( this.invoicepdfimgsrcList, this.Networkheader + "/prod-api" + row.url row.url ); this.invoicepdfimgsrcList.splice(indexlist, 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; } ); console.log(indexvalue, "å é¤ç´¢å¼"); this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1); } }, // ç¹å»ä¸ç§» @@ -2606,6 +2685,7 @@ created() { //è·åè·¯ç±åæ° this.getroute(); this.Getnetworkheader(); this.getExternalList(); this.getFeeUnitList(); this.listperformance(); src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
@@ -106,7 +106,7 @@ <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit" @click="handleCheck(scope.row)">å®¡æ ¸</el-button> <!-- v-hasPermi="['project:donateconsolationfund:edit']" --> <el-button size="mini" type="text" icon="el-icon-download" @click="dayin(scope.row.id)">ä¸è½½</el-button> <el-button size="mini" type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)">ä¸è½½</el-button> <!-- <el-popover placement="right" width="400" trigger="click"> <el-table :data="gridData"> <el-table-column @@ -746,22 +746,35 @@ totaldayin(e) { // const id =this.row.id getdownloadBX(e).then(res => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success" var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, src/views/project/fundcheck/expertFeeCheck/index.vue
@@ -129,7 +129,7 @@ <el-button v-if="scope.row.checkFlag == 1" size="mini" type="text" icon="el-icon-edit" @click="handleCheck(scope.row)">å®¡æ ¸</el-button> <!-- v-hasPermi="['project:donateconsolationfund:edit']" --> <el-button size="mini" type="text" icon="el-icon-download" @click="dayin(scope.row.id)">ä¸è½½</el-button> <el-button size="mini" type="text" icon="el-icon-download" @click="totaldayin(scope.row.id)">ä¸è½½</el-button> </template> </el-table-column> </el-table> @@ -757,22 +757,35 @@ totaldayin(e) { // const id =this.row.id getdownloadBX(e).then(res => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success" var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, src/views/project/fundcheck/medicalCostCheck/index.vue
@@ -769,22 +769,35 @@ totaldayin(e) { // const id =this.row.id getdownloadYX(e).then(res => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success" var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, src/views/project/fundcheck/officeExpenseCheck/index.vue
@@ -774,22 +774,35 @@ totaldayin(e) { // const id =this.row.id getdownloadBX(e).then(res => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success" var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, src/views/project/fundcheck/performanceCheck/index.vue
@@ -376,22 +376,35 @@ totaldayin(e) { // const id =this.row.id getdownloadBX(e).then(res => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success" var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, src/views/project/fundstatistics/index.vue
@@ -244,22 +244,35 @@ //å¯¼åºæ±æ»è¡¨ exportSummary(id) { exportFundCost(id).then((res) => { if (res.downloadUrl) { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); this.$alert("ä¸è½½æå", "æç¤º", { confirmButtonText: "ç¡®å®", type: "success", var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; var pos = curWWWPath.indexOf(window.document.location.pathname); // å建aæ ç¾ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); } }); }, }, src/views/project/relativesconfirmation/index.vue
@@ -1922,8 +1922,8 @@ handledownload(row) { const id = row.id || this.ids; downloadconfirmationinfo(id).then((response) => { var fileUrl = response; downloadconfirmationinfo(id).then((res) => { var fileUrl = res; //è·åå½åç½å var urlBase = process.env.VUE_APP_BASE_API; var curWWWPath = window.document.location.href; @@ -1932,7 +1932,26 @@ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); }); }, src/views/project/travelexpenseapply/index.vue
@@ -1740,21 +1740,27 @@ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); }); // downloadconfirmationinfo(id).then((response) => { // var fileUrl = response; // //è·åå½åç½å // var urlBase = process.env.VUE_APP_BASE_API; // var curWWWPath = window.document.location.href; // var pos = curWWWPath.indexOf(window.document.location.pathname); // // å建aæ ç¾ // var aEle = document.createElement("a"); // aEle.href = // curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; // aEle.click(); // }); }, /** æ¥è¯¢æ¥éç³è¯·å表 */ src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -3,19 +3,37 @@ <div class="boxdiv"> <div class="top-text">{{ title }}</div> <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-row><el-col :span="5"> <el-row ><el-col :span="5"> <el-form-item label="ç³è¯·æ¥æ" prop="applyTime"> <el-date-picker style="width: 100%" v-model="form.applyTime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="ç³è¯·æ¥æ" :disabled="true"> <el-date-picker style="width: 100%" v-model="form.applyTime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="ç³è¯·æ¥æ" :disabled="true" > </el-date-picker> </el-form-item> </el-col> <el-col :span="5"> <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 personsList" :key="item.reportNo" :label="item.reportName" :value="item.reportName"> <el-select v-model="form.username" clearable filterable allow-create ref="getReportname" default-first-option placeholder="è¯·éæ©" > <el-option v-for="item in personsList" :key="item.reportNo" :label="item.reportName" :value="item.reportName" > </el-option> </el-select> </el-form-item> @@ -40,8 +58,18 @@ </el-col> <el-col :span="5"> <el-form-item label="æç®è " prop="infoid"> <el-select v-model="form.infoid" @change="selectbaseinfo" filterable placeholder="è¯·éæ©æç®è "> <el-option v-for="item in baselist" :key="item.index" :label="item.name" :value="item.infoid"> <el-select v-model="form.infoid" @change="selectbaseinfo" filterable placeholder="è¯·éæ©æç®è " > <el-option v-for="item in baselist" :key="item.index" :label="item.name" :value="item.infoid" > </el-option> </el-select> </el-form-item> @@ -50,17 +78,36 @@ <el-row style="margin-top: 10px"> <el-col :span="5"> <el-form-item label="æ¥ééé¢" prop="amountrequested"> <el-input :disabled="true" v-model="form.amountrequested" placeholder="æ¥éå计éé¢" /> <el-input :disabled="true" v-model="form.amountrequested" placeholder="æ¥éå计éé¢" /> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="大åéé¢" prop="bigstrmoney"> <el-input :disabled="true" v-model="form.bigstrmoney" placeholder="æ¥é大åéé¢" /> </el-form-item> </el-col><el-col :span="4"> <el-input :disabled="true" v-model="form.bigstrmoney" placeholder="æ¥é大åéé¢" /> </el-form-item> </el-col ><el-col :span="4"> <el-form-item label="å®¡æ ¸ç¶æ" prop="flowlevel"> <el-select v-model="form.recordstatus" placeholder="è¯·éæ©å®¡æ ¸ç¶æ" clearable :disabled="true" size="small"> <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label" :value="dict.value" /> <el-select v-model="form.recordstatus" placeholder="è¯·éæ©å®¡æ ¸ç¶æ" clearable :disabled="true" size="small" > <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> @@ -165,142 +212,325 @@ <el-row v-if="jurisdiction"> <!-- <el-alert title="å½å为æ¥çç¶æï¼ä¸æ¯æä¿®æ¹åå¨ã" type="warning"> </el-alert> --> <el-alert title="å½å为æ¥çç¶æï¼ä¸æ¯æä¿®æ¹åå¨ã" type="warning" show-icon> <el-alert title="å½å为æ¥çç¶æï¼ä¸æ¯æä¿®æ¹åå¨ã" type="warning" show-icon > </el-alert> </el-row> <el-row style="margin-top: 25px; margin-bottom: 5px"> <el-col :span="20">æ¥éæç»</el-col> </el-row> <el-row> <el-table :data="rbDetails" ref="table" border max-height="800" highlight-current-row :summary-method="getSummaries" show-summary> <el-table-column prop="orderno" slot="" label="åºå·" align="center" fixed width="88"> <el-table :data="rbDetails" ref="table" border max-height="800" highlight-current-row :summary-method="getSummaries" show-summary > <el-table-column prop="orderno" slot="" label="åºå·" align="center" fixed width="88" > <template slot-scope="scope"> <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"> <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"> <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="130"> <el-table-column prop="persontype" slot="" label="人åç±»å«" align="center" fixed width="130" > <template slot-scope="scope"> <el-select v-model="scope.row.persontype" value-key="value" placeholder="人åç±»å«" @change="getPersons(scope.row)"> <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" :value="dict.label"></el-option> <el-select v-model="scope.row.persontype" value-key="value" placeholder="人åç±»å«" @change="getPersons(scope.row)" > <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" :value="dict.label" ></el-option> </el-select> </template> </el-table-column> <el-table-column prop="personname" slot="" label="è´¹ç¨äººå" align="center" fixed width="110"> <el-table-column prop="personname" slot="" label="è´¹ç¨äººå" align="center" fixed width="110" > <template slot-scope="scope"> <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option placeholder="è¯·éæ©" @focus1="getPersons(scope.row)"> <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName" :value="item.reportName"> <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option placeholder="è¯·éæ©" @focus1="getPersons(scope.row)" > <el-option v-for="item in personsSel" :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-table-column prop="starttime" slot="" label="å¼å§æ¥æ" fixed align="center" width="150" > <template slot-scope="scope"> <el-date-picker :picker-options="{ disabledDate: time => { if (scope.row.endtime) { return ( time.getTime() > new Date(scope.row.endtime.replace(/-/g, '/')) ); <el-date-picker :picker-options="{ disabledDate: time => { if (scope.row.endtime) { return ( time.getTime() > new Date(scope.row.endtime.replace(/-/g, '/')) ); } } } }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="å¼å§æ¥æ" @blur="getdays(scope.row)"> }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="å¼å§æ¥æ" @blur="getdays(scope.row)" > </el-date-picker> </template> </el-table-column> <el-table-column prop="endtime" slot="" label="ç»ææ¥æ" align="center" fixed width="150"> <el-table-column prop="endtime" slot="" label="ç»ææ¥æ" align="center" fixed width="150" > <template slot-scope="scope"> <el-date-picker :picker-options="{ disabledDate: time => { if (scope.row.starttime) { return ( time.getTime() < new Date(scope.row.starttime.replace(/-/g, '/')) ); <el-date-picker :picker-options="{ disabledDate: time => { if (scope.row.starttime) { return ( time.getTime() < new Date(scope.row.starttime.replace(/-/g, '/')) ); } } } }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="ç»ææ¥æ" @blur="getdays(scope.row)"> }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="ç»ææ¥æ" @blur="getdays(scope.row)" > </el-date-picker> </template> </el-table-column> <el-table-column prop="departure" slot="" label="åºåå°" align="center" width="100"> <el-table-column prop="departure" slot="" label="åºåå°" align="center" width="100" > <template slot-scope="scope"> <el-input v-model="scope.row.departure" placeholder="åºåå°" /> </template> </el-table-column> <el-table-column label="å°è¾¾å°" prop="destination" align="center" width="140"> <el-table-column label="å°è¾¾å°" prop="destination" align="center" width="140" > <template slot-scope="scope"> <!-- <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="getallowance(scope.row)"> <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label" :value="dict.label"></el-option> <el-select filterable allow-create v-model="scope.row.destination" value-key="value" placeholder="å°è¾¾å°" @change="getallowance(scope.row)" > <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label" :value="dict.label" ></el-option> </el-select> </template> </el-table-column> <el-table-column prop="days" label="天æ°" width="100" align="center"> <el-table-column prop="days" label="天æ°" width="100" align="center" > <template slot-scope="scope"> <el-input v-model="scope.row.days" @blur="getallowance(scope.row)" placeholder="天æ°" /> <el-input v-model="scope.row.days" @blur="getallowance(scope.row)" placeholder="天æ°" /> </template> </el-table-column> <el-table-column prop="traffictype" label="åºå交éå·¥å ·" align="center" width="100"> <el-table-column prop="traffictype" label="åºå交éå·¥å ·" align="center" width="100" > <template slot-scope="scope"> <el-select v-model="scope.row.traffictype" placeholder="åºå交éå·¥å ·"> <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label" :value="dict.label"></el-option> <el-select v-model="scope.row.traffictype" placeholder="åºå交éå·¥å ·" > <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label" :value="dict.label" ></el-option> </el-select> </template> </el-table-column> <el-table-column prop="traffictype2" label="è¿å交éå·¥å ·" align="center" width="100"> <el-table-column prop="traffictype2" label="è¿å交éå·¥å ·" align="center" width="100" > <template slot-scope="scope"> <el-select v-model="scope.row.traffictype2" placeholder="è¿å交éå·¥å ·"> <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label" :value="dict.label"></el-option> <el-select v-model="scope.row.traffictype2" placeholder="è¿å交éå·¥å ·" > <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label" :value="dict.label" ></el-option> </el-select> </template> </el-table-column> <el-table-column prop="trafficexpense" label="交éè´¹" align="center" width="120"> <el-table-column prop="trafficexpense" label="交éè´¹" align="center" width="120" > <template slot-scope="scope"> <el-input v-model="scope.row.trafficexpense" placeholder="交éè´¹" @blur="val => { sumRowFee(scope.row); } " /> <el-input v-model="scope.row.trafficexpense" placeholder="交éè´¹" @blur=" val => { sumRowFee(scope.row); } " /> </template> </el-table-column> <el-table-column prop="cityfee" label="å¸å 交éè´¹" align="center" width="120"> <el-table-column prop="cityfee" label="å¸å 交éè´¹" align="center" width="120" > <template slot-scope="scope"> <el-input v-model="scope.row.cityfee" placeholder="å¸å 交éè´¹" @blur="val => { sumRowFee(scope.row); } ">{{ Number(scope.row.cityfee).toFixed(2) }} <el-input v-model="scope.row.cityfee" placeholder="å¸å 交éè´¹" @blur=" val => { sumRowFee(scope.row); } " >{{ Number(scope.row.cityfee).toFixed(2) }} </el-input> </template> </el-table-column> <el-table-column prop="hotelexpense" label="ä½å®¿è´¹" align="center" width="120"> <el-table-column prop="hotelexpense" label="ä½å®¿è´¹" align="center" width="120" > <template slot-scope="scope"> <el-input v-model="scope.row.hotelexpense" placeholder="ä½å®¿è´¹" @blur="val => { sumRowFee(scope.row); } " /> <el-input v-model="scope.row.hotelexpense" placeholder="ä½å®¿è´¹" @blur=" val => { sumRowFee(scope.row); } " /> </template> </el-table-column> @@ -322,52 +552,118 @@ /> </template> </el-table-column> --> <el-table-column prop="foodallowance" label="ä¼é£è¡¥å©" align="center" width="120"> <el-table-column prop="foodallowance" label="ä¼é£è¡¥å©" align="center" width="120" > <template slot-scope="scope"> <el-input v-model="scope.row.foodallowance" placeholder="ä¼é£è´¹è¡¥å©" @blur="val => { sumRowFee(scope.row); } " /> <el-input v-model="scope.row.foodallowance" placeholder="ä¼é£è´¹è¡¥å©" @blur=" val => { sumRowFee(scope.row); } " /> </template> </el-table-column> <el-table-column prop="otherexpense" label="å ¬æè´¹è¡¥å©" align="center" width="120"> <el-table-column prop="otherexpense" label="å ¬æè´¹è¡¥å©" align="center" width="120" > <template slot-scope="scope"> <el-input v-model="scope.row.otherexpense" placeholder="æè´¹" @blur="val => { sumRowFee(scope.row); } " /> <el-input v-model="scope.row.otherexpense" placeholder="æè´¹" @blur=" val => { sumRowFee(scope.row); } " /> </template> </el-table-column> <el-table-column prop="otherfeeamount" label="å ¶ä»è´¹ç¨" align="center" width="120"> <el-table-column prop="otherfeeamount" label="å ¶ä»è´¹ç¨" align="center" width="120" > <template slot-scope="scope"> <el-input v-model="scope.row.otherfeeamount" placeholder="å ¶ä»è´¹ç¨" @blur="val => { sumRowFee(scope.row); } " /> <el-input v-model="scope.row.otherfeeamount" placeholder="å ¶ä»è´¹ç¨" @blur=" val => { sumRowFee(scope.row); } " /> </template> </el-table-column> <el-table-column prop="departure" slot="" label="å ¶ä»è´¹ç¨è¯´æ" align="center" width="120"> <el-table-column prop="departure" slot="" label="å ¶ä»è´¹ç¨è¯´æ" align="center" width="120" > <template slot-scope="scope"> <el-input v-model="scope.row.otherfeedesc" placeholder="å ¶ä»è´¹ç¨è¯´æ" /> <el-input v-model="scope.row.otherfeedesc" placeholder="å ¶ä»è´¹ç¨è¯´æ" /> </template> </el-table-column> <el-table-column prop="total" label="å计" align="center" width="110" fixed="right"> <el-table-column prop="total" label="å计" align="center" width="110" fixed="right" > <template slot-scope="scope"> <el-input v-model="scope.row.total" placeholder="å计" /> </template> </el-table-column> <el-table-column fixed="right" label="æä½" align="center" width="120"> <el-table-column fixed="right" label="æä½" align="center" width="120" > <template slot-scope="scope"> <el-button type="text" size="mini" @click="addDetailRow(scope.$index)" v-if="operationType == 'edit'">æ°å¢</el-button> <el-button @click.native.prevent=" deleteDetailRow(scope.$index, rbDetails, scope.row) " type="text" size="small" v-if="operationType == 'edit'">å é¤</el-button> <el-button @click.native.prevent=" Filepopup(scope.$index, rbDetails, scope.row) " type="text" size="small">票æ®</el-button> <el-button type="text" size="mini" @click="addDetailRow(scope.$index)" v-if="operationType == 'edit'" >æ°å¢</el-button > <el-button @click.native.prevent=" deleteDetailRow(scope.$index, rbDetails, scope.row) " type="text" size="small" v-if="operationType == 'edit'" >å é¤</el-button > <el-button @click.native.prevent=" Filepopup(scope.$index, rbDetails, scope.row) " type="text" size="small" >票æ®</el-button > </template> </el-table-column> </el-table> @@ -376,61 +672,154 @@ <el-col :span="20">ææ¬¾æç»</el-col> </el-row> <el-row style="margin-top: 5px"> <el-table :data="rbPayees" border max-height="400" highlight-current-row :summary-method="getSummaries" show-summary> <el-table-column prop="orderno" slot="" label="åºå·" align="center" fixed width="65"> <el-table :data="rbPayees" border max-height="400" highlight-current-row :summary-method="getSummaries" show-summary > <el-table-column prop="orderno" slot="" label="åºå·" align="center" fixed width="65" > <template slot-scope="scope"> <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"> <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"> <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="150"> <el-table-column prop="persontype" slot="" label="æ¶æ¬¾äººç±»å«" align="center" fixed width="150" > <template slot-scope="scope"> <el-select v-model="scope.row.persontype" value-key="value" placeholder="æ¶æ¬¾äººç±»å«" @change="getPersons(scope.row)"> <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" :value="dict.label"></el-option> <el-select v-model="scope.row.persontype" value-key="value" placeholder="æ¶æ¬¾äººç±»å«" @change="getPersons(scope.row)" > <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" :value="dict.label" ></el-option> </el-select> </template> </el-table-column> <el-table-column prop="personname" slot="" label="æ¶æ¬¾äºº" align="center" fixed width="200"> <el-table-column prop="personname" slot="" label="æ¶æ¬¾äºº" align="center" fixed width="200" > <template slot-scope="scope"> <el-select v-model="scope.row.personname" clearable filterable allow-create ref="getReportname" default-first-option placeholder="è¯·éæ©" @change="getAccountinfo2(scope.row, scope.row.persontype)"> <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName" :value="item.reportName"> <el-select v-model="scope.row.personname" clearable filterable allow-create ref="getReportname" default-first-option placeholder="è¯·éæ©" @change="getAccountinfo2(scope.row, scope.row.persontype)" > <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName" :value="item.reportName" > </el-option> </el-select> </template> </el-table-column> <el-table-column prop="bankname" slot="" label="æ¶æ¬¾é¶è¡" align="center" fixed width="250"> <el-table-column prop="bankname" slot="" label="æ¶æ¬¾é¶è¡" align="center" fixed width="250" > <template slot-scope="scope"> <el-input v-model="scope.row.bankname" placeholder="æ¶æ¬¾é¶è¡" /> </template> </el-table-column> <el-table-column prop="bankcardno" slot="" label="é¶è¡è´¦å·" align="center" fixed width="200"> <el-table-column prop="bankcardno" slot="" label="é¶è¡è´¦å·" align="center" fixed width="200" > <template slot-scope="scope"> <el-input v-model="scope.row.bankcardno" placeholder="é¶è¡è´¦å·" /> <el-input v-model="scope.row.bankcardno" placeholder="é¶è¡è´¦å·" /> </template> </el-table-column> <el-table-column prop="amount" slot="" label="ææ¬¾éé¢" align="center" fixed width="130"> <el-table-column prop="amount" slot="" label="ææ¬¾éé¢" align="center" fixed width="130" > <template slot-scope="scope"> <el-input v-model="scope.row.amount" placeholder="ææ¬¾éé¢" /> </template> </el-table-column> <el-table-column prop="remark" slot="" label="请款说æ" align="center" fixed> <el-table-column prop="remark" slot="" label="请款说æ" align="center" fixed > <template slot-scope="scope"> <el-input v-model="scope.row.remark" placeholder="说æ" /> </template> @@ -443,36 +832,74 @@ </el-date-picker> </template> </el-table-column>--> <el-table-column label="æä½" align="center" width="100" v-if="operationType == 'edit'"> <el-table-column label="æä½" align="center" width="100" v-if="operationType == 'edit'" > <template slot-scope="scope"> <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)">æ°å¢</el-button> <el-button @click.native.prevent=" deletePayeeRow(scope.$index, rbPayees, scope.row) " type="text" size="small"> <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)" >æ°å¢</el-button > <el-button @click.native.prevent=" deletePayeeRow(scope.$index, rbPayees, scope.row) " type="text" size="small" > å é¤ </el-button> </template> </el-table-column> </el-table> </el-row> <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType != 'edit'"> <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType != 'edit'" > <el-col :span="20">å®¡æ ¸è®°å½</el-col> </el-row> <el-row v-if="operationType != 'add'"> <el-table :data="fundflowList" border> <el-table-column label="å®¡æ ¸æ¥æ" align="center" width="200" prop="createTime" /> <el-table-column label="å®¡æ ¸äºº" align="center" width="150" prop="checkusername" /> <el-table-column label="å®¡æ ¸ç»æ" align="center" width="200" prop="flowconclusion"> <el-table-column label="å®¡æ ¸æ¥æ" align="center" width="200" prop="createTime" /> <el-table-column label="å®¡æ ¸äºº" align="center" width="150" 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-column label="å®¡æ ¸å¤æ³¨" align="center" prop="flowcontent" /> </el-table> </el-row> <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check' && userprofile.nickName == 'éæ å'"> <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check' && userprofile.nickName == 'éæ å'" > <el-col :span="12"> <el-form-item label="é¢å®¡ææ" prop="infoid"> <el-radio-group v-model="form.checkstatus" align="left"> @@ -484,7 +911,10 @@ </el-col> </el-row> <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check'"> <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check'" > <el-col :span="7"> <el-form-item label="å®¡æ ¸ç»æ" align="left"> <el-radio-group v-model="checkObj.flowlevelone" align="left"> @@ -503,15 +933,30 @@ </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm" v-if="operationType == 'edit' || userprofile.nickName == 'éæ å'">ä¿ å</el-button> <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">æäº¤å®¡æ ¸</el-button> <el-button type="primary" @click="submitForm" v-if="operationType == 'edit' || userprofile.nickName == 'éæ å'" >ä¿ å</el-button > <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'" >æäº¤å®¡æ ¸</el-button > <!--<el-button @click="cancel">é åº</el-button>--> </div> </div> <el-dialog v-dialogDrags :modal="false" :close-on-click-modal="false" :title="pdftitle" :visible.sync="pdfVisible" width="60%"> <el-dialog v-dialogDrags :modal="false" :close-on-click-modal="false" :title="pdftitle" :visible.sync="pdfVisible" width="60%" > <div> <el-table :data="tableDatatop" style="width: 100%"> <el-table-column prop="orderno" label="åºå·"> </el-table-column> @@ -541,24 +986,59 @@ </el-table-column> </el-table> </div> <el-tabs style="margin-top: 20px;" v-model="activeName" type="border-card" @tab-click="handleClick"> <el-tabs style="margin-top: 20px;" v-model="activeName" type="border-card" @tab-click="handleClick" > <el-tab-pane label="æ®ééä»¶" :name="1"> <div class="pdfimg"> <div class="box-pdf"> <div> <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) => <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" :show-file-list="false" multiple drag :headers="headers" :on-success=" (response, file, fileList) => uploadSccess(response, file, fileList) " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" :on-remove="remove" accept="image/*,.pdf"> " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" :on-remove="remove" accept="image/*,.pdf" > <i class="el-icon-upload"></i> <div class="el-upload__text"> å°ç¥¨æ®æå°æ¤å¤ï¼æ <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">ç¹å»ä¸ä¼ </el-button></em> <em ><el-button :disabled="operationType == 'detail'" size="small" type="primary" >ç¹å»ä¸ä¼ </el-button ></em > </div> </el-upload> <el-table :data="fileListto" @row-click="downFile" style="width: 100%" height="400"> <el-table-column prop="name" :show-overflow-tooltip="true" label="åç§°"> <el-table :data="fileListto" @row-click="downFile" style="width: 100%" height="400" > <el-table-column prop="name" :show-overflow-tooltip="true" label="åç§°" > <template slot-scope="scope"> <i style="color:#409EFF" class=" el-icon-s-order" />{{ scope.row.name @@ -566,21 +1046,41 @@ </template> </el-table-column> <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="åè½"> <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="åè½" > <template slot-scope="scope"> <el-button type="primary" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)">å é¤</el-button> <el-button type="primary" size="mini" @click.native.prevent.stop="moveupdowfile(scope.row)">ä¸ç§»</el-button> <el-button type="primary" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)" >å é¤</el-button > <el-button type="primary" size="mini" @click.native.prevent.stop="moveupdowfile(scope.row)" >ä¸ç§»</el-button > </template> </el-table-column> </el-table> </div> </div> <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin"> <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin" > <!-- <img :src="pdfimg" /> --> <el-image style="width: 95%; height: 90%" :src="pdfimg" :preview-src-list="pdfimgsrcList"> <el-image style="width: 95%; height: 90%" :src="pdfimg" :preview-src-list="pdfimgsrcList" > <!-- <div slot="error" class="image-slot"> <i class="el-icon-picture-outline"></i> </div> --> @@ -593,19 +1093,49 @@ <div class="pdfimg"> <div class="box-pdf"> <div> <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="invoicefileList" :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) => <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="invoicefileList" :show-file-list="false" multiple drag :headers="headers" :on-success=" (response, file, fileList) => uploadSccess(response, file, fileList) " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" :on-remove="remove" accept="image/*,.pdf"> " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" :on-remove="remove" accept="image/*,.pdf" > <i class="el-icon-upload"></i> <div class="el-upload__text"> å°å票æä»¶æå°æ¤å¤ï¼æ <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">ç¹å»ä¸ä¼ </el-button></em> <em ><el-button :disabled="operationType == 'detail'" size="small" type="primary" >ç¹å»ä¸ä¼ </el-button ></em > </div> </el-upload> <el-table :data="invoicefileListto" @row-click="downFile" style="width: 100%" height="400"> <el-table-column prop="name" :show-overflow-tooltip="true" label="åç§°"> <el-table :data="invoicefileListto" @row-click="downFile" style="width: 100%" height="400" > <el-table-column prop="name" :show-overflow-tooltip="true" label="åç§°" > <template slot-scope="scope"> <i style="color:#409EFF" class=" el-icon-s-order" />{{ scope.row.name @@ -613,21 +1143,41 @@ </template> </el-table-column> <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="åè½"> <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="åè½" > <template slot-scope="scope"> <el-button type="primary" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)">å é¤</el-button> <el-button type="primary" size="mini" @click.native.prevent.stop="moveupdowfile(scope.row)">ä¸ç§»</el-button> <el-button type="primary" size="mini" @click.native.prevent.stop="deletedowfile(scope.row)" >å é¤</el-button > <el-button type="primary" size="mini" @click.native.prevent.stop="moveupdowfile(scope.row)" >ä¸ç§»</el-button > </template> </el-table-column> </el-table> </div> </div> <div v-if="this.previewpdf && invoicepdfimgsrcList.length" class="pdfimgmin"> <div v-if="this.previewpdf && invoicepdfimgsrcList.length" class="pdfimgmin" > <!-- <img :src="pdfimg" /> --> <el-image style="width: 95%; height: 90%" :src="invoicepdfimg" :preview-src-list="invoicepdfimgsrcList"> <el-image style="width: 95%; height: 90%" :src="invoicepdfimg" :preview-src-list="invoicepdfimgsrcList" > <!-- <div slot="error" class="image-slot"> <i class="el-icon-picture-outline"></i> </div> --> @@ -639,10 +1189,14 @@ </el-tabs> </el-dialog> <el-dialog title="æç¤º" :visible.sync="Savereminder" width="30%"> <el-alert :title="'æ¨å·²æ·»å ' + totalquantity + 'æ¡æ°æ®ï¼ä¸ºé²æ¢æ°æ®ä¸¢å¤±æ¯å¦æäº¤ä¿ååç»§ç»æ·»å ã' " type="warning"> <el-alert :title=" 'æ¨å·²æ·»å ' + totalquantity + 'æ¡æ°æ®ï¼ä¸ºé²æ¢æ°æ®ä¸¢å¤±æ¯å¦æäº¤ä¿ååç»§ç»æ·»å ã' " type="warning" > </el-alert> <span slot="footer" class="dialog-footer"> <el-button @click="unsave">å æ¶</el-button> @@ -736,6 +1290,7 @@ value: 0, label: "" }, ICDtoken: getToken(), pdfimgsrcList: [], Savereminder: false, //æéä¿åå¼¹æ¡ Reminderquantity: 0, //æéæ°é @@ -947,7 +1502,7 @@ if ( (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && JSON.stringify(this.rbDetails) == sessionStorage.getItem("apifunddetail")) || sessionStorage.getItem("apifunddetail")) || !sessionStorage.getItem("apifunddetail") ) { } else { @@ -960,7 +1515,7 @@ } }, handleUploadError() { }, handleUploadError() {}, // è·å请æ±å¤´ Getnetworkheader() { console.log(window.location.href); @@ -1001,52 +1556,87 @@ //æä»¶ä¸ä¼ æååè° uploadSccess(response, file, fileList) { this.rbDetails; const config = { headers: { Authorization: "Bearer " + this.ICDtoken } }; const pdfimg = this.Networkheader + "/prod-api" + response.fileName; //è·å票æ®ä¿¡æ¯ä½ç½® if (this.activeName == 1) { if (response.code == 200) { // this.form.filename = file.raw.name; this.previewpdf = true; fetch(pdfimg, config) .then(response => response.blob()) .then(blob => { // å°è·åçæ°æ®æµè½¬æ¢ä¸ºURL this.pdfimg = URL.createObjectURL(blob); this.pdfimgsrcList.push(URL.createObjectURL(blob)); this.fileListto.push({ name: file.name, url: URL.createObjectURL(blob) }); }) .catch(error => { console.error("Error loading image", error); return; }); this.$modal.msgSuccess(response.msg); this.fileListto.push({ console.log(this.fileListto, "æ°å¢å"); if (!this.rbDetails[this.atpresent].annexfilesList) { this.rbDetails[this.atpresent].annexfilesList = []; } this.rbDetails[this.atpresent].annexfilesList.push({ name: file.name, url: response.fileName }); this.pdfimgsrcList.push( this.Networkheader + "/prod-api" + response.fileName ); console.log(this.pdfimgsrcList); this.pdftitle = "å ±" + this.pdfimgsrcList.length + "项"; this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; this.rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { console.log(response.msg); } } else { if (response.code == 200) { // this.form.filename = file.raw.name; this.previewpdf = true; fetch(pdfimg, config) .then(response => response.blob()) .then(blob => { // å°è·åçæ°æ®æµè½¬æ¢ä¸ºURL this.invoicepdfimg = URL.createObjectURL(blob); this.invoicepdfimgsrcList.push(URL.createObjectURL(blob)); this.invoicefileListto.push({ name: file.name, url: URL.createObjectURL(blob) }); }) .catch(error => { console.error("Error loading image", error); return; }); this.$modal.msgSuccess(response.msg); this.invoicefileListto.push({ console.log(this.invoicefileListto, "æ°å¢å"); if (!this.rbDetails[this.atpresent].invoicefilesList) { this.rbDetails[this.atpresent].invoicefilesList = []; } this.rbDetails[this.atpresent].invoicefilesList.push({ name: file.name, url: response.fileName }); this.invoicepdfimgsrcList.push( this.Networkheader + "/prod-api" + response.fileName ); console.log(this.invoicepdfimgsrcList); this.pdftitle = "å ±" + this.invoicepdfimgsrcList.length + "项"; this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; this.rbDetails[ this.atpresent ].invoicefilesList = this.invoicefileListto; } else { console.log(response.msg); } } }, // ç¹å»ç¥¨æ® Filepopup(index, rows, row) { const config = { headers: { Authorization: "Bearer " + this.ICDtoken } }; this.tableDatatop = []; this.fileListto = []; this.invoicepdfimg = []; this.pdfimgsrcList = []; this.invoDatatop = []; this.invoicepdfimgsrcList = []; @@ -1054,34 +1644,57 @@ this.tableDatatop.push(row); this.atpresent = index; this.pdfVisible = true; console.log(this.rbDetails[index]); if (this.rbDetails[index].annexfilesList) { this.previewpdf = true; this.fileListto = this.rbDetails[index].annexfilesList; console.log(this.fileListto); this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; this.fileListto.forEach(item => { this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); 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; }); }); this.previewpdf = true; } else { this.fileListto = []; this.pdfimg = ""; this.pdftitle = ""; } // -å票æä»¶ //å票 if (this.rbDetails[index].invoicefilesList) { this.previewpdf = true; this.invoicefileListto = this.rbDetails[index].invoicefilesList; console.log(this.invoicefileListto); this.invoicepdfimg = this.Networkheader + "/prod-api" + this.invoicefileListto[0].url; this.invoicefileListto.forEach(item => { this.invoicepdfimgsrcList.push( this.Networkheader + "/prod-api" + item.url ); 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) }); 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; }); }); console.log(this.invoicepdfimgsrcList); console.log(this.invoicepdfimg); this.previewpdf = true; } else { this.invoicefileListto = []; this.invoicepdfimg = ""; @@ -1098,7 +1711,6 @@ // ç¹å»å·²ä¸ä¼ æä»¶ downFile(item) { if (this.activeName == 1) { console.log(item, "ç¹å»æä»¶æ¿item"); this.pdftitle = "å ±" + this.pdfimgsrcList.length + "项ï¼å½åéä¸" + item.name; let name = item.name.split("."); @@ -1107,11 +1719,12 @@ this.previewpdf = false; this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; } else if (name[1] == "jpg" || "png") { console.log(item, "å±ç¤º"); this.previewpdf = true; if (item.url) { this.pdfimg = this.Networkheader + "/prod-api" + item.url; this.pdfimg = item.url; } else { this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; this.pdfimg = ""; } } else { this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; @@ -1119,7 +1732,6 @@ this.previewpdf = false; } } else { console.log(item, "ç¹å»æä»¶æ¿item"); this.pdftitle = "å ±" + this.invoicepdfimgsrcList.length + "项ï¼å½åéä¸" + item.name; let name = item.name.split("."); @@ -1130,12 +1742,9 @@ } else if (name[1] == "jpg" || "png") { this.previewpdf = true; if (item.url) { this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url; console.log(this.invoicepdfimg, "pdfimg"); console.log(this.invoicepdfimgsrcList, "imglist"); this.invoicepdfimg = item.url; } else { this.invoicepdfimg = this.Networkheader + "/prod-api" + item.response.url; this.invoicepdfimg = ""; } } else { this.hintitle = "å½åæä»¶æä¸æ¯æé¢è§"; @@ -1149,22 +1758,37 @@ }, // ç¹å»å é¤ deletedowfile(row) { console.log(row); let indexvalue = ""; if (this.activeName == 1) { const indexlist = this.getIndexInArray( this.pdfimgsrcList, this.Networkheader + "/prod-api" + row.url ); 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; } ); console.log(indexvalue, "å é¤ç´¢å¼"); this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1); } else { const indexlist = this.getIndexInArray( this.invoicepdfimgsrcList, this.Networkheader + "/prod-api" + row.url row.url ); this.invoicepdfimgsrcList.splice(indexlist, 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; } ); console.log(indexvalue, "å é¤ç´¢å¼"); this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1); } }, // ç¹å»ä¸ç§» @@ -1280,7 +1904,7 @@ row.days = ( Math.floor( Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) / (1000 * 3600 * 24) (1000 * 3600 * 24) ) + 1 ).toString(); } else { @@ -1450,21 +2074,27 @@ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name = fileUrl["downloadName"]; link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); }); // downloadconfirmationinfo(id).then((response) => { // var fileUrl = response; // //è·åå½åç½å // var urlBase = process.env.VUE_APP_BASE_API; // var curWWWPath = window.document.location.href; // var pos = curWWWPath.indexOf(window.document.location.pathname); // // å建aæ ç¾ // var aEle = document.createElement("a"); // aEle.href = // curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; // aEle.click(); // }); }, /** æ¥è¯¢æ¥éç³è¯·å表 */ @@ -1605,13 +2235,13 @@ this.fileListto = this.form.annexfiles ? this.form.annexfiles .split(",") .map(item => ({ url: item, name: item })) .split(",") .map(item => ({ url: item, name: item })) : []; this.invoicefileListto = this.form.invoicefilesList ? this.form.invoicefilesList .split(",") .map(item => ({ url: item, name: item })) .split(",") .map(item => ({ url: item, name: item })) : []; this.form.recordstatus = response.data.recordstatus + ""; sessionStorage.removeItem("apiform"); @@ -1670,13 +2300,13 @@ //ç¥¨æ® this.fileListto = this.form.annexfiles ? this.form.annexfiles .split(",") .map(item => ({ url: item, name: item })) .split(",") .map(item => ({ url: item, name: item })) : []; this.invoicefileListto = this.form.invoicefilesList ? this.form.invoicefilesList .split(",") .map(item => ({ url: item, name: item })) .split(",") .map(item => ({ url: item, name: item })) : []; //å®¡æ ¸ç¶æ this.form.recordstatus = response.data.recordstatus + ""; @@ -1728,13 +2358,13 @@ //ç¥¨æ® this.fileListto = this.form.annexfiles ? this.form.annexfiles .split(",") .map(item => ({ url: item, name: item })) .split(",") .map(item => ({ url: item, name: item })) : []; this.invoicefileListto = this.form.invoicefilesList ? this.form.invoicefilesList .split(",") .map(item => ({ url: item, name: item })) .split(",") .map(item => ({ url: item, name: item })) : []; //å®¡æ ¸ç¶æ @@ -1811,10 +2441,9 @@ }, /** æäº¤ä¿åæé® */ submitForm: debounce(function (data) { submitForm: debounce(function(data) { this.$refs["form"].validate(valid => { if (valid) { //ç¥¨æ®æä»¶å¤ç const addnumber = this.rbPayees.reduce( (amount, item) => amount + Number(item.amount), @@ -1840,11 +2469,29 @@ //ä¿åæç» for (let i = 0; i < rbDetails.length; i++) { if (rbDetails[i].rbid != null) { updateReimbursementdetail(rbDetails[i]); if (rbDetails[i].persontype == "å®¶å±") { if (this.form.infoid) { updateReimbursementdetail(rbDetails[i]); } else { return this.$message.error(`å å®¶å±åé è¦æ±ï¼è¯·éæ©æç®è ä¿¡æ¯`); } } else { updateReimbursementdetail(rbDetails[i]); } } else { //rbidå ³è主表Id rbDetails[i].rbid = this.form.id; addReimbursementdetail(rbDetails[i]); if (rbDetails[i].persontype == "å®¶å±") { if (this.form.infoid) { //rbidå ³è主表Id rbDetails[i].rbid = this.form.id; addReimbursementdetail(rbDetails[i]); } else { return this.$message.error(`å å®¶å±åé è¦æ±ï¼è¯·éæ©æç®è ä¿¡æ¯`); } } else { //rbidå ³è主表Id rbDetails[i].rbid = this.form.id; addReimbursementdetail(rbDetails[i]); } } } @@ -1870,8 +2517,19 @@ this.form.recordstatus = -1; // ç³è¯·æ¶é´ var currenttime = new Date(); this.form.applyTime = currenttime.getFullYear() + "-" + (currenttime.getMonth() + 1) + "-" + currenttime.getDate() + " " + currenttime.getHours() + ":" + currenttime.getMinutes() + ":" + currenttime.getSeconds(); this.form.applyTime = currenttime.getFullYear() + "-" + (currenttime.getMonth() + 1) + "-" + currenttime.getDate() + " " + currenttime.getHours() + ":" + currenttime.getMinutes() + ":" + currenttime.getSeconds(); addReimbursement(this.form) .then(response => { //ä¿åæç» @@ -1913,7 +2571,7 @@ const ids = row.id || this.ids; this.$modal .confirm("æ¯å¦ç¡®è®¤å é¤è¯¥æ¡è®°å½ï¼") .then(function () { .then(function() { // å é¤detailså çæ°æ® return delReimbursement(ids); }) @@ -1922,7 +2580,7 @@ this.getList(); this.$modal.msgSuccess("å 餿å"); }) .catch(() => { }); .catch(() => {}); }, /** å¯¼åºæé®æä½ */ @@ -1938,7 +2596,7 @@ this.$download.name(response.msg); this.exportLoading = false; }) .catch(() => { }); .catch(() => {}); }, // åæ¶æé unsave() { @@ -2328,7 +2986,7 @@ this.form.amountrequested = allSum.toFixed(2); this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested); } catch { } } catch {} }, //é颿°åè½¬æ¢æå¤§å src/views/project/travelexpensecheck/index.vue
@@ -1,55 +1,110 @@ <template> <div class="app-container"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px" > <el-row> <el-col :span="5"> <el-form-item label="æç®æ¡ä¾" prop="name"> <el-input v-model="queryParams.donorname" placeholder="请è¾å ¥æç®è å§å" clearable size="small" @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.donorname" placeholder="请è¾å ¥æç®è å§å" clearable size="small" @keyup.enter.native="handleQuery" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="é¢å®¡ç¶æ" prop="checkstatus" style="float: left"> <el-select v-model="queryParams.checkstatus" placeholder="è¯·éæ©" style="width: 100%"> <el-option v-for="item in checkmaterials" :key="item.value" :label="item.label" :value="item.value"> <el-select v-model="queryParams.checkstatus" placeholder="è¯·éæ©" style="width: 100%" > <el-option v-for="item in checkmaterials" :key="item.value" :label="item.label" :value="item.value" > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="审æ¹ç¶æ" prop="CHECKFLAG" style="float: left"> <el-select v-model="queryParams.CHECKFLAG" placeholder="è¯·éæ©" style="width: 100%"> <el-option v-for="item in checkFlagOptions" :key="item.value" :label="item.label" :value="item.value"> <el-select v-model="queryParams.CHECKFLAG" placeholder="è¯·éæ©" style="width: 100%" > <el-option v-for="item in checkFlagOptions" :key="item.value" :label="item.label" :value="item.value" > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="ç»å人" prop="username"> <el-input v-model="queryParams.username" placeholder="请è¾å ¥æ¥é人" clearable size="small" @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.username" placeholder="请è¾å ¥æ¥é人" clearable size="small" @keyup.enter.native="handleQuery" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="5"> <el-form-item label="æ¥ééé¢" prop="money" style="float: left"> <el-input v-model="queryParams.money" placeholder="请è¾å ¥ç³è¯·äººéé¢" clearable size="small" @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.money" placeholder="请è¾å ¥ç³è¯·äººéé¢" clearable size="small" @keyup.enter.native="handleQuery" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="ç³è¯·æ¥æ" prop="applyTime"> <el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="value1" type="daterange" @blur="onpick" range-separator="è³" start-placeholder="æ¥éç³è¯·å¼å§æ¥æ" end-placeholder="æ¥éç³è¯·ç»ææ¥æ" @keyup.enter.native="handleQuery"> <el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="value1" type="daterange" @blur="onpick" range-separator="è³" start-placeholder="æ¥éç³è¯·å¼å§æ¥æ" end-placeholder="æ¥éç³è¯·ç»ææ¥æ" @keyup.enter.native="handleQuery" > </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">æç´¢</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">éç½®</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" >æç´¢</el-button > <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" >éç½®</el-button > </el-form-item> </el-col> </el-row> @@ -57,13 +112,28 @@ <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading" @click="handleExport">导åº</el-button> <el-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading" @click="handleExport" >导åº</el-button > </el-col> <!-- v-hasPermi="['project:funddetail:export']" --> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" ></right-toolbar> </el-row> <el-table border v-loading="loading" :data="reimbursementList" @selection-change="handleSelectionChange"> <el-table border v-loading="loading" :data="reimbursementList" @selection-change="handleSelectionChange" > <!-- <el-table-column type="selection" width="55" align="center" /> --> <!-- @@ -73,27 +143,73 @@ </template> </el-table-column>--> <el-table-column label="æ¥éåå·" width="120" align="center" prop="bh" /> <el-table-column label="ç³è¯·æ¥æ" width="120" align="center" prop="applyTime"> <el-table-column label="ç³è¯·æ¥æ" width="120" align="center" prop="applyTime" > <template slot-scope="scope"> <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span> </template> </el-table-column> <el-table-column label="æ¥ééé¢" width="120" align="center" prop="amountrequested" /> <el-table-column label="ç»å人" width="120" align="center" prop="username" /> <el-table-column label="ç³è¯·ææç¶æ" width="140" align="center" prop="checkstatus"> <el-table-column label="æ¥ééé¢" width="120" align="center" prop="amountrequested" /> <el-table-column label="ç»å人" width="120" align="center" prop="username" /> <el-table-column label="ç³è¯·ææç¶æ" width="140" align="center" prop="checkstatus" > <template slot-scope="scope"> <dict-tag :options="dict.type.sys_stage_type" :value="scope.row.checkstatus" /> <dict-tag :options="dict.type.sys_stage_type" :value="scope.row.checkstatus" /> </template> </el-table-column> <el-table-column label="审æ¹ç¶æ" width="140" align="center" prop="checkFlag"> <el-table-column label="审æ¹ç¶æ" width="140" align="center" prop="checkFlag" > <template slot-scope="scope"> <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" /> <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" /> </template> </el-table-column> <el-table-column label="åºå·®äºç±" align="center" prop="reason" /> <el-table-column label="æå±ç»å«" width="120" align="center" prop="deptmentname" /> <el-table-column label="ç»é¿" width="120" align="center" prop="managername" /> <el-table-column label="æç®è " width="120" align="center" prop="donorname" /> <el-table-column label="æå±ç»å«" width="120" align="center" prop="deptmentname" /> <el-table-column label="ç»é¿" width="120" align="center" prop="managername" /> <el-table-column label="æç®è " width="120" align="center" prop="donorname" /> <!-- <el-table-column label="åºå·®äºº" width="180" align="center" prop="travelers"> </el-table-column> @@ -110,51 +226,108 @@ <el-table-column label="è´¢å¡æ ¸å¯¹" align="center" prop="financechecher"/> <el-table-column label="è´¢å¡å®¡æ ¸" width="120" align="center" prop="financedirector"/> --> <el-table-column label="æä½" align="center" fixed="right" class-name="small-padding fixed-width" width="270"> <el-table-column label="æä½" align="center" fixed="right" class-name="small-padding fixed-width" width="270" > <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 1" @click="handleUpdate(scope.row)">审æ¹</el-button> <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 0" @click="handleShow(scope.row)">详æ </el-button> <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 1" @click="handleUpdate(scope.row)" >审æ¹</el-button > <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 0" @click="handleShow(scope.row)" >详æ </el-button > <!-- v-hasPermi="['project:funddetail:edit']" --> <el-button size="mini" type="text" icon="el-icon-download" @click="gettable(scope.row)"> <el-button size="mini" type="text" icon="el-icon-download" @click="gettable(scope.row)" > ä¸è½½ </el-button> <!-- v-hasPermi="['project:funddetail:edit']" --> <el-button size="mini" type="text" icon="el-icon-delete" :disabled="true" @click="handleDelete(scope.row)">å é¤</el-button> <el-button size="mini" type="text" icon="el-icon-delete" :disabled="true" @click="handleDelete(scope.row)" >å é¤</el-button > <!-- v-hasPermi="['project:funddetail:remove']" --> </template> </el-table-column> </el-table> <!-- v-hasPermi="['project:donateconsolationfund:edit']" --> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <!-- æ·»å æä¿®æ¹è´¹ç¨ç³è¯·æç»å¯¹è¯æ¡ --> <el-dialog :title="title" :visible.sync="open" width="1400px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1400px" append-to-body > <el-form ref="form" :model="form" label-width="120px"> <el-row> <el-col :span="5"> <el-form-item label="ç³è¯·æ¥æ" prop="applyTime"> <el-date-picker style="width: 100%" v-model="form.applyTime" :disabled="true" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="ç³è¯·æ¥æ"> <el-date-picker style="width: 100%" v-model="form.applyTime" :disabled="true" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="ç³è¯·æ¥æ" > </el-date-picker> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="ç»å人" prop="username"> <el-input v-model="form.username" placeholder="æ¥é人" :disabled="true" /> <el-input v-model="form.username" placeholder="æ¥é人" :disabled="true" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="æå±ç»å«" prop="deptmentname"> <el-input v-model="form.deptmentname" placeholder="æå±ç»å«" :disabled="true" /> <el-input v-model="form.deptmentname" placeholder="æå±ç»å«" :disabled="true" /> </el-form-item> </el-col> <el-col :span="5"> <el-form-item label="ç»é¿" prop="managername"> <el-input v-model="form.managername" placeholder="ç»é¿" :disabled="true" /> <el-input v-model="form.managername" placeholder="ç»é¿" :disabled="true" /> </el-form-item> </el-col> </el-row> @@ -193,7 +366,8 @@ <el-input v-model="form.reason" placeholder="åºå·®äºç±" /> </el-form-item> </el-col> <el-col :span="5"><el-form-item label="æç®è " prop="donorname"> <el-col :span="5" ><el-form-item label="æç®è " prop="donorname"> <el-input v-model="form.donorname" placeholder="æç®è " /> </el-form-item> </el-col> @@ -201,14 +375,23 @@ <el-row style="margin-top: 10px"> <el-col :span="5"> <el-form-item label="æ¥ééé¢" prop="amountrequested"> <el-input v-model="form.amountrequested" placeholder="æ¥ééé¢" :disabled="true" /> <el-input v-model="form.amountrequested" placeholder="æ¥ééé¢" :disabled="true" /> </el-form-item> </el-col> <el-col :span="10"> <el-form-item label="大åéé¢" prop="bigstrmoney"> <el-input v-model="form.bigstrmoney" placeholder="大åéé¢" :disabled="true" /> </el-form-item> </el-col><!-- <el-input v-model="form.bigstrmoney" placeholder="大åéé¢" :disabled="true" /> </el-form-item> </el-col ><!-- <el-col :span="6"> <el-form-item label="颿¬¾éé¢" prop="amountrequested"> <el-input v-model="form.amountrequested" placeholder="颿¬¾éé¢" /> @@ -220,17 +403,34 @@ </el-col>--> <el-col :span="5"> <el-form-item label="å®¡æ ¸ç¶æ" prop="flowlevel"> <el-select v-model="form.recordstatus" placeholder="è¯·éæ©å®¡æ ¸ç¶æ" clearable :disabled="true" size="small"> <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label" :value="dict.value" /> <el-select v-model="form.recordstatus" placeholder="è¯·éæ©å®¡æ ¸ç¶æ" clearable :disabled="true" size="small" > <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row type="flex" :gutter="10" align="right" class="mb8"> <el-col :span="6"> <el-button type="primary" plain icon="el-icon-plus" size="mini" :disabled="true" @click="addRow">æ°å¢ä¸è¡</el-button> <el-button type="primary" plain icon="el-icon-plus" size="mini" :disabled="true" @click="addRow" >æ°å¢ä¸è¡</el-button > </el-col> </el-row> <el-row style="margin-top: 25px; margin-bottom: 5px"> @@ -238,117 +438,264 @@ </el-row> <el-row> <el-table :data="rbDetails" border highlight-current-row> <el-table-column prop="orderno" slot="" label="åºå·" align="center" fixed width="65"> <el-table-column prop="orderno" slot="" label="åºå·" align="center" fixed width="65" > <template slot-scope="scope"> <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"> <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"> <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="130"> <el-table-column prop="persontype" slot="" label="人åç±»å«" align="center" fixed width="130" > <template slot-scope="scope"> <el-select v-model="scope.row.persontype" value-key="value" placeholder="人åç±»å«" @change="getPersons(scope.row)"> <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" :value="dict.label"></el-option> <el-select v-model="scope.row.persontype" value-key="value" placeholder="人åç±»å«" @change="getPersons(scope.row)" > <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" :value="dict.label" ></el-option> </el-select> </template> </el-table-column> <el-table-column prop="personname" slot="" label="è´¹ç¨äººå" align="center" fixed width="110"> <el-table-column prop="personname" slot="" label="è´¹ç¨äººå" align="center" fixed width="110" > <template slot-scope="scope"> <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option placeholder="è¯·éæ©" @focus1="getPersons(scope.row)"> <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName" :value="item.reportName"> <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option placeholder="è¯·éæ©" @focus1="getPersons(scope.row)" > <el-option v-for="item in personsSel" :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-table-column prop="starttime" slot="" label="å¼å§æ¥æ" fixed align="center" width="150" > <template slot-scope="scope"> <el-date-picker :picker-options="{ disabledDate: time => { if (scope.row.endtime) { return ( time.getTime() > new Date(scope.row.endtime.replace(/-/g, '/')) ); <el-date-picker :picker-options="{ disabledDate: time => { if (scope.row.endtime) { return ( time.getTime() > new Date(scope.row.endtime.replace(/-/g, '/')) ); } } } }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="å¼å§æ¥æ" @blur="getallowance(scope.row)"> }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="å¼å§æ¥æ" @blur="getallowance(scope.row)" > </el-date-picker> </template> </el-table-column> <el-table-column prop="endtime" slot="" label="ç»ææ¥æ" align="center" fixed width="150"> <el-table-column prop="endtime" slot="" label="ç»ææ¥æ" align="center" fixed width="150" > <template slot-scope="scope"> <el-date-picker :picker-options="{ disabledDate: time => { if (scope.row.starttime) { return ( time.getTime() < new Date(scope.row.starttime.replace(/-/g, '/')) ); <el-date-picker :picker-options="{ disabledDate: time => { if (scope.row.starttime) { return ( time.getTime() < new Date(scope.row.starttime.replace(/-/g, '/')) ); } } } }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="ç»ææ¥æ" @blur="getallowance(scope.row)"> }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="ç»ææ¥æ" @blur="getallowance(scope.row)" > </el-date-picker> </template> </el-table-column> <el-table-column prop="departure" slot="" label="åºåå°" align="center" width="100"> <el-table-column prop="departure" slot="" label="åºåå°" align="center" width="100" > <template slot-scope="scope"> <el-input v-model="scope.row.departure" placeholder="åºåå°" /> </template> </el-table-column> <el-table-column label="å°è¾¾å°" prop="destination2" align="center" width="140"> <el-table-column label="å°è¾¾å°" prop="destination2" align="center" width="140" > <template slot-scope="scope"> <!-- <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 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"> <template slot-scope="scope"> <el-input v-model="scope.row.days" @blur="getStandard(scope.row)" placeholder="天æ°" /> <el-input v-model="scope.row.days" @blur="getStandard(scope.row)" placeholder="天æ°" /> </template> </el-table-column> <el-table-column prop="traffictype" label="åºå交éå·¥å ·" align="center" width="100"> <el-table-column prop="traffictype" label="åºå交éå·¥å ·" align="center" width="100" > <template slot-scope="scope"> <el-select v-model="scope.row.traffictype" placeholder="åºå交éå·¥å ·"> <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label" :value="dict.label"></el-option> <el-select v-model="scope.row.traffictype" placeholder="åºå交éå·¥å ·" > <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label" :value="dict.label" ></el-option> </el-select> </template> </el-table-column> <el-table-column prop="traffictype2" label="è¿å交éå·¥å ·" align="center" width="100"> <el-table-column prop="traffictype2" label="è¿å交éå·¥å ·" align="center" width="100" > <template slot-scope="scope"> <el-select v-model="scope.row.traffictype2" placeholder="è¿å交éå·¥å ·"> <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label" :value="dict.label"></el-option> <el-select v-model="scope.row.traffictype2" placeholder="è¿å交éå·¥å ·" > <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label" :value="dict.label" ></el-option> </el-select> </template> </el-table-column> <el-table-column prop="trafficexpense" label="交éè´¹" align="center" width="80"> <el-table-column prop="trafficexpense" label="交éè´¹" align="center" width="80" > <template slot-scope="scope"> <el-input v-model="scope.row.trafficexpense" placeholder="交éè´¹" @blur="val => { sumTotalFee(); } " /> <el-input v-model="scope.row.trafficexpense" placeholder="交éè´¹" @blur=" val => { sumTotalFee(); } " /> </template> </el-table-column> <!-- @@ -363,64 +710,138 @@ </template> </el-table-column> --> <el-table-column prop="hotelexpense" label="ä½å®¿è´¹" align="center" width="80"> <el-table-column prop="hotelexpense" label="ä½å®¿è´¹" align="center" width="80" > <template slot-scope="scope"> <el-input v-model="scope.row.hotelexpense" placeholder="ä½å®¿è´¹" @blur="val => { sumTotalFee(); } " /> <el-input v-model="scope.row.hotelexpense" placeholder="ä½å®¿è´¹" @blur=" val => { sumTotalFee(); } " /> </template> </el-table-column> <el-table-column prop="foodexpenses" label="é¤è´¹æ¥é" align="center" width="80"> <el-table-column prop="foodexpenses" label="é¤è´¹æ¥é" align="center" width="80" > <template slot-scope="scope"> <el-input v-model="scope.row.foodexpenses" placeholder="ä¼é£è´¹æ¥é" @blur="val => { sumTotalFee(); } " /> <el-input v-model="scope.row.foodexpenses" placeholder="ä¼é£è´¹æ¥é" @blur=" val => { sumTotalFee(); } " /> </template> </el-table-column> <el-table-column prop="foodallowance" label="ä¼é£è¡¥å©" align="center" width="80"> <el-table-column prop="foodallowance" label="ä¼é£è¡¥å©" align="center" width="80" > <template slot-scope="scope"> <el-input v-model="scope.row.foodallowance" placeholder="ä¼é£è´¹è¡¥å©" @blur="val => { sumTotalFee(); } " /> <el-input v-model="scope.row.foodallowance" placeholder="ä¼é£è´¹è¡¥å©" @blur=" val => { sumTotalFee(); } " /> </template> </el-table-column> <el-table-column prop="otherexpense" label="å ¬æè´¹è¡¥å©" align="center" width="80"> <el-table-column prop="otherexpense" label="å ¬æè´¹è¡¥å©" align="center" width="80" > <template slot-scope="scope"> <el-input v-model="scope.row.otherexpense" placeholder="æè´¹" @blur="val => { sumTotalFee(); } " /> <el-input v-model="scope.row.otherexpense" placeholder="æè´¹" @blur=" val => { sumTotalFee(); } " /> </template> </el-table-column> <el-table-column prop="otherfeeamount" label="å ¶ä»è´¹ç¨" align="center" width="90"> <el-table-column prop="otherfeeamount" label="å ¶ä»è´¹ç¨" align="center" width="90" > <template slot-scope="scope"> <el-input v-model="scope.row.otherfeeamount" placeholder="å ¶ä»è´¹ç¨" @blur="val => { sumTotalFee(); } " /> <el-input v-model="scope.row.otherfeeamount" placeholder="å ¶ä»è´¹ç¨" @blur=" val => { sumTotalFee(); } " /> </template> </el-table-column> <el-table-column prop="departure" slot="" label="å ¶ä»è´¹ç¨è¯´æ" align="center" width="120"> <el-table-column prop="departure" slot="" label="å ¶ä»è´¹ç¨è¯´æ" align="center" width="120" > <template slot-scope="scope"> <el-input v-model="scope.row.otherfeedesc" placeholder="å ¶ä»è´¹ç¨è¯´æ" /> <el-input v-model="scope.row.otherfeedesc" placeholder="å ¶ä»è´¹ç¨è¯´æ" /> </template> </el-table-column> <el-table-column prop="total" label="å计" align="center" width="110"> <el-table-column prop="total" label="å计" align="center" width="110" > <template slot-scope="scope"> <el-input v-model="scope.row.total" placeholder="å计" /> </template> </el-table-column> <el-table-column fixed="right" label="æä½" align="center" width="120"> <el-table-column fixed="right" label="æä½" align="center" width="120" > <template slot-scope="scope"> <el-button @click.native.prevent=" deleteRow(scope.$index, rbDetails, scope.row) " type="text" size="small" :disabled="true"> <el-button @click.native.prevent=" deleteRow(scope.$index, rbDetails, scope.row) " type="text" size="small" :disabled="true" > å é¤ </el-button> </template> @@ -465,75 +886,193 @@ </el-row> <el-row style="margin-top: 30px"> <el-table :data="rbPayees" border highlight-current-row> <el-table-column prop="orderno" slot="" label="åºå·" align="center" fixed width="65"> <el-table-column prop="orderno" slot="" label="åºå·" align="center" fixed width="65" > <template slot-scope="scope"> <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"> <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"> <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="130"> <el-table-column prop="persontype" slot="" label="人åç±»å«" align="center" fixed width="130" > <template slot-scope="scope"> <el-select v-model="scope.row.persontype" value-key="value" placeholder="人åç±»å«" @change="getPersons(scope.row)"> <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" :value="dict.label"></el-option> <el-select v-model="scope.row.persontype" value-key="value" placeholder="人åç±»å«" @change="getPersons(scope.row)" > <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" :value="dict.label" ></el-option> </el-select> </template> </el-table-column> <el-table-column prop="personname" slot="" label="æ¶æ¬¾äºº" align="center" fixed width="110"> <el-table-column prop="personname" slot="" label="æ¶æ¬¾äºº" align="center" fixed width="110" > <template slot-scope="scope"> <el-select v-model="scope.row.personname" clearable filterable allow-create ref="getReportname" default-first-option placeholder="è¯·éæ©" @change="getAccountinfo2(scope.row, scope.row.persontype)"> <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName" :value="item.reportName"> <el-select v-model="scope.row.personname" clearable filterable allow-create ref="getReportname" default-first-option placeholder="è¯·éæ©" @change="getAccountinfo2(scope.row, scope.row.persontype)" > <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName" :value="item.reportName" > </el-option> </el-select> </template> </el-table-column> <el-table-column prop="bankname" slot="" label="é¶è¡åç§°" align="center" fixed width="200"> <el-table-column prop="bankname" slot="" label="é¶è¡åç§°" align="center" fixed width="200" > <template slot-scope="scope"> <el-input v-model="scope.row.bankname" placeholder="é¶è¡åç§°" /> </template> </el-table-column> <el-table-column prop="bankcardno" slot="" label="é¶è¡å¡å·" align="center" fixed width="200"> <el-table-column prop="bankcardno" slot="" label="é¶è¡å¡å·" align="center" fixed width="200" > <template slot-scope="scope"> <el-input v-model="scope.row.bankcardno" placeholder="é¶è¡å¡å·" /> <el-input v-model="scope.row.bankcardno" placeholder="é¶è¡å¡å·" /> </template> </el-table-column> <el-table-column prop="amount" slot="" label="ææ¬¾éé¢" align="center" fixed width="130"> <el-table-column prop="amount" slot="" label="ææ¬¾éé¢" align="center" fixed width="130" > <template slot-scope="scope"> <el-input v-model="scope.row.amount" placeholder="ææ¬¾éé¢" /> </template> </el-table-column> <el-table-column prop="remark" slot="" label="请款说æ" align="center" fixed width="280"> <el-table-column prop="remark" slot="" label="请款说æ" align="center" fixed width="280" > <template slot-scope="scope"> <el-input v-model="scope.row.remark" placeholder="说æ" /> </template> </el-table-column><el-table-column prop="paiddate" slot="" label="ææ¬¾æ¥æ" fixed align="center" width="150"> </template> </el-table-column ><el-table-column prop="paiddate" slot="" label="ææ¬¾æ¥æ" fixed align="center" width="150" > <template slot-scope="scope"> <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.paiddate" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="ææ¬¾æ¥æ" :disabled="true" @blur="getallowance(scope.row)"> <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.paiddate" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="ææ¬¾æ¥æ" :disabled="true" @blur="getallowance(scope.row)" > </el-date-picker> </template> </el-table-column> <el-table-column label="æä½" align="center" width="100" v-if="dialogType == 'edit'"> <el-table-column label="æä½" align="center" width="100" v-if="dialogType == 'edit'" > <template slot-scope="scope"> <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)">æ°å¢</el-button> <el-button @click.native.prevent=" deletePayeeRow(scope.$index, rbPayees, scope.row) " type="text" size="small"> <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)" >æ°å¢</el-button > <el-button @click.native.prevent=" deletePayeeRow(scope.$index, rbPayees, scope.row) " type="text" size="small" > å é¤ </el-button> </template> @@ -547,12 +1086,31 @@ <el-col :span="14"> <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="20" :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"> <el-button :disabled="dialogType == 'detail'" size="small" type="primary">ä¸ä¼ </el-button> <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple :limit="20" :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" > <el-button :disabled="dialogType == 'detail'" size="small" type="primary" >ä¸ä¼ </el-button > </el-upload> </el-form-item> </el-col> @@ -563,16 +1121,37 @@ <el-col :span="20">æ¥é审æ¹è®°å½ï¼</el-col> </el-row> <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="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> <el-table-column label="å®¡æ ¸å¤æ³¨" align="center" prop="flowcontent" /> </el-table> <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="dialogType == 'edit'"> <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="dialogType == 'edit'" > <el-col :span="7"> <el-form-item label="å®¡æ ¸ç»æ" align="left"> <el-radio-group v-model="checkObj.flowlevelone" align="left"> @@ -591,7 +1170,12 @@ </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="checksubmit" v-if="dialogType == 'edit'">ä¿ å</el-button> <el-button type="primary" @click="checksubmit" v-if="dialogType == 'edit'" >ä¿ å</el-button > <el-button @click="cancel">å æ¶</el-button> </div> </el-dialog> @@ -775,7 +1359,7 @@ dialogType: "show" }; }, created() { }, created() {}, mounted() { if (grtItem("travelexpensecheck")) { this.queryParams = grtItem("travelexpensecheck"); @@ -846,7 +1430,26 @@ var aEle = document.createElement("a"); aEle.href = curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; aEle.click(); console.log(aEle.href); // æ·»å Authorizationå¤´é¨ fetch(aEle.href, { headers: this.headers }) .then(response => { // å°æä»¶ä¸è½½é¾æ¥ä½ä¸ºblob对象è¿è¡ä¸è½½ return response.blob(); }) .then(blob => { const url = window.URL.createObjectURL(new Blob([blob])); console.log(url); const link = document.createElement("a"); link.href = url; const name=fileUrl["downloadName"] link.setAttribute("download", name); // æ¿æ¢file.pdf为å®é çæä»¶å document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); }); }); }, @@ -1030,8 +1633,8 @@ this.fileList = this.form.annexfiles ? this.form.annexfiles .split(",") .map(item => ({ url: item, name: item })) .split(",") .map(item => ({ url: item, name: item })) : []; getReimbursementdetaillist(ids).then(res2 => { @@ -1146,7 +1749,7 @@ const ids = row.id || this.ids; this.$modal .confirm('æ¯å¦ç¡®è®¤å 餿¥éç³è¯·ç¼å·ä¸º"' + ids + '"çæ°æ®é¡¹ï¼') .then(function () { .then(function() { // å é¤detailså çæ°æ® return delReimbursement(ids); }) @@ -1155,7 +1758,7 @@ this.getList(); this.$modal.msgSuccess("å 餿å"); }) .catch(() => { }); .catch(() => {}); }, /** å¯¼åºæé®æä½ */ handleExport() { @@ -1170,7 +1773,7 @@ this.$download.name(response.msg); this.exportLoading = false; }) .catch(() => { }); .catch(() => {}); }, //æ°å¢ä¸è¡ @@ -1263,7 +1866,7 @@ } this.form.amountrequested = allSum.toFixed(2); this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested); } catch { } } catch {} }, //éé¢å¤§å @@ -1367,7 +1970,7 @@ }, //éä»¶å¤ç handleUploadError() { }, handleUploadError() {}, remove(file) { this.fileList.splice(this.fileList.indexOf(file), 1);