From a398c62a2ac6ef819f162dc3e0923bed144905dc Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 27 六月 2025 09:17:11 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/record/detailpage/index.vue       |   62 +----
 src/views/knowledge/questionbank/particulars/index.vue  |   82 +------
 src/views/knowledge/questionnaire/compilequer/index.vue |   16 +
 src/api/patient/homepage.js                             |    2 
 src/components/AskRegular/index.vue                     |   14 +
 src/api/AiCentre/external.js                            |    8 
 src/views/patient/follow/index.vue                      |  433 ++++++++++++++++++++++++++++++++++----
 src/views/patient/propaganda/QuestionnaireTask.vue      |   41 ++-
 8 files changed, 472 insertions(+), 186 deletions(-)

diff --git a/src/api/AiCentre/external.js b/src/api/AiCentre/external.js
index af803b7..153ec2c 100644
--- a/src/api/AiCentre/external.js
+++ b/src/api/AiCentre/external.js
@@ -84,3 +84,11 @@
     data: data
   });
 }
+// 鏇存柊璇煶鏈嶅姟锛堝唴锛�
+export function sendMsg(data) {
+  return request({
+    url: "/smartor/smsaccount/sendMsg",
+    method: "post",
+    data: data
+  });
+}
diff --git a/src/api/patient/homepage.js b/src/api/patient/homepage.js
index 19cb4a3..1fb9293 100644
--- a/src/api/patient/homepage.js
+++ b/src/api/patient/homepage.js
@@ -12,7 +12,7 @@
 // 鐢ㄦ埛淇℃伅鏌ヨ鎮h�呭垪琛�
 export function messagelistpatient(data) {
   return request({
-    url: '/smartor/patarchive/patInfoByContion',
+    url: '/smartor/patarchive/list',
     method: 'post',
     data: data
   })
diff --git a/src/components/AskRegular/index.vue b/src/components/AskRegular/index.vue
index 8e135a3..4f3cc64 100644
--- a/src/components/AskRegular/index.vue
+++ b/src/components/AskRegular/index.vue
@@ -30,6 +30,16 @@
             >
             </el-input> </el-form-item
         ></el-col>
+        <el-col :span="12" v-if="order"
+          ><el-form-item label="鍙绾︽暟">
+            <el-input
+              type="text"
+              placeholder="璇疯緭鍏ヨ妭鐐�"
+              v-model="item.person"
+              show-word-limit
+            >
+            </el-input> </el-form-item
+        ></el-col>
       </el-row>
       <el-row :gutter="10" v-if="!intent">
         <el-col :span="20"
@@ -242,6 +252,10 @@
       type: Boolean,
       default: true,
     },
+    order:{
+      type: Boolean,
+      default: false,
+    },
   },
 
   created() {
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 63107e0..83b18b8 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -220,9 +220,9 @@
               <el-button plain type="info" @click="Editsingletaskson('5')"
                 >涓績闅忚</el-button
               >
-              <!-- <el-button type="primary" round @click="sendAgain()"
-                >鍐嶆闅忚</el-button
-              > -->
+              <el-button type="primary" round @click="sendAgain()"
+                >鐭俊鍥炲</el-button
+              >
             </div>
           </el-form-item>
         </el-form>
@@ -447,15 +447,8 @@
         </el-tab-pane>
       </el-tabs>
     </div>
-    <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible">
+    <el-dialog title="鐭俊鍙戦��" :visible.sync="dialogFormVisible">
       <el-form ref="form" :model="form" label-width="80px">
-        <el-form-item label="浠诲姟鍚嶇О">
-          <el-input
-            style="width: 400px"
-            disabled
-            v-model="form.taskName"
-          ></el-input>
-        </el-form-item>
         <el-form-item label="鎮h�呭悕绉�">
           <el-input
             style="width: 400px"
@@ -465,6 +458,9 @@
         </el-form-item>
         <el-form-item label="骞撮緞">
           <el-input style="width: 400px" disabled v-model="form.age"></el-input>
+        </el-form-item>
+          <el-form-item label="鐢佃瘽">
+          <el-input style="width: 400px" disabled v-model="userform.telcode"></el-input>
         </el-form-item>
         <el-form-item label="绉戝">
           <el-input
@@ -480,31 +476,13 @@
             v-model="form.leavehospitaldistrictname"
           ></el-input>
         </el-form-item>
-
-        <el-form-item label="闅忚鏂瑰紡">
-          <el-radio-group v-model="form.resource">
-            <el-radio label="1">鏈梾鍖洪殢璁�</el-radio>
-            <el-radio label="2">闅忚涓績闅忚</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <!-- <el-form-item label="鍗冲埢鍙戦��">
-          <el-switch v-model="zcform.delivery"></el-switch>
-        </el-form-item> -->
-        <el-form-item label="闅忚鏃堕棿">
-          <el-date-picker
-            type="date"
-            placeholder="閫夋嫨鏃ユ湡"
-            v-model="form.date1"
-            style="width: 100%"
-          ></el-date-picker>
-        </el-form-item>
-        <el-form-item label="闅忚璁板綍">
-          <el-input type="textarea" v-model="form.remark"></el-input>
+        <el-form-item label="鐭俊鍐呭">
+          <el-input type="textarea" v-model="form.content"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="setupsubtask">纭鍒涘缓鏈嶅姟</el-button>
+        <el-button type="primary" @click="setupsubtask">纭鍙戦��</el-button>
       </div>
     </el-dialog>
   </div>
@@ -520,7 +498,7 @@
   Editsingletaskson,
   serviceSubtaskDetailedit,
   serviceSubtaskDetailadd,
-  updatePersonVoices,
+  sendMsg,
   addPersonVoices,
 } from "@/api/AiCentre/index";
 import { messagelistpatient } from "@/api/patient/homepage";
