From f4c7c812491f51777e6b4d43d17d77526e91fe12 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期四, 16 三月 2023 10:21:58 +0800
Subject: [PATCH] yxh

---
 src/views/project/organallocation/index.vue |  392 +++++++++++++++----------------------------------------
 1 files changed, 107 insertions(+), 285 deletions(-)

diff --git a/src/views/project/organallocation/index.vue b/src/views/project/organallocation/index.vue
index 685839f..c99a149 100644
--- a/src/views/project/organallocation/index.vue
+++ b/src/views/project/organallocation/index.vue
@@ -2,83 +2,45 @@
 <template>
   <div class="app-container">
     <!-- 鎼滅储鏉′欢 -->
-    <el-form
-      :model="queryParams"
-      ref="queryForm"
-      :inline="true"
-      v-show="showSearch"
-      label-width="70px"
-    >
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="70px">
       <el-row :gutter="8">
         <el-col :span="6">
           <el-form-item label="鎹愮尞杩涘害" prop="recordstate">
-            <el-select
-              v-model="queryParams.recordstate"
-              placeholder="璇烽�夋嫨鎹愮尞杩涘害"
-              clearable
-              size="small"
-            >
-              <el-option
-                v-for="dict in dict.type.sys_DonationStatus"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"
-              />
+            <el-select v-model="queryParams.recordstate" placeholder="璇烽�夋嫨鎹愮尞杩涘害" clearable size="small">
+              <el-option v-for="dict in dict.type.sys_DonationStatus" :key="dict.value" :label="dict.label"
+                :value="dict.value" />
             </el-select>
           </el-form-item>
         </el-col>
 
         <el-col :span="6">
           <el-form-item label="濮撳悕" prop="name">
-            <el-input
-              v-model="queryParams.name"
-              placeholder="璇疯緭鍏ュ鍚�"
-              clearable
-              size="small"
-              @keyup.enter.native="handleQuery"
-            />
+            <el-input v-model="queryParams.name" placeholder="璇疯緭鍏ュ鍚�" clearable size="small"
+              @keyup.enter.native="handleQuery" />
           </el-form-item>
         </el-col>
 
         <el-col :span="6">
-          <el-form-item
-            align="left"
-            label="鍖荤枟鏈烘瀯"
-            prop="treatmenthospitalno"
-          >
-            <org-selecter
-              ref="orgSelecter"
-              :org-type="'3'"
-              v-model="queryParams.treatmenthospitalno"
-            />
+          <el-form-item align="left" label="鍖荤枟鏈烘瀯" prop="treatmenthospitalno">
+            <org-selecter ref="orgSelecter" :org-type="'3'" v-model="queryParams.treatmenthospitalno" />
           </el-form-item>
         </el-col>
 
         <el-col :span="6">
           <el-form-item label="鎹愮尞鍦板競">
             <el-select v-model="queryParams.city" placeholder="璇烽�夋嫨鍦板競">
-              <el-option
-                v-for="item in provinceData"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
+              <el-option v-for="item in provinceData" :key="item.value" :label="item.label" :value="item.value">
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
-        
+
       </el-row>
       <el-row :gutter="8">
         <el-col :span="6">
           <el-form-item label="鎶ュ憡浜�">
             <el-select v-model="queryParams.reporterno" placeholder="璇烽�夋嫨鎶ュ憡浜�">
-              <el-option
-                v-for="item in reportlist"
-                :key="item.index"
-                :label="item.reportername"
-                :value="item.reporterno"
-              >
+              <el-option v-for="item in reportlist" :key="item.index" :label="item.reportername" :value="item.reporterno">
               </el-option>
             </el-select>
           </el-form-item>
@@ -86,32 +48,16 @@
 
         <el-col :span="12">
           <el-form-item label="鎶ュ憡鏃ユ湡">
-            <el-date-picker
-              style="width: 100%"
-              v-model="selecttime"
-              type="monthrange"
-              range-separator="鑷�"
-              start-placeholder="寮�濮嬫湀浠�"
-              end-placeholder="缁撴潫鏈堜唤"
-              value-format="yyyy-MM-dd"
-              @change="getTimeList"
-            >
+            <el-date-picker style="width: 100%" v-model="selecttime" type="monthrange" range-separator="鑷�"
+              start-placeholder="寮�濮嬫湀浠�" end-placeholder="缁撴潫鏈堜唤" value-format="yyyy-MM-dd" @change="getTimeList">
             </el-date-picker>
           </el-form-item>
         </el-col>
 
         <el-col :span="6">
           <el-form-item>
