From f792e8ecddfcd4c1d09504fa8a6a9181586ae88c Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 14 三月 2024 17:35:22 +0800 Subject: [PATCH] 11 --- src/views/project/unitCost/particulars.vue | 991 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 765 insertions(+), 226 deletions(-) diff --git a/src/views/project/unitCost/particulars.vue b/src/views/project/unitCost/particulars.vue index 6fe7a3c..160e216 100644 --- a/src/views/project/unitCost/particulars.vue +++ b/src/views/project/unitCost/particulars.vue @@ -7,119 +7,122 @@ <el-col :span="5"> <el-form-item label="缁忓姙浜�" prop="name"> <el-input - v-model="form.name" + v-model="form.createby" placeholder="璇疯緭鍏ュ鍚�" :disabled="true" /> </el-form-item> </el-col> - <el-col :span="7"> + <el-col :span="5"> <el-form-item label="鏀舵鐘舵��" prop="sex"> - <el-select v-model="form.sex" placeholder="璇疯緭鍏ユ�у埆"> + <el-select v-model="form.paystatus" placeholder="璇烽�夋嫨鐘舵��"> <el-option - v-for="dict in dict.type.sys_user_sex" + v-for="dict in gatheringlist" :key="dict.label" :label="dict.label" - :value="parseInt(dict.value)" + :value="dict.value" ></el-option> </el-select> </el-form-item> </el-col> - <el-col :span="5"> - <el-form-item label="鐢宠鏃ユ湡" prop="borthdate"> + <el-col :span="7"> + <el-form-item label="鐢宠鏃ユ湡" prop="createTime"> <el-date-picker - clearable - size="small" - v-model="form.borthdate" - type="date" - value-format="yyyy-MM-dd" + v-model="form.createTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + :disabled="true" placeholder="閫夋嫨鍑虹敓骞存湀" > </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="7" + ><el-form-item label="鏀舵鍗曞彿" prop="donateno"> + <el-input v-model="form.paymentno" placeholder="璇疯緭鍏ユ敹娆惧崟鍙�" /> </el-form-item> </el-col> </el-row ><el-row ><el-col :span="5" ><el-form-item label="鏀舵鍗曚綅" prop="donateno"> <el-input - v-model="form.donateno" + v-model="form.beneficiary" placeholder="璇疯緭鍏ユ敹娆惧崟浣�" - :disabled="true" /> </el-form-item> </el-col> - <el-col :span="7" + <el-col :span="12" ><el-form-item label="鏀舵閾惰" prop="donateno"> <el-input - v-model="form.donateno" + v-model="form.beneficiarybank" placeholder="璇疯緭鍏ユ敹娆鹃摱琛�" - :disabled="true" /> </el-form-item> </el-col> - <el-col :span="5"> + <el-col :span="7"> <el-form-item label="鏀舵琛屽彿" prop="donationcategory"> <el-input - v-model="form.donationcategory" + v-model="form.beneficiaryaccount" placeholder="璇疯緭鍏ユ敹娆捐鍙�" /> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="17"> + <el-col :span="24"> <el-form-item label="鑱旂郴淇℃伅" prop="remark"> <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" /> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="5"> + <el-col :span="7"> <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-input + v-model="form.hospitalname" + placeholder="璇疯緭鍏ヤ粯娆惧尰闄�" + :disabled="true" + /> </el-form-item> </el-col> <el-col :span="5"> - <el-form-item label="搴旀敹閲戦" prop="chargeamount"> + <el-form-item label="搴旀敹閲戦" prop="receivableamount"> <el-input - v-model="form.chargeamount" + v-model="form.receivableamount" placeholder="璇疯緭鍏ュ簲鏀堕噾棰�" :disabled="true" /> </el-form-item> </el-col> <el-col :span="5"> - <el-form-item label="瀹炴敹閲戦" prop="chargeamounted"> + <el-form-item label="瀹炴敹閲戦" prop="receivedamount"> <el-input - v-model="form.chargeamounted" + @blur="chargeSumall" + v-model="form.receivedamount" placeholder="璇疯緭鍏ュ疄鏀堕噾棰�" - :disabled="true" /> </el-form-item> </el-col> <el-col :span="5"> - <el-form-item label="鐢宠鏃ユ湡" prop="borthdate"> + <el-form-item label="鏀舵鏃ユ湡" prop="receivedtime"> <el-date-picker clearable size="small" - v-model="form.borthdate" - type="date" - value-format="yyyy-MM-dd" - placeholder="閫夋嫨鍑虹敓骞存湀" + v-model="form.receivedtime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="閫夋嫨鏀舵鏃ユ湡" > </el-date-picker> </el-form-item> </el-col> </el-row> + <div class="headlines"> + <div>鏀舵鏄庣粏</div> + <el-button type="primary" @click="handleAddpatient">鏂板</el-button> + </div> <el-row style="margin-top: 10px"> <el-table :data="donorchargeorgans" @@ -133,6 +136,7 @@ <el-table-column prop="organno" align="center" + fixed label="鍣ㄥ畼缂栧彿" width="90" > @@ -146,6 +150,7 @@ </el-table-column> <el-table-column prop="organname" + fixed align="center" label="鍣ㄥ畼鍚嶇О" width="120" @@ -153,6 +158,7 @@ <template slot-scope="scope"> <el-input v-model="scope.row.organname" + :disabled="true" placeholder="鍣ㄥ畼鍚嶇О" /> </template> @@ -164,22 +170,33 @@ prop="caseno" > <template slot-scope="scope"> - <el-input v-model="scope.row.caseno" placeholder="鍥藉缂栧彿" /> + <el-input + v-model="scope.row.caseno" + :disabled="true" + placeholder="鍥藉缂栧彿" + /> </template> </el-table-column> <el-table-column - prop="hospitalname" + prop="hospitalno" align="center" label="鎺ユ敹鍖婚櫌" width="280" > <template slot-scope="scope"> + <!-- <el-input + v-model="scope.row.hospitalname" + :disabled="true" + placeholder="鎺ユ敹鍖婚櫌" + /> --> <org-selecter - ref="tranHosSelect" - :org-type="'4'" - v-model="scope.row.hospitalno" - style="width: 100%" - /> + ref="tranHosSelect" + :org-type="'4'" + :disabled="true" + + v-model="scope.row.hospitalno" + style="width: 100%" + /> </template> </el-table-column> <el-table-column @@ -189,11 +206,15 @@ prop="name" > <template slot-scope="scope"> - <el-input v-model="scope.row.name" placeholder="鍙椾綋濮撴皬" /> + <el-input + v-model="scope.row.name" + :disabled="true" + placeholder="鍙椾綋濮撴皬" + /> </template> </el-table-column> <el-table-column - prop="organtime" + prop="receiveTime" align="center" label="鎺ユ敹鏃ユ湡" width="200" @@ -203,7 +224,8 @@ clearable size="small" style="width: 100%" - v-model="scope.row.organtime" + v-model="scope.row.receiveTime" + :disabled="true" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="鎺ユ敹鏃ユ湡" @@ -211,16 +233,19 @@ </el-date-picker> </template> </el-table-column> - - + <el-table-column - prop="amount" + prop="organcharge" align="center" label="搴旀敹閲戦" width="150" > <template slot-scope="scope"> - <el-input v-model="scope.row.amount" placeholder="搴旀敹閲戦" /> + <el-input + @blur="chargeSum" + v-model="scope.row.organcharge" + placeholder="搴旀敹閲戦" + /> </template> </el-table-column> <el-table-column @@ -230,10 +255,14 @@ width="150" > <template slot-scope="scope"> - <el-input v-model="scope.row.amount" placeholder="瀹炴敹閲戦" /> + <el-input + @blur="chargeSum" + v-model="scope.row.amount" + placeholder="瀹炴敹閲戦" + /> </template> </el-table-column> - + <el-table-column prop="amounttime" align="center" @@ -253,39 +282,294 @@ </el-date-picker> </template> </el-table-column> - <el-table-column prop="organchargedesc" align="center" label="澶囨敞"> + <el-table-column + prop="organchargedesc" + width="280" + align="center" + label="澶囨敞" + > <template slot-scope="scope"> <el-input + type="textarea" + :rows="1" v-model="scope.row.organchargedesc" placeholder="澶囨敞" /> </template> </el-table-column> - <el-table-column label="鎿嶄綔" align="center"> - <template slot-scope="scope"> - <el-button size="mini" type="text" icon="el-icon-circle-plus-outline" @click="handleUpdate(scope.row)" - v-hasPermi="['system:donorcharge:edit']">鏂板</el-button> - - <el-button size="mini" type="text" @click="handleDelete(scope.row)" - v-hasPermi="['system:donorcharge:remove']"><span class="button-delete" - ><i class="el-icon-delete"></i>鍒犻櫎</span - ></el-button> - <el-button size="mini" type="text" icon="el-icon-folder-opened" @click="handleUpdate(scope.row)" - v-hasPermi="['system:donorcharge:edit']">闄勪欢</el-button> - </template> - </el-table-column> + <el-table-column + label="鎿嶄綔" + fixed="right" + width="260" + align="center" + > + <template slot-scope="scope"> + <el-button + type="text" + @click="handleDelete(scope.row)" + v-hasPermi="['system:donorcharge:remove']" + ><span class="button-delete" + ><i class="el-icon-delete"></i>鍒犻櫎</span + ></el-button + > + <el-button + type="text" + icon="el-icon-folder-opened" + @click="Filepopup(scope.$index, scope.row)" + v-hasPermi="['system:donorcharge:edit']" + >闄勪欢</el-button + > + </template> + </el-table-column> </el-table> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button - type="primary" + type="success" @click="submitForm" v-if="operationType == 'add' || operationType == 'update'" >淇� 瀛�</el-button > - <el-button type="primary" @click="cancel">鍏抽棴</el-button> + <el-button type="info" @click="cancel">鍏抽棴</el-button> </div> + <!-- 娣诲姞鎮h�� --> + <el-dialog + title="閫夋嫨鍣ㄥ畼鍜岀粍缁�" + :visible.sync="dialogVisiblepatient" + width="70%" + :before-close="handleClosehz" + > + <div class="examine-jic"> + <div class="jic-value"> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + <el-form + :model="patientqueryParams" + ref="queryForm" + size="small" + :inline="true" + label-width="98px" + > + <el-form-item label="鎺ユ敹鍖婚櫌" prop="status"> + <el-input + v-model="form.hospitalname" + placeholder="璇疯緭鍏ヤ粯娆惧尰闄�" + :disabled="true" + /> + </el-form-item> + <el-form-item label="鎹愮尞鑰�" prop="status"> + <el-select + v-model="patientqueryParams.donorchargeid" + filterable + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in donorchargeanlList" + :key="item.id" + :label="item.name" + :value="item.id" + > + </el-option> + </el-select> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="handleAddpatient" + >鎼滅储</el-button + > + <el-button + icon="el-icon-refresh" + size="medium" + @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + <!-- 閫夋嫨鍣ㄥ畼鍒楄〃 --> + <el-table + ref="multipleTable" + :data="donorchargeList" + tooltip-effect="dark" + style="width: 100%" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="55"> </el-table-column> + <el-table-column label="鎹愮尞鑰�" width="120"> + <template slot-scope="scope">{{ + scope.row.donorname + }}</template> + </el-table-column> + + <el-table-column + prop="organname" + label="鍣ㄥ畼鍚嶇О" + show-overflow-tooltip + > + </el-table-column> + <el-table-column prop="organno" label="鍣ㄥ畼缂栧彿" width="120"> + </el-table-column> + <el-table-column + prop="caseno" + label="鍥藉鍒嗛厤缂栧彿" + show-overflow-tooltip + > + </el-table-column> + <el-table-column + prop="name" + label="鍙椾綋濮撴皬" + show-overflow-tooltip + > + </el-table-column> + <el-table-column + prop="hospitalname" + label="鎺ユ敹鍖婚櫌" + show-overflow-tooltip + > + </el-table-column> + <el-table-column + prop="receiveTime" + label="鎺ユ敹鏃ユ湡" + show-overflow-tooltip + > + </el-table-column> + <el-table-column + prop="address" + label="澶囨敞" + show-overflow-tooltip + > + </el-table-column> + </el-table> + </el-row> + <pagination + v-show="patienttotal > 0" + :total="patienttotal" + :page.sync="patientqueryParams.pageNum" + :limit.sync="patientqueryParams.pageSize" + @pagination="handleAddpatient" + /> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button> + <el-button type="primary" @click="AddDispatchpatients" + >纭畾娣诲姞</el-button + > + </span> + </el-dialog> + <!-- 闄勪欢寮圭獥 --> + <el-dialog + v-dialogDrags + :modal="false" + :close-on-click-modal="false" + :title="pdftitle" + :visible.sync="pdfVisible" + width="60%" + > + <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) => + uploadSccess(response, file, fileList) + " + :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 + > + </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="鍚嶇О" + > + <template slot-scope="scope"> + <i style="color:#409EFF" class=" el-icon-s-order" /> + <span>{{ scope.row.name }}</span> + </template> + </el-table-column> + + <el-table-column + prop="name" + width="190" + :show-overflow-tooltip="true" + label="鍔熻兘" + > + <template slot-scope="scope"> + <el-button + type="danger" + size="mini" + @click="deletedowfile(scope.row)" + >鍒犻櫎</el-button + > + + <el-button + type="primary" + size="mini" + @click.native.prevent.stop="moveupdowfile(scope.row)" + >涓婄Щ</el-button + > + <el-button + type="success" + size="mini" + icon="el-icon-search" + circle + @click.native.prevent.stop="Downloadfile(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" + > + <!-- <div slot="error" class="image-slot"> + <i class="el-icon-picture-outline"></i> + </div> --> + </el-image> + </div> + <div v-else class="pdfimgmins">{{ hintitle }}</div> + </div> + </el-dialog> </div> </div> </template> @@ -298,11 +582,16 @@ import { getDonorcharge, addDonorcharge, - updateDonorcharge + updateDonorcharge, + listDonorcharge, + listDonorpayment, + addDonorpayment, + editDonorpayment } from "@/api/project/donorcharge"; + import { listDonorchargeorgan, - delDonorchargeorgan, + updateDonorchargeorgan, saveDonorchargeorgan } from "@/api/project/donorcharge"; import { listDonatecomporgan } from "@/api/project/donatecompletioninfo"; @@ -319,13 +608,47 @@ Li_area_select, pdf }, - dicts: ["sys_user_sex", "sys_0_1"], + dicts: ["sys_gathering", "sys_0_1"], name: "Donorchargemanager", data() { return { activeName: 1, //鏂囦欢绫诲瀷 - // 閮ㄩ棬鏍戦�夐」 - + tableData: [ + { + date: "2016-05-03", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�" + }, + { + date: "2016-05-02", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�" + }, + { + date: "2016-05-04", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�" + }, + { + date: "2016-05-01", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�" + } + ], + gatheringlist: [ + { label: "鏂板缓", value: "1" }, + { label: "寰呮敹娆�", value: "2" }, + { label: "宸叉敹娆�", value: "3" } + ], + multipleSelection: [], + patientqueryParams: { + pageNum: 1, + pageSize: 10, + hospitalno: null, + paymentid: null + }, + dialogVisiblepatient: false, + patienttotal: 0, // //绁ㄦ嵁鏂囦欢 pdftitle: "", pdfimg: "", @@ -366,10 +689,11 @@ // 鎹愮尞妗堜緥鍣ㄥ畼鍒楄〃鏍兼暟鎹� donorchargeList: [], donorchargeorgans: [], + donorchargeanlList: [], //妗堜緥鍒楄〃 + delogans: [], // 寮瑰嚭灞傛爣棰� title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, + // 鏌ヨ璐圭敤琛ㄥ弬鏁� queryParams: { pageNum: 1, @@ -384,7 +708,7 @@ organParams: { pageNum: 1, pageSize: 10, - donorchargeid: null + paymentid: null }, // 褰撳墠鐢ㄦ埛淇℃伅 @@ -404,6 +728,20 @@ { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" } ] }, + topicoptions: [ + { + value: "閫夐」1", + label: "榛勯噾绯�" + }, + { + value: "閫夐」2", + label: "鍙岀毊濂�" + }, + { + value: "閫夐」5", + label: "鍖椾含鐑ら腑" + } + ], baselist: [], donorList: [], @@ -424,10 +762,7 @@ //鏂囦欢鍒楄〃 fileList: [], fileListto: [], - invoicefileList: [], - invoicefileListto: [], - invoicepdfimg: "", - invoicepdfimgsrcList: [], + invoDatatop: [], //浜哄憳绫诲埆 persontype: null, @@ -491,7 +826,40 @@ } }, + handleClosehz() { + this.dialogVisiblepatient = false; + }, + handleQuery() {}, + resetQuery() { + this.patientqueryParams.donorname = null; + this.patientqueryParams.donorchargeid = null; + this.handleAddpatient(); + }, handleUploadError() {}, + // 寮规娣诲姞 + AddDispatchpatients() { + this.donorchargeorgans = this.donorchargeorgans.concat( + this.multipleSelection + ); + this.dialogVisiblepatient = false; + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(val) { + this.multipleSelection = val; + }, + // 鐐瑰嚮鏂板 + handleAddpatient(row) { + this.dialogVisiblepatient = true; + this.patientqueryParams.hospitalno = this.form.hospitalno; + this.patientqueryParams.paymentid = null; + this.patientqueryParams.paymentidIsNotNull = false; + listDonorchargeorgan(this.patientqueryParams).then(res => { + this.donorchargeList = res.rows; + this.patienttotal = res.total; + this.patientqueryParams.paymentidIsNotNull = true; + console.log(this.donorchargeList); + }); + }, // 鑾峰彇璇锋眰澶� Getnetworkheader() { let string = window.location.href; @@ -503,19 +871,6 @@ this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃 } }, - // 鍙戠エ鍒囨崲 - handleClick(tab, event) { - if (this.activeName == 1) { - this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; - } else { - this.pdftitle = "鍏�" + this.invoicepdfimgsrcList.length + "椤�"; - } - }, - - getIndexInArray(arr, obj) { - return arr.indexOf(obj); - }, - // 琛ㄥ崟閲嶇疆 reset() { this.form = { @@ -547,6 +902,7 @@ this.operationType = this.$route.query.operation; this.curId = this.$route.query.id; this.curCase = this.$route.query.data; + this.patientqueryParams.paymentid = this.curId; console.log("this.$route.query", this.$route.query); if (this.operationType == "add") { @@ -562,6 +918,9 @@ this.handleDetail(); console.log("3"); } + listDonorcharge({ pageNum: 1, pageSize: 10000 }).then(response => { + this.donorchargeanlList = response.rows; + }); }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ @@ -576,186 +935,116 @@ this.$router.go(-1); }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.id); - this.single = selection.length !== 1; - this.multiple = !selection.length; - }, - /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { this.reset(); - this.open = true; this.title = "鏂板鎹愮尞妗堜緥鍣ㄥ畼璐圭敤琛�"; if (this.curCase) { this.form.infoid = this.curCase.id; - this.form.donateno = this.curCase.donorno; - this.form.donatetime = this.curCase.donatetime; - this.form.name = this.curCase.name; + this.form.paystatus = "1"; + this.form.hospitalname = this.curCase.organizationname; + this.form.hospitalno = this.curCase.organizationid; this.form.borthdate = this.curCase.birthday; - this.form.sex = this.curCase.sex; - this.form.age = this.curCase.age; - this.form.donationcategory = this.curCase.donationcategory; - - //鑾峰彇瀹屾垚鐧昏鐨勫櫒瀹樿〃 - if (this.curCase.id > 0) { - } else { - this.curCase.id = 0; - } - let searchParam = { - infoid: this.curCase.id - }; - listDonatecomporgan(searchParam).then(res => { - if (res.code == 200) { - // 鏌ヨ鍣ㄥ畼璐圭敤琛� - let tempParam = { - organcode: null, - organname: null, - charge: null - }; - listOrgancharge(tempParam).then(res1 => { - if (res1.code == 200) { - this.organchargelist = res1.rows; - } - - //鎻掑叆鍣ㄥ畼琛� - res.rows.forEach(item => { - //鑾峰彇璐圭敤閲戦 - this.organchargelist.map(rescharge => { - if (rescharge.organcode == item.organno) { - this.donorchargeorgans.push({ - organno: item.organno, - organname: item.organname, - organcharge: rescharge.charge, - infoid: item.infoid, - hospitalname: item.transplanthospitalname, - hospitalno: item.transplanthospitalno, - organtime: item.transplanttime, - chargestate: "0" - }); - } - }); - }); - }); - } - }); } }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate() { this.reset(); - this.open = true; - this.title = "淇敼鎹愮尞妗堜緥鍣ㄥ畼璐圭敤琛�"; + this.title = "鏀舵缁撶畻鐢宠鍗曠紪杈�"; - getDonorcharge(this.curId).then(response => { - this.form = response.data; - console.log("getDonorcharge", response); - + listDonorpayment({ id: this.curId }).then(response => { + this.form = response.rows[0]; //鍣ㄥ畼璐圭敤淇℃伅 - this.organParams.donorchargeid = this.curId; - console.log("this.organParams", this.organParams); - listDonorchargeorgan(this.organParams).then(res => { + listDonorchargeorgan(this.patientqueryParams).then(res => { console.log("listDonorchargeorgan", res); this.donorchargeorgans = res.rows; console.log(this.donorchargeorgans, "donorchargeorgans"); - if (this.donorchargeorgans.length > 0) { - } else { - this.addRow(0); - } }); }); }, - /** 淇敼鏌ョ湅鎿嶄綔 */ + /** 鏌ョ湅鎿嶄綔 */ handleDetail() { this.reset(); - this.open = true; - - getDonorcharge(this.curId).then(response => { - this.form = response.data; - this.open = true; + listDonorpayment({ id: this.curId }).then(response => { this.title = "鏌ョ湅鎹愮尞妗堜緥鍣ㄥ畼璐圭敤琛�"; - + this.form = response.rows[0]; //鍣ㄥ畼璐圭敤淇℃伅 - this.organParams.donorchargeid = this.curId; - listDonorchargeorgan(this.organParams).then(res => { + listDonorchargeorgan(this.patientqueryParams).then(res => { + console.log("listDonorchargeorgan", res); this.donorchargeorgans = res.rows; - if (this.donorchargeorgans.length > 0) { - } else { - this.addRow(0); - } + console.log(this.donorchargeorgans, "donorchargeorgans"); }); }); }, /** 鎻愪氦淇濆瓨鎸夐挳 */ - submitForm: debounce(function(data) { + submitForm() { + this.chargeSum(); this.$refs["form"].validate(valid => { if (valid) { - //鏍¢獙銆佽垂鐢ㄥ悎璁� - let ChargeSum = 0; - let ChargeamountSum = 0; - let organname = ""; - - try { - for (let i = 0; i < this.donorchargeorgans.length; i++) { - organname += this.donorchargeorgans[i].organname + ","; - if (!isNaN(parseFloat(this.donorchargeorgans[i].organcharge))) { - ChargeSum += parseFloat(this.donorchargeorgans[i].organcharge); - } - if (!isNaN(parseFloat(this.donorchargeorgans[i].amount))) { - ChargeamountSum += parseFloat(this.donorchargeorgans[i].amount); - } - } - this.form.donateorgan = organname.substring( - 0, - organname.lastIndexOf(",") - ); - this.form.chargeamount = ChargeSum.toFixed(2); - this.form.chargeamounted = ChargeamountSum.toFixed(2); - } catch {} + this.$modal.loading("姝e湪鎻愪氦锛岃绋嶅�欙紒"); //淇濆瓨 if (this.form.id != null) { for (let k = 0; k < this.donorchargeorgans.length; k++) { - this.donorchargeorgans[k].donorchargeID = this.form.id; + this.donorchargeorgans[k].paymentid = this.form.id; } - updateDonorcharge(this.form).then(res1 => { + editDonorpayment(this.form).then(res1 => { if (res1.code == 200) { saveDonorchargeorgan(this.donorchargeorgans).then(res2 => { if (res2.code == 200) { this.$modal.msgSuccess("淇濆瓨鎴愬姛锛�"); - this.open = false; + } else { + this.$modal.msgError(res2.msg); } + this.$modal.closeLoading(); }); + } else { + this.$modal.closeLoading(); + this.$modal.msgError(res1.msg); } }); } else { - addDonorcharge(this.form).then(response => { + addDonorpayment(this.form).then(response => { if (response.code == 200) { - console.log("addDonorcharge", response); + this.form.id = response.msg; //淇濆瓨鍓嶆牎楠屾暟鎹� for (let k = 0; k < this.donorchargeorgans.length; k++) { - this.donorchargeorgans[k].donorchargeid = response.data.id; + this.donorchargeorgans[k].paymentid = response.msg; } saveDonorchargeorgan(this.donorchargeorgans).then(res2 => { if (res2.code == 200) { this.$modal.msgSuccess("淇濆瓨鎴愬姛锛�"); - this.open = false; + } else { + this.$modal.msgError(res2.msg); } }); + this.$modal.closeLoading(); + } else { + this.$modal.msgError(response.msg); + this.$modal.closeLoading(); } }); } } }); - }, 500), + }, + //淇敼鎬诲疄鏀跺悗瑙﹀彂 - //璁$畻璐圭敤鍚堣 + chargeSumall() { + if (this.form.receivedamount == this.form.receivableamount) { + this.donorchargeorgans.forEach(item => { + item.amount = item.organcharge; + }); + } else { + this.$modal.msgError("娉ㄦ剰瀹炴敹閲戦涓嶇瓑浜庡簲鏀堕噾棰濓紝璇锋牳瀵规暟鎹紒"); + } + }, + //淇敼瀹炴敹鎴栧簲鏀跺悗瑙﹀彂 chargeSum() { let ChargeSum = 0; let ChargeamountSum = 0; @@ -770,10 +1059,28 @@ ChargeamountSum += parseFloat(this.donorchargeorgans[i].amount); } } - - this.form.chargeamount = ChargeSum.toFixed(2); - this.form.chargeamounted = ChargeamountSum.toFixed(2); + this.form.receivableamount = ChargeSum.toFixed(2); + this.form.receivedamount = ChargeamountSum.toFixed(2); } catch {} + }, + + handleDelete(row) { + this.$modal + .confirm("鏄惁纭鍒犻櫎璇ユ潯鍣ㄥ畼璐圭敤鏁版嵁椤癸紵") + .then(() => { + let value = row; + value.paymentid = null; + this.delogans.push(value); + + saveDonorchargeorgan(this.delogans).then(res2 => { + if (res2.code == 200) { + let index = this.donorchargeorgans.indexOf(row); + this.donorchargeorgans.splice(index, 1); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛锛�"); + } + }); + }) + .catch(() => {}); }, //琛ㄦ牸鍚堣 @@ -783,26 +1090,21 @@ var columnnames = [ "organno", "organname", - "amount", "amounttime", - "organcharge", + "organchargedesc", "hospitalname", "organtime", - "remark" + "remark", + "name", + "caseno", + "receiveTime" ]; columns.forEach((column, index) => { if (index === 0) { sums[index] = "鍚堣"; return; } - // if (index === 2) { - // sums[index] = this.form.chargeamounted; - // return; - // } - // if (index === 4) { - // sums[index] = this.form.chargeamount; - // return; - // } + //鍘婚櫎閮ㄥ垎瀛楁璁$畻 if (columnnames.indexOf(column.property) > -1) { return; @@ -824,6 +1126,192 @@ } }); return sums; + }, + // 鏂囦欢------------------------ + remove(file, fileList) { + const donorchargeorgans = [...this.donorchargeorgans]; + + this.fileListto.splice(this.fileListto.indexOf(file), 1); + donorchargeorgans[this.atpresent].annexFilesList = this.fileListto; + }, + + uploadSccess(response, file, fileList) { + this.donorchargeorgans; + const config = { + headers: { Authorization: "Bearer " + this.ICDtoken } + }; + const pdfimg = this.Networkheader + "/prod-api" + response.fileName; + //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 + if (response.code == 200) { + 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); + + console.log(this.fileListto, "鏂板鍚�"); + if (!this.donorchargeorgans[this.atpresent].annexFilesList) { + this.donorchargeorgans[this.atpresent].annexFilesList = []; + } + this.donorchargeorgans[this.atpresent].annexFilesList.push({ + name: file.name, + url: response.fileName + }); + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + } else { + console.log(response.msg); + } + }, + + // 鐐瑰嚮绁ㄦ嵁 + Filepopup(index, row) { + const config = { + headers: { Authorization: "Bearer " + this.ICDtoken } + }; + + this.tableDatatop = []; + this.fileListto = []; + this.invoicefileListto = []; + this.pdfimg = ""; + this.invoicepdfimg = []; + this.pdfimgsrcList = []; + this.invoicepdfimgsrcList = []; + this.tableDatatop.push(row); + this.atpresent = index; + this.pdfVisible = true; + + if (this.donorchargeorgans[index].annexFilesList) { + const fetchPromises = this.donorchargeorgans[index].annexFilesList.map( + (value, indexson) => { + const pdfimg = this.Networkheader + "/prod-api" + value.url; + return fetch(pdfimg, config) + .then(response => response.blob()) + .then(blob => { + return { + name: value.name, + url: URL.createObjectURL(blob) + }; + }) + .catch(error => { + console.error("Error loading image", error); + return null; + }); + } + ); + + Promise.all(fetchPromises).then(fileListto => { + this.fileListto = fileListto.filter(item => item !== null); + this.pdfimg = this.fileListto[0].url; + console.log(this.pdfimg, "pdfimg"); + this.pdfimgsrcList = this.fileListto.map(item => item.url); + }); + + this.previewpdf = true; + } else { + this.fileListto = []; + this.pdfimg = ""; + this.pdftitle = ""; + } + + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + + console.log(this.fileListto, "this.fileListto"); + console.log( + this.donorchargeorgans[index].annexFilesList, + "annexFilesList" + ); + }, + + // 鐐瑰嚮宸蹭笂浼犳枃浠� + downFile(item) { + this.pdftitle = + "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; + let name = item.name.split("."); + if (name[1] == "pdf") { + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + } else if (name[1] == "jpg" || "png") { + console.log(item, "灞曠ず"); + this.previewpdf = true; + if (item.url) { + this.pdfimg = item.url; + } else { + this.pdfimg = ""; + } + } else { + this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; + this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); + this.previewpdf = false; + } + }, + getIndexInArray(arr, obj) { + return arr.indexOf(obj); + }, + // 鍙戠エ鍒囨崲 + handleClick(tab, event) { + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + }, + // 鐐瑰嚮鍒犻櫎 + deletedowfile(row) { + console.log(row); + let indexvalue = ""; + 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.donorchargeorgans[this.atpresent].annexFilesList); + indexvalue = this.donorchargeorgans[ + this.atpresent + ].annexFilesList.findIndex(item => item.name == row.name); + console.log(indexvalue, "鍒犻櫎绱㈠紩"); + this.donorchargeorgans[this.atpresent].annexFilesList.splice( + indexvalue, + 1 + ); + }, + // 鐐瑰嚮涓婄Щ + moveupdowfile(row) { + const index = this.fileListto.findIndex(item => item.name == row.name); + const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + + const indexann = this.donorchargeorgans[ + this.atpresent + ].annexFilesList.findIndex(item => item.name == row.name); + const itemann = this.donorchargeorgans[ + this.atpresent + ].annexFilesList.splice(indexann, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.donorchargeorgans[this.atpresent].annexFilesList.splice( + indexann - 1, + 0, + itemann + ); // 灏唅temann鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + console.log(indexann, "indexann"); + console.log(index, "index"); + + console.log( + this.donorchargeorgans[this.atpresent].annexFilesList, + "annexFilesList" + ); + console.log(this.fileListto, "fileListto"); + // console.log(this.donorchargeorgans[this.atpresent].invoicefilesList,'invoicefilesList'); + }, + Downloadfile(row) { + window.location.href = row.url; } } }; @@ -897,9 +1385,60 @@ text-align: center; } } -.button-delete{ +.headlines { + font-size: 25px; + display: flex; + width: 96%; + justify-content: space-between; + padding-left: 5px; + margin-bottom: 10px; + border-left: 5px solid rgb(65, 161, 190); +} +.button-delete { color: rgb(236, 69, 69); } +.examine-jic { + .headline { + font-size: 24px; + border-left: 5px solid #41a1be; + padding-left: 5px; + margin-bottom: 10px; + display: flex; + justify-content: space-between; + .Add-details { + font-size: 18px; + color: #02a7f0; + cursor: pointer; + } + } + .jic-value { + font-size: 20px; + border-top: 1px solid #a7abac; + padding: 10px; + margin-bottom: 10px; + .details-jic { + padding: 10px 15px; + 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); + .details-title { + display: flex; + justify-content: space-between; + margin-bottom: 10px; + div:nth-child(2) { + color: #02a7f0; + cursor: pointer; + } + } + .details-renw { + background: #e4ebfc; + padding: 15px 5px; + border-radius: 5px; + margin-bottom: 20px; + } + } + } +} ::v-deep .el-input--medium .el-input__inner { height: 36px; -- Gitblit v1.9.3