From 6301694e7740760917474044a729ffb6d4e39192 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 24 一月 2024 11:59:23 +0800 Subject: [PATCH] 11 --- src/views/project/donationdetails/index.vue | 147 src/views/project/donationdetails/index copy 2.vue | 3791 +++++++++++++++++++++++++++++ src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue | 45 src/views/project/travelexpenseapply/travelexpensedetail/index.vue | 1210 +++++++-- src/views/project/donatebaseinfo/index.vue | 26 src/views/project/fund/performanceApply/index.vue | 43 src/views/project/fundcheck/officeExpenseCheck/index.vue | 43 src/views/project/fundstatistics/index.vue | 43 src/utils/request.js | 3 src/views/project/travelexpensecheck/index.vue | 985 ++++++- src/views/project/fund/performancedetails/index.vue | 194 + src/views/project/relativesconfirmation/index.vue | 25 src/views/project/fund/applyDetail/index.vue | 226 + src/views/project/fund/expertFeeApply/index.vue | 43 src/views/project/donateconsolationfund/index.vue | 43 src/views/project/fund/ethicalExpertFeeApply/index.vue | 43 src/views/project/fundcheck/medicalCostCheck/index.vue | 43 src/views/project/fundcheck/expertFeeCheck/index.vue | 45 src/views/project/fund/officeExpenseApply/index.vue | 43 src/views/project/donatefinish/index.vue | 561 +++- src/views/project/fundcheck/performanceCheck/index.vue | 43 src/views/project/travelexpenseapply/index.vue | 34 src/views/project/donationwitness/index.vue | 25 23 files changed, 6,713 insertions(+), 991 deletions(-) diff --git a/src/utils/request.js b/src/utils/request.js index 00c062a..d88639c 100644 --- a/src/utils/request.js +++ b/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) { diff --git a/src/views/project/donatebaseinfo/index.vue b/src/views/project/donatebaseinfo/index.vue index 653f5fc..01403b5 100644 --- a/src/views/project/donatebaseinfo/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); + }); }); } } diff --git a/src/views/project/donateconsolationfund/index.vue b/src/views/project/donateconsolationfund/index.vue index 774b8ac..a0d188d 100644 --- a/src/views/project/donateconsolationfund/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); }); - } }); }, diff --git a/src/views/project/donatefinish/index.vue b/src/views/project/donatefinish/index.vue index 08d64fe..41cb09d 100644 --- a/src/views/project/donatefinish/index.vue +++ b/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="璇疯緭鍏ヨ礋璐d汉"></el-input> + <el-input + v-model="scope.row.transplantdoct" + placeholder="璇疯緭鍏ヨ礋璐d汉" + ></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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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> diff --git a/src/views/project/donationdetails/index copy 2.vue b/src/views/project/donationdetails/index copy 2.vue new file mode 100644 index 0000000..297085e --- /dev/null +++ b/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="璇疯緭鍏ヨ礋璐d汉濮撳悕" + /> + </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-宸茬粓姝� + // 娴佺▼鏁版嵁锛歞onatebaseinfo[createtime,updatetime]銆乵edicalevaluation銆乺elativesconfirmation銆乨onateflowcharts銆乨onateorgansService銆乨onationwitness銆乨onatecompletioninfo + 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; + } + // 鍒犻櫎鏃朵慨鏀逛富鍒梔elFlag + 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("鏌ヨ涓嶅埌鍙兘鏄柊鏁版嵁鏃爄d"); + } + // 鏂板鏃朵慨鏀逛富鍒� + 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, "鐐瑰嚮鏂囦欢鎷縤tem"); + 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]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + }, + + 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> diff --git a/src/views/project/donationdetails/index.vue b/src/views/project/donationdetails/index.vue index 2e99aba..4bba644 100644 --- a/src/views/project/donationdetails/index.vue +++ b/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; } // 鍒犻櫎鏃朵慨鏀逛富鍒梔elFlag - 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, "鐐瑰嚮鏂囦欢鎷縤tem"); 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) { diff --git a/src/views/project/donationwitness/index.vue b/src/views/project/donationwitness/index.vue index f364c1c..ee871fb 100644 --- a/src/views/project/donationwitness/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); + }); }); }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index 9e193b1..6f0703c 100644 --- a/src/views/project/fund/applyDetail/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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; }, //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 diff --git a/src/views/project/fund/ethicalExpertFeeApply/index.vue b/src/views/project/fund/ethicalExpertFeeApply/index.vue index 361859b..176db36 100644 --- a/src/views/project/fund/ethicalExpertFeeApply/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); }); - } }); }, diff --git a/src/views/project/fund/expertFeeApply/index.vue b/src/views/project/fund/expertFeeApply/index.vue index 5813975..6e3084b 100644 --- a/src/views/project/fund/expertFeeApply/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); }); - } }); }, diff --git a/src/views/project/fund/officeExpenseApply/index.vue b/src/views/project/fund/officeExpenseApply/index.vue index bca0af2..6395376 100644 --- a/src/views/project/fund/officeExpenseApply/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); }); - } }); }, diff --git a/src/views/project/fund/performanceApply/index.vue b/src/views/project/fund/performanceApply/index.vue index 83312ab..dd9ac12 100644 --- a/src/views/project/fund/performanceApply/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); }); - } }); }, diff --git a/src/views/project/fund/performancedetails/index.vue b/src/views/project/fund/performancedetails/index.vue index a675411..d8e70dc 100644 --- a/src/views/project/fund/performancedetails/index.vue +++ b/src/views/project/fund/performancedetails/index.vue @@ -894,6 +894,7 @@ unitforname: null, isIndeterminate: true, Performanceclass: 68, + ICDtoken: getToken(), //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳 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, "鐐瑰嚮鏂囦欢鎷縤tem"); 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, "鐐瑰嚮鏂囦欢鎷縤tem"); 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(); diff --git a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue index f684502..371eed3 100644 --- a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); }); - } }); }, diff --git a/src/views/project/fundcheck/expertFeeCheck/index.vue b/src/views/project/fundcheck/expertFeeCheck/index.vue index 67e44a3..c283585 100644 --- a/src/views/project/fundcheck/expertFeeCheck/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); }); - } }); }, diff --git a/src/views/project/fundcheck/medicalCostCheck/index.vue b/src/views/project/fundcheck/medicalCostCheck/index.vue index 2e32282..98d55a0 100644 --- a/src/views/project/fundcheck/medicalCostCheck/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); }); - } }); }, diff --git a/src/views/project/fundcheck/officeExpenseCheck/index.vue b/src/views/project/fundcheck/officeExpenseCheck/index.vue index ebda5cd..7c31d52 100644 --- a/src/views/project/fundcheck/officeExpenseCheck/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); }); - } }); }, diff --git a/src/views/project/fundcheck/performanceCheck/index.vue b/src/views/project/fundcheck/performanceCheck/index.vue index 1f8cb3f..4b5ff52 100644 --- a/src/views/project/fundcheck/performanceCheck/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); }); - } }); }, diff --git a/src/views/project/fundstatistics/index.vue b/src/views/project/fundstatistics/index.vue index 2920619..809b909 100644 --- a/src/views/project/fundstatistics/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); }); - } }); }, }, diff --git a/src/views/project/relativesconfirmation/index.vue b/src/views/project/relativesconfirmation/index.vue index 54cbad9..99a4b09 100644 --- a/src/views/project/relativesconfirmation/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); + }); }); }, diff --git a/src/views/project/travelexpenseapply/index.vue b/src/views/project/travelexpenseapply/index.vue index 7dbd885..5ea02c2 100644 --- a/src/views/project/travelexpenseapply/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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(); - // }); }, /** 鏌ヨ鎶ラ攢鐢宠鍒楄〃 */ diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue index 6926eea..b67779b 100644 --- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue +++ b/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, "鐐瑰嚮鏂囦欢鎷縤tem"); 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, "鐐瑰嚮鏂囦欢鎷縤tem"); 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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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 {} }, //閲戦鏁板瓧杞崲鎴愬ぇ鍐� diff --git a/src/views/project/travelexpensecheck/index.vue b/src/views/project/travelexpensecheck/index.vue index d390510..20d572b 100644 --- a/src/views/project/travelexpensecheck/index.vue +++ b/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 => { + // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇 + 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); -- Gitblit v1.9.3