-            <el-button
-              type="primary"
-              icon="el-icon-search"
-              size="mini"
-              @click="getBaseInfoList"
-              >鎼滅储</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="getBaseInfoList">鎼滅储</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
           </el-form-item>
         </el-col>
       </el-row>
@@ -121,65 +67,36 @@
       <el-col :span="8">
         <el-card shadow="never">
           <!-- 鎹愮尞妗堜緥鍒楄〃 -->
-          <el-table
-            v-loading="loading"
-            border
-            :data="donationCaseTableData"
-            @row-click="selectDonotor"
-          >
+          <el-table v-loading="loading" border :data="donationCaseTableData" @row-click="selectDonotor">
             <el-table-column label="濮撳悕" align="center" prop="name" />
 
             <el-table-column label="鎬у埆" align="center" prop="sex">
               <template slot-scope="scope">
-                <dict-tag
-                  :options="dict.type.sys_user_sex"
-                  :value="scope.row.sex"
-                />
+                <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
               </template>
             </el-table-column>
-            <el-table-column
-              label="鍖荤枟鏈烘瀯"
-              width="200px"
-              align="center"
-              prop="treatmenthospitalname"
-            />
+            <el-table-column label="鍖荤枟鏈烘瀯" width="200px" align="center" prop="treatmenthospitalname" />
           </el-table>
           <!-- hide-on-single-page -->
-          <pagination
-            v-show="total > 0"
-            small
-            layout="prev, pager, next"
-            :total="total"
-            :page.sync="queryParams.pageNum"
-            :limit.sync="queryParams.pageSize"
-            @pagination="getBaseInfoList"
-          />
+          <pagination v-show="total > 0" small layout="prev, pager, next" :total="total" :page.sync="queryParams.pageNum"
+            :limit.sync="queryParams.pageSize" @pagination="getBaseInfoList" />
         </el-card>
       </el-col>
       <el-col :span="16">
-        <!-- <div class="grid-content bg-purple-dark" style="width:100%;height:800px;background-color:purple">
-       </div> -->
+      <!-- <div class="grid-content bg-purple-dark" style="width:100%;height:800px;background-color:purple">
+                                         </div> -->
         <el-card shadow="never">
           <el-form ref="infoForm" :model="organalForm" label-width="80px">
             <el-row>
               <el-col :span="12">
                 <el-form-item label="鎹愮尞缂栧彿" prop="donorno">
-                  <el-input
-                    v-model="curdonorno"
-                    disabled
-                    placeholder="璇烽�夋嫨鎹愮尞妗堜緥"
-                  />
+                  <el-input v-model="curdonorno" disabled placeholder="璇烽�夋嫨鎹愮尞妗堜緥" />
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label="濮撳悕" prop="donorname">
-                  <el-input
-                    v-model="curdonorname"
-                    disabled
-                    placeholder="璇烽�夋嫨鎹愮尞妗堜緥"
-                  />
-                </el-form-item> </el-col
-              ><el-col :span="6">
+                  <el-input v-model="curdonorname" disabled placeholder="璇烽�夋嫨鎹愮尞妗堜緥" />
+                </el-form-item> </el-col><el-col :span="6">
                 <el-form-item label="骞撮緞" align="center" prop="age">
                   <el-input v-model="curage" disabled />
                 </el-form-item>
@@ -187,81 +104,31 @@
             </el-row>
             <el-form-item label="閫夋嫨鍣ㄥ畼">
               <el-checkbox-group v-model="organalForm.organname">
-                <el-checkbox
-                  v-for="dict in dict.type.sys_Organ"
-                  :key="dict.value"
-                  :label="dict.value"
-                  @click="changeorganState(dict.value)"
-                  @change="changeorganState(dict.value)"
-                >
+                <el-checkbox v-for="dict in dict.type.sys_Organ" :key="dict.value" :label="dict.value"
+                  @click="changeorganState(dict.value)" @change="changeorganState(dict.value)">
                   {{ dict.label }}
                 </el-checkbox>
               </el-checkbox-group>
             </el-form-item>
             <el-form-item label="鍣ㄥ畼鍒嗛厤">
               <el-table v-loading="loading" border :data="organalTableData">
