From d839943b0d194c14c1599f81a17105e7223a5075 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期五, 26 七月 2024 18:29:09 +0800 Subject: [PATCH] 11 --- src/api/project/donatebaseinfo.js | 7 src/views/project/DonationProcess/index.vue | 1820 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/project/indexstatistics/components/organnumchart/index.vue | 17 src/views/project/indexstatistics/index.vue | 27 4 files changed, 1,867 insertions(+), 4 deletions(-) diff --git a/src/api/project/donatebaseinfo.js b/src/api/project/donatebaseinfo.js index 5bc8517..ec3f7dd 100644 --- a/src/api/project/donatebaseinfo.js +++ b/src/api/project/donatebaseinfo.js @@ -8,6 +8,13 @@ params: query }) } +export function listDonationProcess(query) { + return request({ + url: '/VDonationworkflow/donationworkflow/list', + method: 'get', + params: query + }) +} // 鏌ヨ鎹愮尞鍩虹璇︾粏 export function getDonatebaseinfo(id) { diff --git a/src/views/project/DonationProcess/index.vue b/src/views/project/DonationProcess/index.vue new file mode 100644 index 0000000..82bd756 --- /dev/null +++ b/src/views/project/DonationProcess/index.vue @@ -0,0 +1,1820 @@ +<template> + <div class="app-container"> + <el-form + :model="queryParams" + ref="queryForm" + :inline="true" + v-show="showSearch" + label-width="70px" + > + <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> + <el-button + type="primary" + icon="el-icon-search" + size="mini" + @click="handleQuery" + >鎼滅储</el-button + > + </el-form-item> + </el-form> + + <!-- <el-col :span="1.5"> + <el-button + type="success" + plain + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['project:donatebaseinfo:edit']" + >淇敼</el-button + > + </el-col> --> + + <el-table + v-loading="loading" + :data="donatebaseinfoList" + @selection-change="handleSelectionChange" + border + :default-sort="{ prop: 'donatetime', order: 'descending' }" + > + <!-- <el-table-column label="鎶ュ憡鏃堕棿" align="center" prop="id" /> --> + <!-- <el-table-column type="selection" width="55" align="center" /> --> + <el-table-column + label="妗堜緥鏃堕棿" + align="center" + prop="donatetime" + width="100" + > + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span> + </template> + </el-table-column> + <el-table-column label="濮撳悕" align="center" prop="name" width="100" /> + + <el-table-column + label="璇佷欢鍙风爜" + align="center" + prop="idcardno" + width="200" + /> + + <el-table-column label="閮ㄩ棬鍚嶇О" align="center" prop="deptname" /> + + <el-table-column + label="鎶ュ憡浜�" + align="center" + prop="reportername" + width="100" + /> + <el-table-column + label="鎶ュ憡鏃堕棿" + align="center" + prop="reporttime" + width="100" + > + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.reporttime, "{y}-{m}-{d}") }}</span> + </template> + </el-table-column> + + <el-table-column + label="鍖诲璇勪及缁撹" + align="center" + prop="coreteamassessconclusion" + width="100" + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_BaseAssessConclusion" + :value="scope.row.coreteamassessconclusion" + /> + </template> + </el-table-column> + <el-table-column + label="鍖诲璇勪及鏃堕棿" + align="center" + prop="coreteamassesstime" + width="100" + > + <template slot-scope="scope"> + <span>{{ + parseTime(scope.row.coreteamassesstime, "{y}-{m}-{d}") + }}</span> + </template> + </el-table-column> + <el-table-column + label="浜插睘纭鏃堕棿" + align="center" + prop="signdate" + width="100" + > + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.signdate, "{y}-{m}-{d}") }}</span> + </template> + </el-table-column> + <el-table-column + label="浼︾悊瀹℃煡缁撹" + align="center" + prop="expertconclusion" + width="100" + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_EthicalReview" + :value="scope.row.expertconclusion" + /> + </template> + </el-table-column> + <el-table-column + label="浼︾悊瀹℃煡鏃堕棿" + align="center" + prop="conclusiontime" + width="100" + > + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.conclusiontime, "{y}-{m}-{d}") }}</span> + </template> + </el-table-column> + <el-table-column + label="鍣ㄥ畼鍒嗛厤鏁伴噺" + align="center" + prop="organcount" + width="100" + /> + <el-table-column + label="鑾峰彇瑙佽瘉鏃堕棿" + align="center" + prop="operationbegtime" + width="100" + > + <template slot-scope="scope"> + <span>{{ + parseTime(scope.row.operationbegtime, "{y}-{m}-{d}") + }}</span> + </template> + </el-table-column> + <el-table-column + label="瀹屾垚鐧昏鏃堕棿" + align="center" + prop="completetime" + width="100" + > + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.completetime, "{y}-{m}-{d}") }}</span> + </template> + </el-table-column> + <el-table-column + label="鎹愮尞杩涘害" + align="center" + prop="workflow" + width="120" + > + <template slot-scope="scope"> + <div v-if="!scope.row.terminationCase"> + <dict-tag + :options="dict.type.sys_donornode" + :value="scope.row.workflow" + /> + </div> + <div v-else>浠诲姟缁堟</div> + </template> + </el-table-column> + <!-- <el-table-column + label="鎿嶄綔" + align="center" + class-name="small-padding fixed-width" + fixed="right" + > + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['project:donatebaseinfo:edit']" + >璇︽儏</el-button + > + <el-button + v-if="scope.row.recordstate == 0" + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['project:donatebaseinfo:remove']" + >鍒犻櫎</el-button + > + + <el-button + 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" + /> + <!-- 娣诲姞鎴栦慨鏀规崘鐚熀纭�瀵硅瘽妗� --> + <el-dialog + :title="title" + align="center" + :visible.sync="open" + :close-on-click-modal="false" + width="1100px" + > + <el-form + ref="form" + :model="form" + :rules="rules" + label-width="130px" + label-position="right" + > + <div + style=" + border-bottom: 1px solid #ddd; + border-top: 1px solid #ddd; + padding-right: 60px; + " + > + <el-row style="margin-top: 40px"> + <el-col :span="8"> + <el-form-item label="鎹愮尞缂栧彿" prop="donorno"> + <el-input v-model="form.donorno" disabled /> + </el-form-item> + </el-col> + <el-col :span="8"> + <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="8"> + <el-form-item label="绉戝" prop="treatmentdeptno"> + <el-input + v-model="form.treatmentdeptname" + placeholder="璇疯緭鍏ョ瀹�" + /> + </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="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="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 + style="width: 174px" + 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="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-row> + <el-row> + <el-col :span="6"> + <el-form-item label="鍑虹敓鏃ユ湡" prop="birthday"> + <el-date-picker + clearable + size="small" + v-model="form.birthday" + type="date" + style="width: 174px" + 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="鑱屼笟" 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> + </div> + + <div + style=" + border-bottom: 1px solid #ddd; + margin-top: 20px; + padding-right: 60px; + " + > + <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="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> + </div> + + <div + style=" + border-bottom: 1px solid #ddd; + padding-right: 60px; + margin-top: 20px; + " + > + <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="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-row> + <el-col :span="24"> + <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-row> + <el-row> + <el-col :span="8"> + <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="8"> + <el-form-item label="鑱旂郴鐢佃瘽" prop="reporterphone"> + <el-input + v-model="form.reporterphone" + placeholder="璇疯緭鍏ヨ仈绯荤數璇�" + /> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="鎶ュ憡鏃堕棿" align="left" prop="reporttime"> + <el-date-picker + clearable + size="small" + style="width: 190px" + 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> + </div> + <!-- <div style="padding-right: 60px; margin-top: 20px"> + <el-row> + <el-form-item label="闄勪欢" align="left" prop="annexfile"> + <annex-upload ref="annex" :infoid="form.id" :donorno="form.donorno" :flowname="flowname" + :annexno="annexno" /> + </el-form-item> + </el-row> + </div> --> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button v-show="showSaveBtn" type="primary" @click="submitForm" + >淇濆瓨骞跺墠寰�妗堜緥宸ヤ綔鍙�</el-button + > + <el-button + v-show="showTerminationBtn" + type="primary" + @click="submitForm" + >缁堟妗堜緥</el-button + > + <el-button @click="cancel">鍙� 娑�</el-button> + <!-- <el-button @click="handleapproval">鎻愪氦瀹℃牳</el-button> --> + </div> + </el-dialog> + </div> +</template> +<script> +import { getUserProfile } from "@/api/system/user"; +import { + listDonationProcess, + getDonatebaseinfo, + delDonatebaseinfo, + addDonatebaseinfo, + updateDonatebaseinfo, + exportDonatebaseinfo, + downloadbaseinfo, + getDonationNumber, + getdonatorno +} from "@/api/project/donatebaseinfo"; +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 { + listOrganization, + getOrganization, + listReportname, + listUser +} from "@/api/project/organization"; +export default { + components: { + Li_area_select, + OrgSelecter, + AnnexUpload, + ReportName + }, + name: "Donatebaseinfo", + dicts: [ + "sys_Reporter", + "sys_redcrossagency", + "sys_nation", + "sys_occupation", + "sys_education", + "sys_OrganizationType", + "sys_HospitalNature", + "sys_RegionalLevel", + "country", + "sys_user_sex", + "sys_IDType", + "sys_AgeUnit", + "sys_BloodType", + "sys_0_1", + "sys_patientstate", + "sys_DonationCategory", + "sys_Kinship", + "sys_Infectious", + "sys_bloodtype_rhd", + "sys_InfoSources", + "sys_OtherCases", + "sys_DonationStatus", + "sys_DiseaseType", + "sys_SelfWill", + "sys_FamilyRelation", + "sys_donornode", + "sys_EthicalReview", + "sys_BaseAssessConclusion" + ], + data() { + return { + tempRecordState: null, + approvalState: false, + countyname: "", + cuuntry: "", + organizationname: "", + selecttime: "", + + //鐪佸競鍖� + //榛樿鍊艰缃紝鍙负绌� + searchAddress: { + sheng: "", + shi: "", + qu: "", + organizationname: null + }, + residenceAddresss: { + sheng: "娴欐睙鐪�", + shi: "", + qu: "" + }, + registerAddresss: { + sheng: "娴欐睙鐪�", + shi: "", + qu: "" + }, + terminationCaselist: [ + { name: "缁堟鐘舵��", value: 1 }, + { name: "姝e父鐘舵��", value: 0 } + ], + // 閬僵灞� + loading: true, + // 瀵煎嚭閬僵灞� + exportLoading: false, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + // 鎹愮尞鍩虹琛ㄦ牸鏁版嵁 + donatebaseinfoList: [], + // 寮瑰嚭灞傛爣棰� + title: "", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 鑾峰彇缁勭粐鍚嶇О鏃堕棿鑼冨洿 + daterangeReporttime: [], + //鐢ㄦ埛淇℃伅 + currentuser: {}, + + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + donorno: null, + recordstate: null, + // treatmenthospitalno: null, + treatmenthospitalname: null, + name: null, + residenceprovince: null, + residencecity: null, + residencetown: null, + starttime: null, + endtime: null, + city: null, + reportno: null + // organizationname: null, + // organizationtype: null, + // idcardno: null, + // reporterno: null, + // reporttime: null, + }, + // 琛ㄥ崟鍙傛暟 + form: { + id: null, + name: null, + sex: null, + idcardtype: null, + idcardno: null, + age: null, + ageunit: null, + birthday: null, + phone: null, + residenceaddress: null, + nationality: "涓浗", + nativeplace: null, + residenceprovince: null, + nation: null, + residenceprovincename: null, + occupation: null, + residencecity: null, + education: null, + residencecityname: null, + residencetown: null, + residencetownname: null, + residencecommunity: null, + residencecommunityname: null, + residencecountycode: null, + residencecountyname: null, + registeraddress: null, + registerprovince: null, + registerprovincename: null, + registercity: null, + registercityname: null, + registertown: null, + registertownname: null, + registercommunity: null, + registercommunityname: null, + registercountycode: null, + registercountyname: null, + recordstate: null, + treatmenthospitalno: null, + treatmenthospitalname: null, + treatmentdeptname: null, + diagnosisno: null, + diagnosisname: null, + bloodtype: "0", + inpatientno: null, + rhyin: "0", + donorno: null, + donationcategory: null, + illnessoverview: null, + diseasetype: [], + infectious: [], + selfwill: [], + diseasetypeOther: null, + othercases: [], + kinshipwill: 0, + infosources: [], + kinship: [], + redorganno: null, + redorganname: null, + contactperson: null, + infectiousOther: null, + contactnumber: null, + contacttime: null, + reporterno: null, + reportername: null, + patientstate: [], + reporterphone: null, + infosourcesOther: null, + reporttime: null, + delFlag: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + kinshipOther: null, + majorrelatives: null, + familyrelations: null, + acquisitiontissueno: "ZJOPO", + acquisitiontissuename: "娴欐睙鐪佷汉浣撳櫒瀹樿幏鍙栫粍缁�" + }, + //ads + reporters: [], + users: [], + + // 琛ㄥ崟鏍¢獙 + 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" } + ], + // treatmenthospitalno: [{ required: true, message: "璇烽�夋嫨鍖荤枟鏈烘瀯", trigger: "change" }], + 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" + } + ], + // contactnumber: [{required: true,message: "璇疯緭鍏ョ孩鍗佸瓧浼氳仈绯荤數璇�",trigger: "change"}], + acquisitiontissueno: [ + { required: true, message: "鍣ㄥ畼鑾峰彇缁勭粐涓嶈兘涓虹┖", trigger: "blur" } + ], + reporterno: [ + { required: true, message: "璇烽�夋嫨鎶ュ憡浜�", trigger: "blur" } + ], + reporttime: [ + { required: true, message: "璇疯緭鍏ユ姤鍛婃椂闂�", trigger: "blur" } + ], + reporterphone: [ + { required: true, message: "璇疯緭鍏ユ姤鍛婁汉鑱旂郴鐢佃瘽", trigger: "blur" } + ] + }, + //鏄惁鏄剧ず淇濆瓨鎸夐挳 + showSaveBtn: true, + showTerminationBtn: false, + //娴佺▼鍚嶇О + flowname: "娼滃湪鎹愮尞鐧昏", + annexno: "PotentialDonationRegistration", + starttime: "", + endtime: "", + reportlist: [], + reportervalue: "", + headers: { + Authorization: "Bearer " + getToken() + }, + provinceData: [ + { label: "鍏ㄩ儴", value: "" }, + { label: "鏉窞甯�", value: "1" }, + { label: "瀹佹尝甯�", value: "2" }, + { label: "娓╁窞甯�", value: "3" }, + { label: "鍢夊叴甯�", value: "4" }, + { label: "婀栧窞甯�", value: "5" }, + { label: "缁嶅叴甯�", value: "6" }, + { label: "閲戝崕甯�", value: "7" }, + { label: "琛㈠窞甯�", value: "8" }, + { label: "鑸熷北甯�", value: "9" }, + { label: "鍙板窞甯�", value: "A" }, + { label: "涓芥按甯�", value: "B" } + ] + }; + }, + created() { + if (sessionStorage.getItem("donatebaseinfo")) { + this.queryParams = JSON.parse(sessionStorage.getItem("donatebaseinfo")); + console.log(this.queryParams, "queryParams"); + } + }, + + mounted(e) { + // let idd = this.$route.query.userid + // console.log('chuanzhi',idd); + + this.getCurrentUser(); + this.getuserlist(); + this.selectReporters(); + + this.LoadReportList(); + + if (this.$route.params.starttime != null && this.$route.params.endtime) { + this.selecttime = [ + this.$moment(this.$route.params.starttime).format("YYYY-MM-DD"), + this.$moment(this.$route.params.endtime).format("YYYY-MM-DD") + ]; + } + if (this.$route.params.reporterno != "") { + this.reporterno = this.$route.params.reporterno; + } + this.queryParams.terminationcase = this.$route.params.terminationcase; + + if ( + this.$route.params.tempRecordState != "" && + this.$route.params.tempRecordState != undefined + ) { + this.queryParams.recordstate = "" + this.$route.params.tempRecordState; + } + if (this.$route.params.reporterno != "") { + this.reportervalue = this.$route.params.reporterno; + } + if (!this.$route.params.shen != "") { + this.searchAddress.sheng = this.$route.params.shen; + if (!this.$route.params.shi != "") { + this.searchAddress.shi = this.$route.params.shi; + } + if (!this.$route.params.qu) { + this.searchAddress.qu = this.$route.params.qu; + } + } + + if (this.$route.params.city != "") { + this.queryParams.city = this.$route.params.city; + } else { + this.queryParams.city = ""; + } + + this.getTimeList(); + + this.getList(); + }, + + methods: { + getCurrentUser() { + getUserProfile().then(response => { + this.currentuser = response.data; + }); + }, + + LoadReportList() { + listDonationProcess().then(res => { + let list = res.rows; + let reportlist = []; + reportlist.push({ reporterno: "", reportername: "鍏ㄩ儴" }); + list.forEach(element => { + reportlist.push({ + reporterno: element.reporterno, + reportername: element.reportername + }); + }); + + if (reportlist != 0) { + reportlist = this.resetArr(reportlist); + this.reportlist = reportlist; + } + }); + }, + + resetArr(Arr) { + var hash = {}; + Arr = Arr.reduce(function(arr, current) { + hash[current.reporterno] + ? "" + : (hash[current.reporterno] = true && arr.push(current)); + return arr; + }, []); + return Arr; + }, + + getTimeList(e) { + console.log(this.selecttime); + if (this.selecttime != null) { + if (this.selecttime != 0) { + this.endtime = this.selecttime[1]; + this.starttime = this.selecttime[0]; + // if (this.endtime == this.starttime) { + let num = Number(this.endtime.slice(5, 7)); + if (num < 9) { + let mon = Number(this.endtime.slice(6, 7)); + this.endtime = + this.endtime.slice(0, 5) + + "0" + + (mon + 1) + + "-" + + "01" + + " " + + "00" + + ":" + + "00" + + ":" + + "00"; + } + // this.endtime=this.endtime.slice(0,5)骞� + else if (num >= 10) { + this.endtime = + this.endtime.slice(0, 5) + + (num + 1) + + "-" + + "01" + + " " + + "00" + + ":" + + "00" + + ":" + + "00"; + } else { + this.endtime = + this.endtime.slice(0, 5) + + "10" + + "-" + + "01" + + " " + + "00" + + ":" + + "00" + + ":" + + "00"; + } + this.starttime = + this.starttime + " " + "00" + ":" + "00" + ":" + "00"; + // } + } else { + this.starttime = "1998-01-01 00:00:00"; + this.endtime = "2998-01-01 00:00:00"; + } + } else { + this.starttime = "1998-01-01 00:00:00"; + this.endtime = "2998-01-01 00:00:00"; + } + }, + + selectReporters() { + //涓撹亴浜哄憳 + listReportname("zzry").then(res => { + this.reporters = res.data; + }); + }, + + getuserlist() { + //鐢ㄦ埛鍒楄〃 + listUser().then(res => { + this.users = res.data; + }); + }, + + handleapproval(row) { + this.$confirm("鏄惁纭灏嗘渚嬩笂鎶ュ鏍革紵", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + row.recordstate = 1; + updateDonatebaseinfo(row).then(response => { + this.$modal.msgSuccess("涓婃姤瀹℃牳鎴愬姛"); + this.getList(); + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "宸插彇娑堜笂鎶�" + }); + }); + }, + resetapproval(row) { + this.approvalState = false; + // this.reset(); + // const id = row.id || this.ids; + updateDonatebaseinfo(row).then(response => { + row.recordstate = 0; + }); + }, + + 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 {} + }, + // sheng: '娴欐睙鐪�', + // shi: '', + // qu: '', + + // 韬唤璇侀獙璇� + //鏍规嵁韬唤璇佸彿鑷姩鐢熸垚鎬у埆銆佸嚭鐢熸棩鏈熷拰骞撮緞 + inputChange() { + const idCard = this.props.form.getFieldValue("idCard"); + let birthday = ""; + let sex = "0"; + if (idCard.length === 15) { + birthday = `19${idCard.substring(6, 8)}-${idCard.substring( + 9, + 10 + )}-${idCard.substring(11, 12)}`; + sex = idCard[14] % 2 === 0 ? "0" : "1"; + } else { + birthday = `${idCard.substring(6, 10)}-${idCard.substring( + 11, + 12 + )}-${idCard.substring(13, 14)}`; + sex = idCard[16] % 2 === 0 ? "0" : "1"; + } + this.setState({ + birthday, + sex + }); + }, + + /** 鏌ヨ鎹愮尞鍩虹鍒楄〃 */ + getList() { + this.loading = true; + + // 璺宠浆鏃剁殑榛樿杩涘害 + + if (this.reportervalue != "") { + this.queryParams.reportno = this.reportervalue; + } + + if (this.starttime != "") { + this.queryParams.starttime = this.starttime; + } else { + this.queryParams.starttime = ""; + } + if (this.endtime != "") { + this.queryParams.endtime = this.endtime; + } else { + this.queryParams.endtime = ""; + } + console.log(this.queryParams); + + listDonationProcess(this.queryParams).then(response => { + this.donatebaseinfoList = response.rows; + //console.log("listDonationProcess", response.rows); + this.total = response.total; + this.loading = false; + }); + }, + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + id: null, + name: null, + sex: null, + idcardtype: null, + idcardno: null, + age: null, + ageunit: null, + birthday: null, + phone: null, + residenceaddress: null, + nationality: "涓浗", + nativeplace: null, + residenceprovince: null, + nation: null, + residenceprovincename: null, + occupation: null, + residencecity: null, + education: null, + residencecityname: null, + residencetown: null, + residencetownname: null, + residencecommunity: null, + residencecommunityname: null, + residencecountycode: null, + residencecountyname: null, + registeraddress: null, + registerprovince: null, + registerprovincename: null, + registercity: null, + registercityname: null, + registertown: null, + registertownname: null, + registercommunity: null, + registercommunityname: null, + registercountycode: null, + registercountyname: null, + recordstate: null, + treatmenthospitalno: null, + treatmenthospitalname: null, + treatmentdeptname: null, + diagnosisno: null, + diagnosisname: null, + bloodtype: "0", + inpatientno: null, + rhyin: 0, + donorno: null, + donationcategory: null, + illnessoverview: null, + diseasetype: [], + infectious: [], + selfwill: [], + diseasetypeOther: null, + othercases: [], + kinshipwill: 0, + infosources: [], + kinship: [], + redorganno: null, + redorganname: null, + contactperson: null, + infectiousOther: null, + contactnumber: null, + contacttime: null, + reporterno: null, + reportername: null, + patientstate: [], + reporterphone: null, + infosourcesOther: null, + reporttime: null, + delFlag: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + kinshipOther: null, + majorrelatives: null, + familyrelations: null, + acquisitiontissueno: "ZJOPO", + acquisitiontissuename: "娴欐睙鐪佷汉浣撳櫒瀹樿幏鍙栫粍缁�" + }; + + this.resetForm("form"); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.daterangeReporttime = []; + + this.reportervalue = ""; + + this.queryParams = { + doname: null, + pageNum: 1, + pageSize: 10, + name: null, + idcardno: null, + residenceprovince: null, + residencecity: null, + residencetown: null, + // "2" + recordstate: null, + treatmenthospitalname: null, + donorno: null, + acquisitiontissueno: null, + reportername: null, + reporttime: null, + city: null, + treatmenthospitalno: null + }; + this.selecttime = []; + this.getTimeList(); + this.searchAddress = { + sheng: "", + shi: "", + qu: "", + organizationname: null + }; + //this.$refs.areaSelect.clean(); + + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.id); + this.single = selection.length !== 1; + this.multiple = !selection.length; + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + // this.$router.push({ + // path: "/organ/donationdetails/", + // query: { + // organType: "add", + // } + // }); + this.reset(); + //璁剧疆鎶ュ憡浜哄拰閮ㄩ棬/缁� + this.form.reporterno = this.currentuser.userName; + this.form.reportername = this.currentuser.nickName; + this.form.deptid = this.currentuser.deptid; + + this.showSaveBtn = true; + //this.$refs.annex.getAnnexList(); + this.open = true; + // this.$nextTick(function() { + // this.$refs.annex.getAnnexList(); + // }); + + this.title = "浜轰綋鍣ㄥ畼娼滃湪鎹愮尞鑰呯櫥璁拌〃"; + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + + handleUpdate(row) { + this.$router.push({ + path: "/organ/donationdetails/", + query: { + id: row.id, + organType: "edit" + } + }); + // this.showSaveBtn = true; + // const id = row.id || this.ids; + // //this.$refs.annex.getAnnexList(); + + // getDonatebaseinfo(id).then((response) => { + // this.reset(); + + // this.$nextTick(function () { + // this.$refs.annex.getAnnexList(); + // }); + // this.form = response.data; + // 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; + // }); + }, + // 缁堟妗堜緥 + handletermination(row) { + this.reset(); + this.showSaveBtn = false; + this.showTerminationBtn = true; + const id = row.id || this.ids; + getDonatebaseinfo(id).then(response => { + this.form = response.data; + 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.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.open = true; + this.title = "浜轰綋鍣ㄥ畼娼滃湪鎹愮尞鑰呯櫥璁拌〃"; + this.form.recordstate = 99; + // this.$nextTick(function() { + // this.$refs.annex.getAnnexList(); + // }); + }); + }, + /** 鎻愪氦鎸夐挳 */ + submitForm() { + console.log(this.form); + this.$refs["form"].validate(valid => { + if (valid) { + const date = { ...this.form }; + console.log(date, "date"); + 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; + this.form.donatetime = this.form.reporttime; + + 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; + } + + this.form.workflow = 0; + this.form.recordstate = 0; + addDonatebaseinfo(this.form).then(res => { + console.log("22"); + console.log(res.code); + if (res.code == 200) { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.$router.push({ + path: "/organ/donationdetails/", + query: { + id: res.data.id, + organType: "edit" + } + }); + this.open = false; + } else { + console.log("1"); + this.form = date; + console.log(this.form, "form"); + this.$modal.msgError("鏂板澶辫触锛�" + res.msg); + } + }); + } + }); + }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + const ids = row.id || this.ids; + this.$modal + .confirm('鏄惁纭鍒犻櫎鎹愮尞鍩虹缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�') + .then(function() { + return delDonatebaseinfo(ids); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + }, + + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + const queryParams = this.queryParams; + this.$modal + .confirm("鏄惁纭瀵煎嚭鎵�鏈夋崘鐚熀纭�鏁版嵁椤癸紵") + .then(() => { + this.exportLoading = true; + return exportDonatebaseinfo(queryParams); + }) + .then(response => { + this.$download.name(response.msg); + this.exportLoading = false; + }) + .catch(() => {}); + }, + + // 瀵硅薄杞垚鎸囧畾瀛楃涓插垎闅� + listToString(list, separator) { + let strs = ""; + separator = separator || ","; + for (let i in list) { + strs += list[i] + separator; + } + return strs != "" ? strs.substr(0, strs.length - 1) : ""; + }, + //瀛楃涓叉牴鎹寚瀹氬瓧绗︿覆鍒嗛殧 + stringToList(str, separator) { + separator = separator || ","; + let tempList = []; + if (str != null && str != undefined && str != "") { + tempList = str.split(separator); + } + return tempList; + }, + + //涓嬭浇娼滃湪鐧昏琛� + handledownload(row) { + const id = row.id || this.ids; + + 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"]; + 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); + }); + }); + } + } +}; +</script> + +<style scoped> +::v-deep .el-dialog__header { + padding-top: 40px !important; + margin: auto !important; + padding-bottom: 0px !important; +} +</style> diff --git a/src/views/project/indexstatistics/components/organnumchart/index.vue b/src/views/project/indexstatistics/components/organnumchart/index.vue index 627840e..982ee31 100644 --- a/src/views/project/indexstatistics/components/organnumchart/index.vue +++ b/src/views/project/indexstatistics/components/organnumchart/index.vue @@ -34,6 +34,9 @@ cdata: { type: Array, default: () => [] + }, + CommonOrgan: { + type: Object } }, data() { @@ -55,7 +58,19 @@ } this.options = { title: { - text: "鑾峰彇鍣ㄥ畼鍜岀粍缁囩殑鏁伴噺" + text: + "鑾峰彇鍣ㄥ畼鍜岀粍缁囩殑鏁伴噺" + + "(鑾峰彇閲忥細" + + this.CommonOrgan.countSum + + "锛涘純鐢ㄩ噺锛�" + + this.CommonOrgan.abandonCountSum + + ")", + left: "center", + top: "5%", + textStyle: { + color: "#566f94", + fontSize: 16 + } }, tooltip: { trigger: "axis", diff --git a/src/views/project/indexstatistics/index.vue b/src/views/project/indexstatistics/index.vue index 3402446..194474d 100644 --- a/src/views/project/indexstatistics/index.vue +++ b/src/views/project/indexstatistics/index.vue @@ -258,8 +258,27 @@ > <el-row style="margin-bottom: 20px"> <span style="font-size: 18px; color: #566f94; font-weight: bold" - >鏈勾搴︽寚鏍囨暟鎹垎鏋�</span + >鎸囨爣鏁版嵁鍒嗘瀽</span > + <span style="margin-left: 30px;"> + <router-link + :to="{ + name: 'DonationProcess', + params: { + starttime: starttime, + endtime: endtime, + terminationcase: 1, + reporterno: reportervalue, + shen: searchAddress.shen, + shi: searchAddress.shi, + qu: searchAddress.qu, + city: city + } + }" + > + <el-button type="primary" round>鎹愮尞杩涚▼</el-button> + </router-link> + </span> </el-row> <el-row :gutter="3"> <el-col :span="8" style="text-align: center"> @@ -421,7 +440,7 @@ </el-col> <el-col :span="12"> <el-card shadow="always" style="height: 640px" ref="organChartCard"> - <OrganNumChart :cdata="organData" /> + <OrganNumChart :cdata="organData" :CommonOrgan="CommonOrgan" /> </el-card> <!-- <el-col :span="7"> <el-card shadow="always" style="height: 640px" ref="orgNumberCard"> @@ -630,6 +649,7 @@ year: "閫夋嫨骞翠唤", isloading: false, maxHeight: 0, + CommonOrgan: null, provinceData: [ { label: "鍏ㄩ儴鍦板競", value: "" }, { label: "鏉窞甯�", value: "1" }, @@ -1029,7 +1049,8 @@ } this.organData = list; */ - let list = response.data; + let list = response.data.organInfoVOList; + this.CommonOrgan = response.data; for (let i = 0; i < this.organData.length; i++) { let ii = list.findIndex( item => item.organNo == this.organData[i].code -- Gitblit v1.9.3