@@ -860,23 +838,9 @@
     },
     // 鍒涘缓鍐嶆闅忚鏈嶅姟
     setupsubtask() {
-      console.log(this.form);
-      let form = structuredClone(this.form);
-      form.longSendTime = this.formatTime(form.date1);
-      form.finishtime = '';
-
-      if (form.resource) {
-        if (form.resource == 2) {
-          form.serviceType = 10;
-        }
-      } else {
-        this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡");
-      }
-      form.id = null;
-      form.sendstate = 2;
-      addserviceSubtask(form).then((res) => {
+      sendMsg({phoneNumber:this.userform.telcode,content:this.form.content}).then((res) => {
         if (res.code == 200) {
-          this.$modal.msgSuccess("鍒涘缓鎴愬姛");
+          this.$modal.msgSuccess("鍙戦�佹垚鍔�");
         } else {
           this.$modal.msgError("鍒涘缓澶辫触");
         }
diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue
index e519639..eeaebfd 100644
--- a/src/views/knowledge/questionbank/particulars/index.vue
+++ b/src/views/knowledge/questionbank/particulars/index.vue
@@ -129,18 +129,18 @@
                     </el-radio-group>
                   </el-form-item></el-col
                 >
-                <!-- <el-col :span="8">
-                  <el-form-item label="鏄惁蹇呭~" prop="ismandatory">
-                    <el-radio-group v-model="topicobj.ismandatory">
+                <el-col :span="8"
+                  ><el-form-item label="鏄惁棰勭害" prop="reservation">
+                    <el-radio-group v-model="topicobj.reservation">
                       <el-radio
                       @change="$forceUpdate()"
-                        v-for="(item, index) in required"
+                        v-for="(item, index) in reservations"
                         :label="item.value"
                         >{{ item.label }}</el-radio
                       >
                     </el-radio-group>
-                  </el-form-item>
-                </el-col> -->
+                  </el-form-item></el-col
+                >
               </el-row>
               <el-row :gutter="10">
 
@@ -200,65 +200,7 @@
                 </el-col>
               </el-row>
 
-              <!-- <el-form-item
-              label=""
-              prop="scriptContent"
-              v-if="topicobj.scriptType == 3"
-            >
-              <div style="display: flex; margin-bottom: 10px">
-                <div class="tsgnames" @click="tsgnametos">鎻掑叆濉┖鏍囪</div>
-              </div>
-            </el-form-item> -->
-              <!-- <el-row>
-              <el-col :span="20">
-                <el-form-item
-                  label="濉┖淇℃伅"
-                  v-if="
-                    topicobj.scriptType == 3 &&
-                    topicobj.svyLibScriptOptions.length
-                  "
-                >
-                  <el-card class="box-card" style="width: 200%">
-                    <div
-                      v-for="item in topicobj.svyLibScriptOptions"
-                      v-if="item.isoperation != 3"
-                      style="margin-bottom: 10px"
-                    >
-                      <el-input
-                        type="text"
-                        placeholder="濉叆鍐呭淇℃伅"
-                        v-model="item.aaa"
-                      >
-                        <el-button
-                          slot="append"
-                          @click="deletexuanx(item)"
-                          type="danger"
-                          icon="el-icon-delete"
-                          circle
-                        ></el-button>
-                        <span slot="prepend">{{
-                          "(" + item.orderno + ")"
-                        }}</span>
-                      </el-input>
-                    </div>
-                  </el-card>
-                </el-form-item>
-              </el-col>
-            </el-row> -->
 
-
-              <!-- <el-form-item label="閫変腑鎸囨爣锛�">
-                <span style="margin-left: 30px"
-                  ><el-tag type="success" effect="dark">{{
-                    topicobj.targetname ? topicobj.targetname : "鏈�夋嫨"
-                  }}</el-tag></span
-                >
-                <span style="margin-left: 30px"
-                  ><el-button type="success" round @click="gettargetInfo"
-                    >+閫夋嫨鎸囨爣</el-button
-                  ></span
-                >
-              </el-form-item> -->
             </div>
             <div class="headline">鍏宠仈淇℃伅閰嶇疆</div>
             <el-divider></el-divider>
@@ -328,7 +270,7 @@
                     <el-image
                       style="width: 100px; height: 100px"
                       :src="topicobj.picturePath"
-                      :preview-src-list="[...topicobj.picturePath]"
+                      :preview-src-list="topicobj.picturePath ? [topicobj.picturePath] : []"
                     >
                     </el-image>
                   </div>
@@ -518,7 +460,7 @@
                         <el-image
                           style="width: 100px; height: 100px"
                           :src="item.picturePath"
-                          :preview-src-list="[...item.picturePath]"
+                          :preview-src-list="item.picturePath ? [item.picturePath] : []"
                         >
                         </el-image>
                       </div>
@@ -795,6 +737,10 @@
       optionstag: [],
       valuetype: [],
       usable: [],
+      reservations: [
+         { label: "棰勭害", value: "2" },
+        { label: "闈為绾�", value: "1" },
+      ],
       mode: [], //鏂瑰紡
       // 琛ㄥ崟鏍¢獙
       rules: {
@@ -887,6 +833,8 @@
         this.dynamicTags = this.topicobj.svyLibScriptTagList.map(
           this.processElement
         );
+        console.log(this.dynamicTags,'this.dynamicTags');
+
         this.scriptTypels = this.topicobj.scriptType;
         this.variablelist = JSON.parse(this.topicobj.otherdata)
           ? JSON.parse(this.topicobj.otherdata)
@@ -1116,6 +1064,8 @@
       };
       listtag(tagqueryParams).then((response) => {
         this.optionstag = response.rows;
+        console.log(this.optionstag,'optionstag');
+
       });
     },
     handleClosetag(tag) {
diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 7eba035..bc77600 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -604,7 +604,7 @@
                     class="topicxq"
                     v-for="item in topicobj.svyLibTemplateTargetoptions"
                   >
-                    <el-row :gutter="5">
+                    <el-row :gutter="10">
                       <el-col :span="12"
                         ><el-form-item label="閫夐」鍚嶇О">
                           <el-input
@@ -659,6 +659,16 @@
                         </el-radio-group>
                       </el-form-item>
                     </el-row>
+                    <el-row :gutter="10" v-if="topicobj.reservation == 2">
+                      <el-form-item label="鍙绾︽暟">
+                        <el-input
+                          type="number"
+                          placeholder="璇疯緭鍏ユ暟瀛�"
+                          v-model="item.person"
+                        >
+                        </el-input>
+                      </el-form-item>
+                    </el-row>
                     <el-row :gutter="10" v-if="topicobj.branchFlag == 1">
                       <el-col :span="20"
                         ><el-form-item label="涓嬮璺宠浆(搴忓彿)">
@@ -691,7 +701,9 @@
                             <el-image
                               style="width: 100px; height: 100px"
                               :src="item.picturePath"
-                              :preview-src-list="[...item.picturePath]"
+                              :preview-src-list="
+                                item.picturePath ? [item.picturePath] : []
+                              "
                             >
                             </el-image>
                           </div>
diff --git a/src/views/patient/follow/index.vue b/src/views/patient/follow/index.vue
index e6276e5..9ddcbc4 100644
--- a/src/views/patient/follow/index.vue
+++ b/src/views/patient/follow/index.vue
@@ -36,27 +36,38 @@
             </el-select>
           </el-form-item> -->
 
-
-          <el-row>
-
+          <el-row :gutter="15">
             <el-form-item>
-              <el-button
-                type="primary"
-                icon="el-icon-search"
-                size="medium"
-                @click="handleQuery"
-                >鎼滅储</el-button
-              >
-              <el-button
-                icon="el-icon-refresh"
-                size="medium"
-                @click="resetQuery"
-                >閲嶇疆</el-button
-              >
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  icon="el-icon-search"
+                  size="medium"
+                  @click="handleQuery"
+                  >鎼滅储</el-button
+                >
+              </el-col>
+              <el-col :span="1.5">
+                <el-button
+                  icon="el-icon-refresh"
+                  size="medium"
+                  @click="resetQuery"
+                  >閲嶇疆</el-button
+                >
+              </el-col>
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  plain
+                  icon="el-icon-help"
+                  size="medium"
+                  @click="distribute"
+                  >鏂板鎮h�呰繃婊�</el-button
+                >
+              </el-col>
             </el-form-item>
           </el-row>
         </el-form>
-
 
         <el-table
           v-loading="loading"
@@ -183,7 +194,6 @@
                     query: { id: scope.row.id },
                   })
                 "
-
                 ><span class="button-textsc"
                   ><i class="el-icon-zoom-in"></i>鏌ョ湅</span
                 ></el-button
@@ -192,7 +202,6 @@
                 size="medium"
                 type="text"
                 @click="handleDelete(scope.row)"
-
                 ><span class="button-textxga"
                   ><i class="el-icon-edit"></i>鍙栨秷杩囨护</span
                 ></el-button
@@ -210,8 +219,243 @@
         />
       </el-col>
     </el-row>
+    <el-dialog title="閫夋嫨鎮h��" :visible.sync="distributeVisible" width="70%">
+      <el-row :gutter="20">
+        <!--鐢ㄦ埛鏁版嵁-->
+        <el-col :span="24" :xs="24">
+          <el-form
+            :model="filtrqueryParams"
+            ref="queryForm"
+            size="small"
+            :inline="true"
+            label-width="98px"
+          >
+            <el-form-item label="鎮h�呭鍚�" prop="name">
+              <el-input
+                v-model="filtrqueryParams.name"
+                placeholder="璇疯緭鍏ュ鍚�"
+                maxlength="30"
+                @keyup.enter.native="handleQuery"
+              />
+            </el-form-item>
+            <el-form-item label="鎮h�呮爣绛�" prop="tagname">
+              <el-input
+                v-model="filtrqueryParams.tagname"
+                placeholder="杈撳叆杩涜妯$硦鏌ヨ"
+                maxlength="30"
+                @keyup.enter.native="handleQuery"
+              />
+            </el-form-item>
+            <!-- <el-form-item label="鎮h�呰寖鍥�" prop="tagId">
+                <el-select
+                  v-model="filtrqueryParams.searchscope"
+                  placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
+                >
+                  <el-option
+                    v-for="item in source"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item> -->
 
+            <el-form-item>
+              <el-button
+                type="primary"
+                icon="el-icon-search"
+                size="medium"
+                @click="distribute"
+                >鎼滅储</el-button
+              >
+            </el-form-item>
+          </el-form>
+          <el-table v-loading="filtrloading" :data="filtruserList" height="660">
+            <el-table-column type="selection" width="50" align="center" />
+            <el-table-column
+              fixed
+              label="濮撳悕"
+              align="center"
+              key="name"
+              prop="name"
+            />
+            <el-table-column
+              label="鎮h�呯紪鍙�"
+              align="center"
+              key="patientno"
+              prop="patientno"
+              width="180"
+            />
 
+            <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
+              <template slot-scope="scope">
+                <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="骞撮緞"
+              align="center"
+              key="age"
+              prop="age"
+              width="160"
+            >
+              <template slot-scope="scope">
+                <span v-if="scope.row.age"
+                  >{{ scope.row.age }}{{ scope.row.ageUnit }}</span
+                ><span v-if="scope.row.age2"
+                  >{{ scope.row.age2 }}{{ scope.row.ageUnit2 }}</span
+                >
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="鍑虹敓骞存湀"
+              align="center"
+              key="birthdate"
+              prop="birthdate"
+              width="120"
+            >
+            </el-table-column>
+            <el-table-column
+              label="灞呬綇鍦�"
+              align="center"
+              key="placeOfResidence"
+              prop="placeOfResidence"
+              width="150"
+              :show-overflow-tooltip="true"
+            />
+            <el-table-column
+              label="鎮h�呮爣绛�"
+              align="center"
+              key="tagList"
+              prop="tagList"
+              width="160"
+              :show-overflow-tooltip="true"
+            >
+              <template slot-scope="scope">
+                <span v-for="item in scope.row.tagList"
+                  >{{ item.tagname }}
+                </span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="璇佷欢鍙风爜"
+              align="center"
+              key="idcardno"
+              prop="idcardno"
+              width="190"
+            />
+
+            <el-table-column
+              label="鑱旂郴鏂瑰紡"
+              align="center"
+              key="telcode"
+              prop="telcode"
+              width="120"
+            />
+            <el-table-column
+              label="寤烘。鏃ユ湡"
+              align="center"
+              key="createTime"
+              prop="createTime"
+              width="160"
+            >
+              <template slot-scope="scope">
+                <span>{{ formatTime(scope.row.createTime) }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="鏇存柊鏃ユ湡"
+              align="center"
+              prop="archivetime"
+              width="160"
+            >
+              <template slot-scope="scope">
+                <span>{{ formatTime(scope.row.archivetime) }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              fixed="right"
+              label="鎿嶄綔"
+              align="center"
+              width="190"
+              class-name="small-padding fixed-width"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="medium"
+                  type="text"
+                  @click="handleUpdate(scope.row)"
+                  ><span class="button-textxga"
+                    ><i class="el-icon-help"></i>鎮h�呰繃婊�</span
+                  ></el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+
+          <pagination
+            v-show="total > 0"
+            :total="total"
+            :page.sync="filtrqueryParams.pageNum"
+            :limit.sync="filtrqueryParams.pageSize"
+            @pagination="getList"
+          />
+        </el-col>
+      </el-row>
+    </el-dialog>
+    <el-dialog title="淇敼鎮h�呬俊鎭�" :visible.sync="Labelchange" width="900px">
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="濮撳悕" prop="name">
+              <el-input
+                v-model="form.name"
+                placeholder="璇疯緭鍏ュ鍚�"
+                maxlength="30"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="鎬у埆" prop="sex">
+              <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
+                <el-option
+                  v-for="dict in sextype"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="骞撮緞" prop="age">
+              <el-input
+                v-model="form.age"
+                placeholder="璇疯緭鍏ュ勾榫�"
+                maxlength="30"
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="杩囨护鍘熷洜">
+              <el-input
+                v-model="form.notrequiredreason"
+                type="textarea"
+                placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </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>
   </div>
 </template>
 
@@ -241,6 +485,7 @@
     return {
       // 閬僵灞�
       loading: true,
+      filtrloading: true,
       // 閫変腑鏁扮粍
       ids: [],
       // 闈炲崟涓鐢�
@@ -251,8 +496,12 @@
       showSearch: true,
       // 鎬绘潯鏁�
       total: 0,
+      filtrtotal: 0,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: null,
+      filtruserList: null,
+      distributeVisible: false,
+
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 閮ㄩ棬鏍戦�夐」
@@ -283,6 +532,11 @@
         idcardtype: "",
         relativetelcode: "",
       },
+      filtrqueryParams: {
+        notrequiredFlag: 0,
+        pageNum: 1,
+        pageSize: 10,
+      },
       //瀵煎叆杩涘害
       dractive: 1,
       // 瀵煎叆灞曠ず琛ㄥ崟
@@ -292,8 +546,18 @@
       Labelchange: false, //淇敼鏂板寮圭獥
       propss: { multiple: true },
       optionstag: [], //鏍囩鍒楄〃
+      sextype: [
+        {
+          value: 1,
+          label: "鐢�",
+        },
+        {
+          value: 2,
+          label: "濂�",
+        },
+      ],
       Patientrange: [
-      {
+        {
           value: 0,
           label: "鎵�灞炴偅鑰�",
         },
@@ -348,8 +612,56 @@
         tagIds: undefined,
         telcode: undefined,
       },
+      form: {
+        name: "",
+        age: "",
+        sex: "",
+        tagList: [],
+        idcardno: "",
+        telcode: "",
+        idcardtype: "",
+        relativetelcode: "",
+      },
       // 琛ㄥ崟鏍¢獙
-      rules: {},
+      rules: {
+        name: [
+          { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+          {
+            min: 2,
+            max: 20,
+            message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
+            trigger: "blur",
+          },
+        ],
+
+        sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }],
+        age: [{ required: true, message: "骞撮緞涓嶈兘涓虹┖", trigger: "blur" }],
+        nation: [{ required: true, message: "姘戞棌涓嶈兘涓虹┖", trigger: "blur" }],
+        telcode: [
+          { required: true, message: "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" },
+          {
+            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+            message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
+            trigger: "blur",
+          },
+        ],
+
+        idcardno: [
+          { required: true, message: "璇佷欢鍙峰彲鑳戒负绌�", trigger: "blur" },
+          {
+            pattern:
+              /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
+            message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
+            trigger: "blur",
+          },
+        ],
+        placeOfResidence: [
+          { required: true, message: "灞呬綇鍦颁笉鑳戒负绌�", trigger: "blur" },
+        ],
+        birthplace: [
+          { required: true, message: "鍑虹敓鍦颁笉鑳戒负绌�", trigger: "blur" },
+        ],
+      },
     };
   },
   watch: {
@@ -367,13 +679,32 @@
     /** 鏌ヨ鎮h�呭垪琛� */
     getList() {
       this.loading = true;
-
       messagelistpatient(this.queryParams).then((response) => {
         console.log(response);
         this.userList = response.rows;
         this.total = response.total;
         this.loading = false;
       });
+    },
+    // 璋冭捣鏂板杩囨护寮规
+    distribute() {
+      this.distributeVisible = true;
+      this.filtrloading = true;
+
+      messagelistpatient(this.filtrqueryParams).then((response) => {
+        this.filtruserList = response.rows;
+        this.filtrtotal = response.total;
+        this.filtrloading = false;
+      });
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      const userIds = row.id;
+      particularpatient(userIds).then((response) => {
+        this.form = response.data;
+      });
+      this.amendtag = true;
+      this.Labelchange = true;
     },
     /** 鏌ヨ鏍囩鍒楄〃 */
     gettabList() {
@@ -441,6 +772,7 @@
       this.$refs.tree.setCurrentKey(null);
       this.handleQuery();
     },
+
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
       this.ids = selection.map((item) => item.patid);
@@ -457,28 +789,23 @@
 
     //淇敼/鏂板鎮h��
     submitForm() {
-      if (this.amendtag) {
-        alterpatient(this.form)
-          .then((response) => {
-            console.log(response);
-          })
-          .then(() => {
-            this.getList();
-            this.$modal.msgSuccess("淇敼鎴愬姛");
-          });
-      } else {
-        addfiltration(this.form)
-          .then((response) => {
-            console.log(response);
-          })
-          .then(() => {
-            this.getList();
-            this.$modal.msgSuccess("娣诲姞鎴愬姛");
-          });
-      }
-      this.reset();
-      // this.idds = "";
-      this.Labelchange = false;
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          this.form.isoperation = 2;
+          this.form.notrequiredFlag = 1;
+          alterpatient(this.form)
+            .then((response) => {
+              console.log(response);
+            })
+            .then(() => {
+              this.getList();
+              this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�");
+            });
+          this.reset();
+          // this.idds = "";
+          this.Labelchange = false;
+        }
+      });
     },
 
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
@@ -486,16 +813,16 @@
       const userIds = row.id || this.ids;
       this.$modal
         .confirm('鏄惁纭鍙栨秷鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」杩囨护锛�')
-        .then( ()=> {
-          row.notrequiredFlag=0
+        .then(() => {
+          row.notrequiredFlag = 0;
           alterpatient(row)
-          .then((response) => {
-            console.log(response);
-          })
-          .then(() => {
-            this.getList();
-            this.$modal.msgSuccess("淇敼鎴愬姛");
-          });
+            .then((response) => {
+              console.log(response);
+            })
+            .then(() => {
+              this.getList();
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+            });
         })
 
         .catch(() => {});
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index bab3454..7edc739 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -890,7 +890,7 @@
       tableLabelhz: [
         { label: "鍑洪櫌鏃ユ湡", width: "180", prop: "endtime" },
         { label: "鎮h��", width: "", prop: "name" },
-        { label: "韬唤璇�", width: "200", prop: "idcardno" },
+        { label: "鎮h�呯紪鍙�", width: "200", prop: "patientno" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "鎮h�呮爣绛�", width: "", prop: "tag" },
         { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
@@ -902,7 +902,7 @@
       tableLabelhzwb: [
         { label: "鍑洪櫌鏃ユ湡", width: "180", prop: "endtime" },
         { label: "鎮h��", width: "", prop: "name" },
-        { label: "韬唤璇�", width: "200", prop: "sfzh" },
+        { label: "鎮h�呯紪鍙�", width: "200", prop: "sfzh" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
         { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
@@ -958,6 +958,8 @@
         topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯
         leavehospitaldistrictcodes: [],
         leaveldeptcodes: [],
+        hospitaldistrictcodes: [],
+        deptcodes: [],
       },
       topicoptions: [{ children: [{ children: [] }] }],
       showSearch: true, //
@@ -1504,7 +1506,7 @@
           // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" },
           { label: "鍑洪櫌鏃ユ湡", width: "180", prop: "endtime" },
           { label: "鎮h��", width: "", prop: "name" },
-          { label: "韬唤璇�", width: "200", prop: "idcardno" },
+          { label: "鎮h�呯紪鍙�", width: "200", prop: "patientno" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "鎮h�呮爣绛�", width: "200", prop: "tag" },
           { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
@@ -1517,7 +1519,7 @@
         this.tableLabelhz = [
           { label: "鍏ラ櫌鏃ユ湡", width: "150", prop: "starttime" },
           { label: "鎮h��", width: "", prop: "name" },
-          { label: "韬唤璇�", width: "200", prop: "idcardno" },
+          { label: "鎮h�呯紪鍙�", width: "200", prop: "patientno" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "鎮h�呮爣绛�", width: "200", prop: "tag" },
           { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
@@ -1532,14 +1534,8 @@
       } else {
         this.patientqueryParams.pids = null;
       }
-      // 绫诲瀷鍒ゆ柇
-      if (this.patientqueryParams.allhosp == 1) {
-        this.patientqueryParams.cry = 1;
-      } else if (this.patientqueryParams.allhosp == 4) {
-        this.patientqueryParams.cry = 0;
-        this.patientqueryParams.allhosp = "1";
-      }
-      // 鏉ユ簮鍒ゆ柇
+
+      // 绉戝杩樻槸鐥呭尯
 
       if (this.patientqueryParams.searchscope == 1) {
         this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
@@ -1556,6 +1552,21 @@
         );
         this.patientqueryParams.leavehospitaldistrictcodes =
           store.getters.belongWards.map((obj) => obj.districtCode);
+      }
+      // 鍑洪櫌杩樻槸鍏ラ櫌
+      if (this.patientqueryParams.allhosp == 1) {
+        this.patientqueryParams.cry = 1;
+        this.patientqueryParams.hospitaldistrictcodes = [];
+        this.patientqueryParams.deptcodes = [];
+      } else if (this.patientqueryParams.allhosp == 4) {
+        this.patientqueryParams.deptcodes =
+          this.patientqueryParams.leaveldeptcodes;
+        this.patientqueryParams.hospitaldistrictcodes =
+          this.patientqueryParams.leavehospitaldistrictcodes;
+        this.patientqueryParams.leavehospitaldistrictcodes = [];
+        this.patientqueryParams.leaveldeptcodes = [];
+        this.patientqueryParams.cry = 0;
+        this.patientqueryParams.allhosp = "1";
       }
       getTaskpatientQC(this.patientqueryParams).then((response) => {
         this.patientuserList = response.rows;
@@ -1585,11 +1596,11 @@
           item.isoperation = 1;
           item.patid = item.id;
           item.hospType = this.patientqueryParams.allhosp;
-          item.sfzh = item.idcardno;
+          item.sfzh = item.patientno;
           item.deptCode = item.deptcode;
           item.deptName = item.dept;
           item.admindate = item.inhosptime;
-          item.sfzh = item.idcardno;
+          item.sfzh = item.patientno;
           if (this.patientqueryParams.allhosp == 6) {
             item.patfrom = 1;
           }
@@ -1678,7 +1689,7 @@
     Externallist() {
       this.tableLabelhz = [
         { label: "鎮h��", width: "", prop: "name" },
-        { label: "韬唤璇�", width: "200", prop: "idcardno" },
+        { label: "鎮h�呯紪鍙�", width: "200", prop: "patientno" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
       ];

--
Gitblit v1.9.3