-                <el-table-column
-                  label="鍣ㄥ畼鍚嶇О"
-                  align="center"
-                  width="90"
-                  prop="organname"
-                />
-                <el-table-column
-                  label="鍣ㄥ畼缂栧彿"
-                  align="center"
-                  width="80"
-                  prop="organno"
-                />
-                <el-table-column
-                  label="鍒嗛厤鐘舵��"
-                  align="center"
-                  width="90"
-                  prop="organstate"
-                >
+                <el-table-column label="鍣ㄥ畼鍚嶇О" align="center" width="90" prop="organname" />
+                <el-table-column label="鍣ㄥ畼缂栧彿" align="center" width="80" prop="organno" />
+                <el-table-column label="鍒嗛厤鐘舵��" align="center" width="90" prop="organstate">
                   <template slot-scope="scope">
-                    <dict-tag
-                      :options="dict.type.sys_organstate"
-                      :value="scope.row.organstate"
-                    />
+                    <dict-tag :options="dict.type.sys_organstate" :value="scope.row.organstate" />
                   </template>
                 </el-table-column>
-                <el-table-column
-                  label="绉绘鍖婚櫌"
-                  align="center"
-                  prop="transplanthospitalname"
-                >
+                <el-table-column label="绉绘鍖婚櫌" align="center" prop="transplanthospitalname">
                 </el-table-column>
-                <el-table-column
-                  label="鎿嶄綔"
-                  width="200"
-                  align="center"
-                  class-name="small-padding fixed-width"
-                >
+                <el-table-column label="鎿嶄綔" width="200" align="center" class-name="small-padding fixed-width">
                   <template slot-scope="scope">
-                    <el-button
-                      size="mini"
-                      v-if="scope.row.id == null"
-                      type="text"
-                      icon="el-icon-copy-document"
-                      @click="distributionDialog(scope.row)"
-                      >鍒嗛厤</el-button
-                    >
-                    <el-button
-                      size="mini"
-                      v-else
-                      type="text"
-                      icon="el-icon-copy-document"
-                      @click="distributionDialog(scope.row)"
-                      >淇敼</el-button
-                    >
-                    <el-button
-                      size="mini"
-                      v-if="scope.row.organstate != 99"
-                      type="text"
-                      icon="el-icon-copy-document"
-                      @click="redistribution(scope.row)"
-                      >閲嶆柊鍒嗛厤</el-button
-                    >
+                    <el-button size="mini" v-if="scope.row.id == null" type="text" icon="el-icon-copy-document"
+                      @click="distributionDialog(scope.row)">鍒嗛厤</el-button>
+                    <el-button size="mini" v-else type="text" icon="el-icon-copy-document"
+                      @click="distributionDialog(scope.row)">淇敼</el-button>
+                    <el-button size="mini" v-if="scope.row.organstate != 99" type="text" icon="el-icon-copy-document"
+                      @click="redistribution(scope.row)">閲嶆柊鍒嗛厤</el-button>
                   </template>
                 </el-table-column>
               </el-table>
@@ -272,32 +139,18 @@
     </el-row>
 
     <!-- 娣诲姞鎴栦慨鏀瑰櫒瀹樺垎閰嶅璇濇 -->
-    <el-dialog
-      :title="distributionFormTitle"
-      :visible.sync="showDistributionForm"
-      :close-on-click-modal="false"
-      width="1000px"
-      append-to-body
-    >
+    <el-dialog :title="distributionFormTitle" :visible.sync="showDistributionForm" :close-on-click-modal="false"
+      width="1000px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="160px">
         <el-row>
           <el-col :span="16">
             <el-form-item label="鎹愮尞缂栧彿" prop="donorno">
-              <el-input
-                v-model="distributionForm.donorno"
-                placeholder="璇疯緭鍏ユ崘鐚�呯紪鍙�"
-                disabled
-              />
-            </el-form-item> </el-col
-          ><el-col :span="8">
+              <el-input v-model="distributionForm.donorno" placeholder="璇疯緭鍏ユ崘鐚�呯紪鍙�" disabled />
+            </el-form-item> </el-col><el-col :span="8">
             <el-form-item label="鍒嗛厤鐘舵��" prop="organstate">
               <el-select v-model="form.organstate" placeholder="璇烽�夋嫨鍣ㄥ畼鐘舵��">
-                <el-option
-                  v-for="dict in dict.type.sys_organstate"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option>
+                <el-option v-for="dict in dict.type.sys_organstate" :key="dict.value" :label="dict.label"
+                  :value="dict.value"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -305,61 +158,31 @@
         <el-row>
           <el-col :span="8">
             <el-form-item label="鎹愮尞濮撳悕" prop="curdonorname">
