From 8022f7036945b75f82f2dfc43055623f81ed98f6 Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期五, 23 五月 2025 22:42:56 +0800 Subject: [PATCH] yxh --- src/views/project/unitCost/index.vue | 575 +++++++++++--------------------------------------------- 1 files changed, 118 insertions(+), 457 deletions(-) diff --git a/src/views/project/unitCost/index.vue b/src/views/project/unitCost/index.vue index 46c2196..11d4e41 100644 --- a/src/views/project/unitCost/index.vue +++ b/src/views/project/unitCost/index.vue @@ -1,433 +1,85 @@ <template> <div class="app-container"> - <el-form - :model="queryParams" - ref="queryForm" - :inline="true" - v-show="showSearch" - label-width="120px" - > - <el-form-item label="浠樻鍖婚櫌" prop="name"> - <el-input - v-model="queryParams.name" - placeholder="璇疯緭鍏ュ鍚�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="120px"> + <el-form-item label="鍖荤枟鏈烘瀯" prop="name"> + <el-input v-model="queryParams.name" placeholder="璇疯緭鍏ュ尰鐤楁満鏋�" clearable size="small" + @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="鏀舵骞村害" prop="donationcategory"> - <el-input - v-model="queryParams.donationcategory" - placeholder="璇疯緭鍏ユ崘鐚被鍒�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> + <el-input v-model="queryParams.donationcategory" placeholder="璇疯緭鍏ユ煡璇㈡椂闂�" clearable size="small" + @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="鏀舵鐘舵��" prop="chargeamount"> - <el-input - v-model="queryParams.chargeamount" - placeholder="璇疯緭鍏ヨ垂鐢ㄩ噾棰�" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> + <el-form-item label="鏀舵閲戦" prop="chargeamount"> + <el-input v-model="queryParams.chargeamount" placeholder="璇疯緭鍏ユ敹娆鹃噾棰�" clearable size="small" + @keyup.enter.native="handleQuery" /> </el-form-item> <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-form> - <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> - <el-button - type="primary" - plain - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:donorcharge:add']" - >鏂板</el-button - > + <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" + v-hasPermi="['system:donorcharge:add']">鏂板</el-button> </el-col> <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:donorcharge:edit']" - >淇敼</el-button - > + <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" + v-hasPermi="['system:donorcharge:edit']">淇敼</el-button> </el-col> <el-col :span="1.5"> - <el-button - type="danger" - plain - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:donorcharge:remove']" - >鍒犻櫎</el-button - > + <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" + v-hasPermi="['system:donorcharge:remove']">鍒犻櫎</el-button> </el-col> - <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - ></right-toolbar> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> - <el-table - v-loading="loading" - :data="donorchargeList" - @selection-change="handleSelectionChange" - > - <el-table-column - label="鐢宠鏃堕棿" - align="center" - prop="createTime" - width="180" - > + <el-table v-loading="loading" :data="donorchargeList" @selection-change="handleSelectionChange"> + <el-table-column label="鐢宠鏃堕棿" align="center" prop="createTime" width="180"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span> </template> </el-table-column> - <el-table-column label="鏀舵鍗曞彿" align="center" prop="paymentno" /> - <el-table-column - label="浠樻鍖婚櫌" - width="180" - align="center" - prop="hospitalname" - /> + <el-table-column label="鐢宠鍗曞彿" align="center" prop="paymentno" /> + <el-table-column label="鍖荤枟鏈烘瀯" width="180" align="center" prop="hospitalname" /> - <el-table-column label="鐘舵��" align="center" prop="paystatus"> + <el-table-column label="浠樻鐘舵��" align="center" prop="paystatus"> <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_gathering" - :value="scope.row.paystatus" - /> + <dict-tag :options="dict.type.Collection_status" :value="scope.row.paystatus" /> </template> </el-table-column> - <el-table-column - label="搴旀敹閲戦" - align="center" - prop="receivableamount" - /> - <el-table-column label="宸叉敹閲戦" align="center" prop="receivedamount" /> - <el-table-column label="鏀舵鏃ユ湡" align="center" prop="receivedtime" /> - <el-table-column label="缁忓姙浜�" align="center" prop="updateBy" /> + <el-table-column label="搴旀敹閲戦" align="center" prop="receivableamount" /> + <el-table-column label="瀹炴敹閲戦" align="center" prop="receivedamount" /> + <el-table-column label="鏀舵鏃ユ湡" width="180" align="center" prop="receivedtime"><template slot-scope="scope"> + <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span> + </template> + </el-table-column> + <el-table-column label="缁忓姙浜�" align="center" prop="userName" /> <el-table-column label="鎿嶄綔" width="280" align="center"> <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:donorcharge:edit']" - >淇敼</el-button - > - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleDetail(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-edit" @click="handleUpdate(scope.row)" + v-hasPermi="['system:donorcharge:edit']">淇敼</el-button> + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(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="primary" @click="download(scope.row.id)" icon="el-icon-download" + circle></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" - :visible.sync="open" - append-to-body - align="center" - :close-on-click-modal="false" - width="1200px" - > - <el-form ref="form" :model="form" :rules="rules" label-width="100px"> + <el-dialog :visible.sync="showSelectionDialog" :close-on-click-modal="false" :title="'璇烽�夋嫨鏀舵鍗曠殑鍖荤枟鏈烘瀯'" width="500px" + style="text-align: center" v-loading="loading"> + <el-form ref="selectionForm" :model="selectionForm" label-width="100px"> <el-row> - <el-col :span="12" - ><el-form-item label="OPO缂栧彿" prop="donateno"> - <el-input v-model="form.donateno" placeholder="璇疯緭鍏PO缂栧彿" /> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="濮撳悕" prop="name"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ュ鍚�" /> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="鎹愮尞鏃堕棿" prop="donatetime"> - <el-date-picker - clearable - size="small" - v-model="form.donatetime" - type="date" - value-format="yyyy-MM-dd" - style="width: 174px" - placeholder="閫夋嫨鎹愮尞鏃堕棿" - > - </el-date-picker> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="6" - ><el-form-item label="鍑虹敓骞存湀" prop="borthdate"> - <el-date-picker - clearable - size="small" - v-model="form.borthdate" - type="date" - value-format="yyyy-MM-dd" - style="width: 174px" - placeholder="閫夋嫨鍑虹敓骞存湀" - > - </el-date-picker> </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 label="鎬у埆" prop="sex"> - <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆"> - <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> - </el-select> </el-form-item - ></el-col> - <el-col :span="6" - ><el-form-item label="鎹愮尞绫诲埆" prop="donationcategory"> - <el-input - v-model="form.donationcategory" - placeholder="璇疯緭鍏ユ崘鐚被鍒�" - /> </el-form-item - ></el-col> - </el-row> - <el-row> - <el-col :span="6" - ><el-form-item label="鎹愮尞妗堜緥ID" prop="infoid"> - <el-input - v-model="form.infoid" - placeholder="璇疯緭鍏ユ崘鐚渚婭D" - /> </el-form-item - ></el-col> - <el-col :span="6" - ><el-form-item label="鎹愮尞鍣ㄥ畼" prop="donateorgan"> - <el-input - v-model="form.donateorgan" - placeholder="璇疯緭鍏ユ崘鐚殑鍣ㄥ畼" - /> </el-form-item - ></el-col> - <el-col :span="6" - ><el-form-item label="搴旀敹璐圭敤" prop="chargeamount"> - <el-input - v-model="form.chargeamount" - placeholder="璇疯緭鍏ュ簲鏀惰垂鐢�" - /> </el-form-item - ></el-col> - <el-col :span="6" - ><el-form-item label="宸叉敹璐圭敤" prop="chargeamounted"> - <el-input - v-model="form.chargeamounted" - placeholder="璇疯緭鍏ュ凡鏀惰垂鐢�" - /> </el-form-item - ></el-col> </el-row - ><el-row> - <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-table - :data="donorchargerogans" - v-loading="loading" - max-height="1200" - border - highlight-current-row - > - <el-table-column - prop="orderno" - align="center" - label="搴忓彿" - width="80" - > - <template slot-scope="scope"> - <el-input v-model="scope.row.orderno" placeholder="搴忓彿" /> - </template> - </el-table-column> - <el-table-column - prop="organno" - align="center" - label="鍣ㄥ畼缂栧彿" - width="90" - > - <template slot-scope="scope"> - <el-input v-model="scope.row.organno" placeholder="鍣ㄥ畼缂栧彿" /> - </template> - </el-table-column> - <el-table-column - prop="organname" - align="center" - label="鍣ㄥ畼鍚嶇О" - width="100" - > - <template slot-scope="scope"> - <el-input - v-model="scope.row.organname" - placeholder="鍣ㄥ畼鍚嶇О" - /> - </template> - </el-table-column> - <el-table-column - prop="hospitalname" - align="center" - label="鎺ユ敹鍖婚櫌" - width="200" - > - <template slot-scope="scope"> - <el-input - v-model="scope.row.hospitalname" - placeholder="鎺ユ敹鍖婚櫌" - /> - </template> - </el-table-column> - <el-table-column - prop="amounttime" - align="center" - label="鎺ユ敹鏃堕棿" - width="120" - > - <template slot-scope="scope"> - <el-date-picker - clearable - size="small" - style="width: 100%" - v-model="scope.row.amounttime" - type="date" - value-format="yyyy-MM-dd HH:mm:ss" - placeholder="鎺ユ敹鏃堕棿" - > - </el-date-picker> - </template> - </el-table-column> - <el-table-column - prop="amount" - align="center" - label="宸叉敹璐圭敤" - width="120" - > - <template slot-scope="scope"> - <el-input v-model="scope.row.amount" placeholder="宸叉敹璐圭敤" /> - </template> - </el-table-column> - <el-table-column - prop="amounttime" - align="center" - label="鏀舵鏃堕棿" - width="120" - > - <template slot-scope="scope"> - <el-date-picker - clearable - size="small" - style="width: 100%" - v-model="scope.row.amounttime" - 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="organcharge" - align="center" - label="鏍囧噯璐圭敤" - width="120" - > - <template slot-scope="scope"> - <el-input - v-model="scope.row.organcharge" - placeholder="宸叉敹璐圭敤" - /> - </template> - </el-table-column> - <el-table-column prop="remark" align="center" label="澶囨敞"> - <template slot-scope="scope"> - <el-input v-model="scope.row.remark" placeholder="澶囨敞" /> - </template> - </el-table-column> - </el-table> - </el-row> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> - <el-button @click="cancel">鍙� 娑�</el-button> - </div> - </el-dialog> - - <el-dialog - :visible.sync="showSelectionDialog" - :close-on-click-modal="false" - :title="'璇烽�夋嫨鎹愮尞妗堜緥'" - width="500px" - style="text-align: center" - v-loading="loading" - > - <el-form ref="selectionForm" :model="selectionForm"> - <el-row> - <el-form-item - align="left" - label="鍖荤枟鏈烘瀯" - prop="treatmenthospitalno" - > - <org-selecter - ref="addOrgSelect" - :org-type="'3'" - v-model="selectionForm.donorid" - /> + <el-form-item align="left" label="鍖荤枟鏈烘瀯锛�" prop="treatmenthospitalno"> + <org-selecter ref="addOrgSelect" :org-type="'4'" v-model="selectionForm.itemid" /> </el-form-item> </el-row> </el-form> @@ -444,19 +96,21 @@ import { listDonorcharge, getDonorcharge, - delDonorcharge, + delDonorpayment, addDonorcharge, updateDonorcharge, exportDonorcharge, - listDonorpayment + listDonorpayment, + dyDonorpayment } from "@/api/project/donorcharge"; -import { listOrganization, } from "@/api/project/organization"; +import { listOrganization } from "@/api/project/organization"; import OrgSelecter from "@/views/project/components/orgselect"; +import { getToken } from "@/utils/auth"; export default { name: "Donorcharge", - dicts: ["sys_gathering"], + dicts: ["Collection_status"], components: { OrgSelecter }, @@ -481,21 +135,21 @@ // 鎹愮尞妗堜緥鍣ㄥ畼鍒楄〃鏍兼暟鎹� donorchargeList: [], donorchargerogans: [], + //鎹愮尞妗堜緥閫夋嫨 showSelectionDialog: false, donorlist: [], donorinfolist: [], selectionForm: { index: null, - donorid: null, - donorname: null + itemid: null, + itemname: null }, loadingdonorlist: false, // 寮瑰嚭灞傛爣棰� title: "", // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, // 鏌ヨ璐圭敤琛ㄥ弬鏁� queryParams: { pageNum: 1, @@ -517,6 +171,9 @@ pageSize: 10, donorchargeid: null }, + headers: { + Authorization: "Bearer " + getToken() + }, // 琛ㄥ崟鍙傛暟 form: {}, // 琛ㄥ崟鏍¢獙 @@ -531,18 +188,28 @@ //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨 confirmSelection() { var curdonorinfo = null; - console.log(this.selectionForm.donorid,'donorid'); + console.log(this.selectionForm.itemid, "itemid"); //浠庢渚嬪垪琛ㄨ幏鍙栦俊鎭� this.donorinfolist.map(item => { - if (this.selectionForm.donorid == item.id) { + if (this.selectionForm.itemid == item.id) { curdonorinfo = item; } }); - this.showSelectionDialog = false; - this.$router.push({ - path: "/cost/particulars", - query: { id: 0, operation: "add", data: curdonorinfo } + let searchData = { + organizationid: this.selectionForm.itemid //浼犲叆鐨勭被鍨� + }; //鎼滅储鏉′欢 + listOrganization(searchData).then(res => { + if (res.code == 200) { + curdonorinfo = res.rows[0]; + this.$router.push({ + path: "/cost/particulars", + query: { id: 0, operation: "add", data: curdonorinfo } + }); + } else { + this.$message.error(res.msg); + } }); + this.showSelectionDialog = false; }, /** 鏌ヨ鎹愮尞妗堜緥鍣ㄥ畼鍒楀垪琛� */ @@ -553,21 +220,8 @@ this.total = response.total; this.loading = false; }); - let searchData = { - organizationtype: '3', //浼犲叆鐨勭被鍨� - pageNum: 1, - pageSize: 100000 - }; //鎼滅储鏉′欢 - listOrganization(searchData).then(res => { - console.log(res); - }); }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, // 琛ㄥ崟閲嶇疆 reset() { this.form = { @@ -611,8 +265,8 @@ /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { this.selectionForm.index = null; - this.selectionForm.donorid = null; - this.selectionForm.donorname = null; + this.selectionForm.itemid = null; + this.selectionForm.itemname = null; if (this.donorlist[0]) { this.showSelectionDialog = true; @@ -631,8 +285,8 @@ this.donorinfolist.forEach(item1 => { this.donorlist.push({ - donorid: item1.id, - donorname: item1.name + itemid: item1.id, + itemname: item1.name }); }); console.log(this.donorinfolist, " this.donorinfolist"); @@ -642,13 +296,6 @@ this.showSelectionDialog = true; } - - /** - this.reset(); - this.open = true; - this.title = "鎹愮尞妗堜緥鍣ㄥ畼璐圭敤鎯呭喌"; - this.donorchargerogans = []; - */ }, /** 淇敼鎸夐挳鎿嶄綔 */ @@ -666,20 +313,55 @@ query: { id: row.id, operation: "detail", data: row } }); }, + // 鎵撳嵃 + download(id) { + // const id =this.row.id + dyDonorpayment(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"]; + 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); + }); + }); + }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { const ids = row.id || this.ids; this.$modal .confirm('鏄惁纭鍒犻櫎鎹愮尞妗堜緥鍣ㄥ畼鍒楃紪鍙蜂负"' + ids + '"鐨勬暟鎹」锛�') - .then(function() { - return delDonorcharge(ids); + .then(function () { + return delDonorpayment(ids); }) .then(() => { this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => {}); + .catch(() => { }); }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ @@ -695,28 +377,7 @@ this.$download.name(response.msg); this.exportLoading = false; }) - .catch(() => {}); - }, - - /** 鎻愪氦鎸夐挳 */ - submitForm() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.id != null) { - updateDonorcharge(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addDonorcharge(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); + .catch(() => { }); } } }; -- Gitblit v1.9.3