From 2698387e653c6a25059c3ae9976f18b814eba892 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期五, 12 九月 2025 15:16:46 +0800
Subject: [PATCH] 医疗权限
---
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