-              <el-input
-                v-model="curdonorname"
-                placeholder="鎹愮尞鑰呭鍚�"
-                disabled
-              />
+              <el-input v-model="curdonorname" placeholder="鎹愮尞鑰呭鍚�" disabled />
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="鍣ㄥ畼鍚嶇О" prop="organnumber">
-              <el-select
-                ref="organNameSelect"
-                v-model="form.organnumber"
-                placeholder="璇烽�夋嫨鍣ㄥ畼缂栧彿"
-                clearable
-                size="small"
-                disabled
-              >
-                <el-option
-                  v-for="dict in dict.type.sys_Organ"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                />
+              <el-select ref="organNameSelect" v-model="form.organnumber" placeholder="璇烽�夋嫨鍣ㄥ畼缂栧彿" clearable size="small"
+                disabled>
+                <el-option v-for="dict in dict.type.sys_Organ" :key="dict.value" :label="dict.label"
+                  :value="dict.value" />
               </el-select>
-            </el-form-item> </el-col
-          ><el-col :span="8">
+            </el-form-item> </el-col><el-col :span="8">
             <el-form-item label="绯荤粺缂栧彿" prop="ageunit">
               <el-input v-model="form.ageunit" placeholder="璇疯緭鍏ョ郴缁熺紪鍙�" />
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row
-          ><el-col :span="8">
+        <el-row><el-col :span="8">
             <el-form-item label="鎺ユ敹鏃堕棿" prop="applicanttime">
-              <el-date-picker
-                clearable
-                size="small"
-                style="width: 100%"
-                v-model="form.applicanttime"
-                type="datetime"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                placeholder="閫夋嫨鎺ユ敹鏃堕棿"
-              >
+              <el-date-picker clearable size="small" style="width: 100%" v-model="form.applicanttime" type="datetime"
+                value-format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨鎺ユ敹鏃堕棿">
               </el-date-picker>
-            </el-form-item> </el-col
-          ><el-col :span="8">
-            <el-form-item label="绉绘鏈烘瀯" prop="treatmenthospitalno">
-              <org-selecter
-                ref="tranHosSelect"
-                :org-type="'4'"
-                v-model="form.transplanthospitalno"
-                style="width: 100%"
-              />
-            </el-form-item> </el-col></el-row
-        ><el-row>
+            </el-form-item> </el-col><el-col :span="16">
+            <el-form-item label="绉绘鍖婚櫌" prop="treatmenthospitalno">
+              <org-selecter ref="tranHosSelect" :org-type="'4'" v-model="form.transplanthospitalno" style="width: 100%" />
+            </el-form-item> </el-col></el-row><el-row>
           <el-col :span="8">
             <el-form-item label="鍙椾綋濮撳悕" prop="name">
               <el-input v-model="form.name" placeholder="濮撳悕" />
@@ -367,24 +190,13 @@
           </el-col>
           <el-col :span="8">
             <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 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="8">
+            </el-form-item> </el-col><el-col :span="8">
             <el-form-item label="璇佷欢鍙风爜" prop="idcardno">
-              <el-input
-                v-model="form.idcardno"
-                placeholder="璇疯緭鍏ョЩ妞嶄汉璇佷欢鍙风爜"
-              />
+              <el-input v-model="form.idcardno" placeholder="璇疯緭鍏ョЩ妞嶄汉璇佷欢鍙风爜" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -521,7 +333,7 @@
       form: {},
       rules: {
         applicanttime: [
-          { required: true, message: "璇疯緭鍏ユ崘鐚�呭鍚�", trigger: "blur" },
+          { required: true, message: "璇疯緭鍏ユ帴鏀舵椂闂�", trigger: "blur" },
         ],
       },
       // 閬僵灞�
@@ -664,12 +476,18 @@
         this.endtime = "2998-01-01 00:00:00";
       }
     },
-    updateStatus(data) {
+
+    //閲嶆柊鍒嗛厤
+    redistribution(data) {
+      console.log("閲嶆柊鍒嗛厤", data);
+      //寮圭獥
+      this.showDistributionForm = true;
+      this.reset();
+
       getDonateorgan(data.id).then((res) => {
         let obj = res.data;
         obj.organstate = 99;
         updateDonateorgan(obj).then((res) => {
-          console.log("閲嶆柊鍒嗛厤鐨�", res);
           // if(res.code === 200){
           this.form.organstate = data.organstate;
           this.form.organno = data.organno;
@@ -680,30 +498,19 @@
           };
 
           listOrganallocation(loactionSearcParam).then((res) => {
-            console.log("allocation鏁版嵁", res.rows);
             if (res.rows != 0) {
               let list = res.rows[0];
               // this.form.ageunit = list.ageunit;
               this.form.applicanttime = list.applicanttime;
               // this.form.treatmenthospitalno = list.treatmenthospitalno;
               // this.form.transplanthospitalname = list.transplanthospitalname
-              console.log("ididididid", this.form.id);
-            }
+            };
           });
-          // }
+          console.log("Organallocation", this.form);
         });
       });
     },
-    redistribution(data) {
-      console.log("閲嶆柊鍒嗛厤", data);
-      //寮圭獥
-      this.showDistributionForm = true;
-      this.reset();
 
-      this.updateStatus(data);
-
-  
-    },
     /** 鏌ヨ鎹愮尞鍩虹鍒楄〃 */
     getBaseInfoList(e) {
       this.loading = true;
@@ -876,6 +683,7 @@
     submitForm() {
       this.$refs["form"].validate((valid) => {
         if (valid) {
+
           if (this.form.id != null) {
             //鏇存柊鎹愮尞鍣ㄥ畼琛�
             this.form.allocationstatus = this.form.organstate;
@@ -906,7 +714,8 @@
                 this.showDistributionForm = false;
               });
             });
-          } else {
+          }
+          else {
             //淇濆瓨鏃跺厛淇濆瓨鍒版崘鐚櫒瀹樿〃
             //鏂板鍒板櫒瀹樼鐞嗚〃
             this.loading = false;
@@ -930,31 +739,43 @@
               organaManageForm.transplanthospitalname =
                 organaManageForm.transplanthospitalno;
             }
+
+
             addDonateorgan(organaManageForm).then((response) => {
               this.loading = false;
               if (response.code === 200) {
                 //鏌ヨ鑾峰彇鏂板鐨勫櫒瀹樿〃id
                 let organSearchParam = {
-                  donorno: this.curdonorno,
-                  donorname: this.curdonorname,
-                  organname: this.$refs.organNameSelect.label,
-                  organno: this.form.organnumber,
                   infoid: this.curInfoid,
+                  donorno: this.curdonorno,
+                  organno: this.form.organnumber,
+                  //donorname: this.curdonorname,
+                  //organname: this.$refs.organNameSelect.label,
                 };
                 this.loading = false;
+
                 listDonateorgan(organSearchParam).then((response2) => {
                   this.showDistributionForm = false;
-                  if (response2.code == 200 && response2.rows.length == 1) {
-                    this.form.organid = response2.rows[0].id;
-                    this.form.residenceprovincename = this.defultAddress.sheng;
-                    this.form.residencecityname = this.defultAddress.shi;
-                    this.form.residencetownname = this.defultAddress.qu;
-                    addOrganallocation(this.form).then((response) => {
-                      //this.$modal.msgSuccess("鏂板鎴愬姛");
-                      this.loading = false;
-                      this.GetDonortedList();
-                      this.showDistributionForm = false;
-                    });
+                  if (response2.code == 200 && response2.rows.length > 0) {
+                    for (let i = 0; i < response2.rows.length; i++) {
+                      console.log('1', this.form)
+                      if (response2.rows[i].organstate == '2') {
+                        this.form.organid = response2.rows[i].id;
+                        this.form.residenceprovincename = this.defultAddress.sheng;
+                        this.form.residencecityname = this.defultAddress.shi;
+                        this.form.residencetownname = this.defultAddress.qu;
+
+                        console.log('2', this.form)
+                        addOrganallocation(this.form).then((response) => {
+
+                          console.log('3', response)
+                          //this.$modal.msgSuccess("鏂板鎴愬姛");
+                          this.loading = false;
+                          this.GetDonortedList();
+                          this.showDistributionForm = false;
+                        });
+                      }
+                    }
                   }
                 });
               }
@@ -1073,7 +894,7 @@
             id: null,
             transplanthospitalname: null,
             transplanthospitalno: null,
-            organstate: null,
+            organstate: '2',
           });
         }
       } else {
@@ -1086,7 +907,8 @@
             if (organIndex != -1) {
               let tempOrgan = this.organalTableData[organIndex];
               if (tempOrgan.organstate != 1 && tempOrgan.id > 0) {
-                this.$modal.msgWarning("鍙湁鏈垎閰嶅櫒瀹樺彲杩涜鍒犻櫎");
+                this.$modal.msgWarning("鍙湁鏈垎閰嶅櫒瀹樺彲杩涜鍒犻櫎锛�");
+                this.organalForm.organname.push(value);
                 return;
               }
               if (tempOrgan.id > 0) {

--
Gitblit v1.9.3