From c1857baa3a4fbce727da5de733fe30d38477978f Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 25 四月 2024 15:05:09 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/propaganda/particty.vue | 1167 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 714 insertions(+), 453 deletions(-)

diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index 7c5e6ef..42620a3 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -11,9 +11,10 @@
           ></el-step>
           <el-step
             icon="el-icon-user"
-            title="瀹f暀瀵硅薄"
-            description="鍦ㄦ湰閮ㄩ�夋嫨瀹f暀鐥呬汉"
+            title="浠诲姟涓讳綋"
+            description="鍦ㄦ湰閮ㄩ�夋嫨鏈嶅姟鎮h��"
           ></el-step>
+          <el-step icon="el-icon-user" title="妯$増纭"></el-step>
         </el-steps>
       </div>
     </div>
@@ -35,51 +36,121 @@
             </div>
             <div class="jic-value">
               <el-form ref="form" :model="form" label-width="105px">
-                <el-form-item label="鍙戦�佹椂闂达細">
+                <el-row :gutter="20">
+                  <el-col :span="12"
+                    ><el-form-item label="浠诲姟鍚嶇О">
+                      <el-input
+                        style="width: 220px"
+                        v-model="form.taskName"
+                        placeholder="璇疯緭鍏ヤ换鍔″悕绉�"
+                      /> </el-form-item
+                  ></el-col>
+                  <el-col :span="12"
+                    ><el-form-item label="妯$増鍚嶇О">
+                      <el-input
+                        style="width: 220px"
+                        :disabled="true"
+                        v-model="form.templatename"
+                        placeholder="璇峰湪涓嬪垪閫夋嫨"
+                      /> </el-form-item
+                  ></el-col>
+                </el-row>
+
+                <el-form-item label="浠诲姟鎻忚堪">
+                  <el-input
+                    type="textarea"
+                    v-model="form.taskDesc"
+                    placeholder="璇疯緭鍏ヤ换鍔℃弿杩�"
+                  />
+                </el-form-item>
+                <el-form-item label="鍙戦�佽缃細" v-if="currenttype != 2">
+                  <el-radio-group v-model="form.sendType">
+                    <el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio>
+                    <el-radio :label="3">鍗冲埢鍙戦��</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+                <el-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1">
                   <el-date-picker
-                    v-model="form.name"
-                    type="date"
-                    placeholder="閫夋嫨鏃ユ湡"
+                    v-model="daytime"
+                    @change="changeTimeday"
+                    type="daterange"
+                    range-separator="鑷�"
+                    start-placeholder="寮�濮嬫棩鏈�"
+                    end-placeholder="缁撴潫鏃ユ湡"
+                    value-format="yyyy-MM-dd"
                   >
                   </el-date-picker>
                 </el-form-item>
-                <el-form-item label="鍙戦�佹椂闂存锛�">
+                <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1">
+                  <div style="display: flex">
+                    <div style="margin-right: 10px">
+                      <span style="font-size: 18px; margin-right: 10px"
+                        >涓婂崍</span
+                      >
+                      <el-time-picker
+                        is-range
+                        arrow-control
+                        @change="changeTime"
+                        v-model="time1"
+                        range-separator="鑷�"
+                        start-placeholder="寮�濮嬫椂闂�"
+                        end-placeholder="缁撴潫鏃堕棿"
+                        placeholder="閫夋嫨鏃堕棿鑼冨洿"
+                        value-format="HH:mm:ss"
+                      >
+                      </el-time-picker>
+                    </div>
+                    <div style="margin-right: 10px">
+                      <span style="font-size: 18px; margin-right: 10px"
+                        >涓嬪崍</span
+                      >
+                      <el-time-picker
+                        is-range
+                        arrow-control
+                        @change="changeTime"
+                        v-model="time2"
+                        range-separator="鑷�"
+                        start-placeholder="寮�濮嬫椂闂�"
+                        end-placeholder="缁撴潫鏃堕棿"
+                        placeholder="閫夋嫨鏃堕棿鑼冨洿"
+                        value-format="HH:mm:ss"
+                      >
+                      </el-time-picker>
+                    </div>
+                    <div style="margin-right: 10px">
+                      <span style="font-size: 18px; margin-right: 10px"
+                        >鏅氶棿</span
+                      >
+                      <el-time-picker
+                        is-range
+                        arrow-control
+                        @change="changeTime"
+                        v-model="time3"
+                        range-separator="鑷�"
+                        start-placeholder="寮�濮嬫椂闂�"
+                        end-placeholder="缁撴潫鏃堕棿"
+                        placeholder="閫夋嫨鏃堕棿鑼冨洿"
+                        value-format="HH:mm:ss"
+                      >
+                      </el-time-picker>
+                    </div>
+                  </div>
+                </el-form-item>
+                <el-form-item label="鏈嶅姟褰㈠紡">
                   <el-checkbox-group v-model="checkList">
-                    <el-checkbox label="涓婂崍锛�8:30-11:30锛�"></el-checkbox>
-                    <el-checkbox label="涓嬪崍锛�14:30-16:30锛�"></el-checkbox>
-                    <el-checkbox label="澶滈棿锛�18:30-20:30锛�"></el-checkbox>
+                    <el-checkbox
+                      v-for="(item, index) in checkboxlist"
+                      :key="index"
+                      :label="item"
+                    ></el-checkbox>
                   </el-checkbox-group>
-                </el-form-item>
-                <el-form-item label="瀹f暀褰㈠紡">
-                  <el-checkbox-group v-model="checkList">
-                    <el-checkbox label="褰撻潰"></el-checkbox>
-                    <el-checkbox label="澶氬獟浣�"></el-checkbox>
-                    <el-checkbox label="绾歌川"></el-checkbox>
-                    <el-checkbox label="鐢佃瘽"></el-checkbox>
-                    <el-checkbox label="鐭俊"></el-checkbox>
-                    <el-checkbox label="寰俊鍏紬鍙�"></el-checkbox>
-                    <el-checkbox label="寰俊灏忕▼搴�"></el-checkbox>
-                    <el-checkbox label="閽夐拤"></el-checkbox>
-                  </el-checkbox-group>
-                </el-form-item>
-                <el-form-item label="鍙戦�佹椂闂存锛�">
-                  <el-radio-group v-model="form.radio">
-                    <el-radio :label="3">鍗曚汉</el-radio>
-                    <el-radio :label="6">澶氫汉</el-radio>
-                  </el-radio-group>
-                </el-form-item>
-                <el-form-item label="璇煶妯$増" prop="region">
-                  <el-select v-model="form.region" placeholder="璇烽�夋嫨妯$増">
-                    <el-option label="涓�鍙锋ā鐗�" value="shanghai"></el-option>
-                    <el-option label="浜屽彿妯$増" value="beijing"></el-option>
-                  </el-select>
                 </el-form-item>
               </el-form>
             </div>
           </div>
           <div class="examine-jic">
             <div class="headline">
-              <div>瀹f暀鍐呭鍒楄〃</div>
+              <div>{{ title }}</div>
             </div>
             <div class="examine-jic">
               <div class="jic-value">
@@ -94,14 +165,99 @@
                     v-show="showSearch"
                     label-width="98px"
                   >
-                    <el-form-item label="瀹f暀涓婚">
+                    <el-form-item
+                      label="瀹f暀涓婚"
+                      v-if="currenttype == 1 || currenttype == 8"
+                    >
                       <el-input v-model="topqueryParams.name"></el-input>
                     </el-form-item>
-                    <el-form-item label="閫傜敤鐤剧梾">
+                    <el-form-item
+                      label="闅忚鍚嶇О"
+                      v-if="
+                        currenttype == 2 || currenttype == 3 || currenttype == 7
+                      "
+                    >
+                      <el-input
+                        v-model="topqueryParams.name"
+                      ></el-input> </el-form-item
+                    ><el-form-item
+                      label="閫氱煡鍚嶇О"
+                      v-if="currenttype == 4 || currenttype == 5"
+                    >
+                      <el-input
+                        v-model="topqueryParams.name"
+                      ></el-input> </el-form-item
+                    ><el-form-item label="浣撴濂楅" v-if="currenttype == 5">
+                      <el-input v-model="topqueryParams.name"></el-input>
+                    </el-form-item>
+                    <el-form-item label="闂嵎涓婚" v-if="currenttype == 6">
+                      <el-input v-model="topqueryParams.name"></el-input>
+                    </el-form-item>
+                    <el-form-item label="閫傜敤鐤剧梾" v-if="currenttype != 5">
                       <el-input v-model="topqueryParams.name"></el-input>
                     </el-form-item>
 
-                    <el-form-item label="瀹f暀绫诲瀷" prop="status">
+                    <el-form-item
+                      label="瀹f暀绫诲瀷"
+                      prop="status"
+                      v-if="currenttype == 1 || currenttype == 8"
+                    >
+                      <el-select
+                        v-model="topqueryParams.topic"
+                        placeholder="璇烽�夋嫨"
+                      >
+                        <el-option
+                          v-for="item in taskoptions"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select>
+                    </el-form-item>
+                    <el-form-item
+                      label="閫氱煡绫诲瀷"
+                      prop="status"
+                      v-if="currenttype == 4 || currenttype == 5"
+                    >
+                      <el-select
+                        v-model="topqueryParams.topic"
+                        placeholder="璇烽�夋嫨"
+                      >
+                        <el-option
+                          v-for="item in taskoptions"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select>
+                    </el-form-item>
+                    <el-form-item
+                      label="闅忚绫诲瀷"
+                      prop="status"
+                      v-if="
+                        currenttype == 2 || currenttype == 3 || currenttype == 7
+                      "
+                    >
+                      <el-select
+                        v-model="topqueryParams.topic"
+                        placeholder="璇烽�夋嫨"
+                      >
+                        <el-option
+                          v-for="item in taskoptions"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select>
+                    </el-form-item>
+                    <el-form-item
+                      label="闂嵎绫诲瀷"
+                      prop="status"
+                      v-if="currenttype == 6"
+                    >
                       <el-select
                         v-model="topqueryParams.topic"
                         placeholder="璇烽�夋嫨"
@@ -161,91 +317,15 @@
                     </el-form-item>
                   </el-form>
                   <el-divider></el-divider>
-                  <el-table
-                    v-loading="loading"
-                    :data="userList"
-                    @selection-change="handleSelectionChange"
-                  >
-                    <el-table-column
-                      type="selection"
-                      width="50"
-                      align="center"
-                    />
-                    <el-table-column
-                      label="搴忓彿"
-                      align="center"
-                      key="id"
-                      prop="id"
-                    />
-
-                    <el-table-column
-                      label="瀹f暀鍚嶇О"
-                      align="center"
-                      sortable
-                      key="name"
-                      prop="name"
-                      :show-overflow-tooltip="true"
-                    />
-                    <el-table-column
-                      label="瀹f暀妯℃澘"
-                      align="center"
-                      key="impTemplate"
-                      prop="impTemplate"
-                    />
-                    <el-table-column
-                      label="鍒涘缓鏃ユ湡"
-                      align="center"
-                      key="create_time"
-                      prop="create_time"
-                    />
-
-                    <el-table-column
-                      label="鍒涘缓浜�"
-                      align="center"
-                      key="update_by"
-                      prop="update_by"
-                      sortable
-                      width="120"
-                      :show-overflow-tooltip="true"
-                    />
-                    <el-table-column
-                      label="鎿嶄綔"
-                      align="center"
-                      width="120"
-                      class-name="small-padding fixed-width"
-                    >
-                      <template slot-scope="scope">
-                        <el-button
-                          size="medium"
-                          type="text"
-                          @click="handleUpdate(scope.row)"
-                          v-hasPermi="['system:user:edit']"
-                          ><span class="button-zx"
-                            ><i class="el-icon-s-promotion"></i>寮�濮嬫墽琛�</span
-                          ></el-button
-                        >
-                      </template>
-                    </el-table-column>
-                    <el-table-column
-                      label="浠诲姟璇︽儏"
-                      align="center"
-                      width="200"
-                      class-name="small-padding fixed-width"
-                    >
-                      <template slot-scope="scope">
-                        <el-button
-                          size="medium"
-                          type="text"
-                          @click="handleUpdate(scope.row)"
-                          v-hasPermi="['system:user:edit']"
-                          ><span class="button-xq"
-                            ><i class="el-icon-s-data"></i>閫夋嫨</span
-                          ></el-button
-                        >
-                      </template>
-                    </el-table-column>
-                  </el-table>
-
+                  <!-- 閫夋嫨妯$増鍒楄〃 -->
+                  <SFtable
+                    @selectfn="selectfn"
+                    :currentList="userList"
+                    :tableLabel="tableLabel"
+                    :controlsc="false"
+                    :multiplechoice="false"
+                    :typeinfo="1"
+                  />
                   <pagination
                     v-show="total > 0"
                     :total="total"
@@ -258,7 +338,7 @@
             </div>
           </div>
         </div>
-        <el-button type="success" @click="submitForm('ruleForm')">{{
+        <el-button type="success" @click="nextstep('ruleForm')">{{
           quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏璁剧疆"
         }}</el-button>
         <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
@@ -269,6 +349,51 @@
         <el-alert title="鍦ㄦ湰闃舵閫夋嫨瀹f暀鐥呬汉" type="success" effect="dark">
         </el-alert>
         <div class="leftvlue-jbxx">
+          <div class="examine-jic">
+            <div class="headline">
+              <div>鍙橀噺鍖归厤閲忓弬</div>
+            </div>
+            <div class="examine-jic">
+              <div class="jic-value">
+                <el-row :gutter="20">
+                  <el-table :data="variableList" style="width: 100%">
+                    <el-table-column
+                      prop="name"
+                      align="center"
+                      label="鍙橀噺鍚嶇О"
+                    >
+                    </el-table-column>
+                    <el-table-column prop="value" align="center" label="鍖归厤绗�">
+                    </el-table-column>
+                    <el-table-column label="鏇挎崲鍊�" align="center">
+                      <template slot-scope="scope">
+                        <el-input
+                          :disabled="scope.row.default"
+                          v-model="scope.row.fill"
+                          placeholder="璇疯緭鍏ュ唴瀹�"
+                        ></el-input>
+                      </template>
+                    </el-table-column>
+                    <el-table-column label="鎿嶄綔" align="center">
+                      <template slot-scope="scope">
+                        <!-- <el-button
+                          size="mini"
+                          @click="variableEdit(scope.$index, scope.row)"
+                          >缂栬緫</el-button
+                        > -->
+                        <el-button
+                          size="mini"
+                          type="danger"
+                          @click="variableDelete(scope.$index, scope.row)"
+                          >鍒犻櫎</el-button
+                        >
+                      </template>
+                    </el-table-column>
+                  </el-table>
+                </el-row>
+              </div>
+            </div>
+          </div>
           <div class="examine-jic">
             <div class="headline">
               <div>鎮h�呭垪琛�</div>
@@ -361,7 +486,7 @@
                   <el-row :gutter="10" class="mb8">
                     <el-col :span="1.5">
                       <el-select
-                        v-model="tasktopic"
+                        v-model="patientqueryParams.allhosp"
                         placeholder="璇烽�夋嫨鏂板绫诲瀷"
                       >
                         <el-option
@@ -379,9 +504,8 @@
                         plain
                         icon="el-icon-plus"
                         size="medium"
-                        :disabled="!tasktopic"
-                        @click="handleAdd"
-                        v-hasPermi="['system:user:add']"
+                        :disabled="!patientqueryParams.allhosp"
+                        @click="handleAddpatient"
                         >鏂板</el-button
                       >
                     </el-col>
@@ -394,152 +518,23 @@
                         size="medium"
                         :disabled="multiple"
                         @click="handleDelete"
-                        v-hasPermi="['system:user:remove']"
                         >鍒犻櫎</el-button
                       >
                     </el-col>
 
                     <!-- <el-col :span="1.5"> </el-col> -->
                   </el-row>
-                  <!-- <right-toolbar
-                :showSearch.sync="showSearch"
-                @queryTable="getList"
-                :columns="columns"
-              ></right-toolbar> -->
-                  <el-table
-                    v-loading="loading"
-                    :data="userList"
-                    @selection-change="handleSelectionChange"
-                  >
-                    <el-table-column
-                      type="selection"
-                      width="50"
-                      align="center"
-                    />
-                    <el-table-column
-                      label="搴忓彿"
-                      align="center"
-                      key="id"
-                      prop="id"
-                    />
-
-                    <el-table-column
-                      label="浠诲姟鍚嶇О"
-                      align="center"
-                      sortable
-                      key="name"
-                      prop="name"
-                      :show-overflow-tooltip="true"
-                    />
-                    <el-table-column
-                      label="鏈嶅姟妯℃澘"
-                      align="center"
-                      key="impTemplate"
-                      prop="impTemplate"
-                    />
-                    <el-table-column
-                      label="鍒涘缓鏃ユ湡"
-                      align="center"
-                      key="create_time"
-                      prop="create_time"
-                    />
-                    <el-table-column
-                      label="鎵ц鐘舵��"
-                      align="center"
-                      key="phonenumber"
-                      prop="phonenumber"
-                      width="120"
-                    />
-
-                    <el-table-column
-                      label="鎵ц鐘舵��"
-                      align="center"
-                      key="topicnumber"
-                      prop="topicnumber"
-                      width="120"
-                      :show-overflow-tooltip="true"
-                    >
-                      <template slot-scope="scope">
-                        <div>鎵ц瀹屾垚/鎵ц澶辫触</div>
-                      </template>
-                    </el-table-column>
-                    <el-table-column
-                      label="鏇存柊浜�"
-                      align="center"
-                      key="update_by"
-                      prop="update_by"
-                      sortable
-                      width="120"
-                      :show-overflow-tooltip="true"
-                    />
-
-                    <el-table-column
-                      label="鏇存柊鏃堕棿"
-                      sortable
-                      align="center"
-                      prop="update_time"
-                      width="160"
-                    >
-                      <template slot-scope="scope">
-                        <span>{{ parseTime(scope.row.createTime) }}</span>
-                      </template>
-                    </el-table-column>
-                    <el-table-column
-                      label="鎿嶄綔"
-                      align="center"
-                      width="120"
-                      class-name="small-padding fixed-width"
-                    >
-                      <template slot-scope="scope">
-                        <el-button
-                          size="medium"
-                          type="text"
-                          @click="handleUpdate(scope.row)"
-                          v-hasPermi="['system:user:edit']"
-                          ><span class="button-zx"
-                            ><i class="el-icon-s-promotion"></i>寮�濮嬫墽琛�</span
-                          ></el-button
-                        >
-                      </template>
-                    </el-table-column>
-                    <el-table-column
-                      label="浠诲姟璇︽儏"
-                      align="center"
-                      width="200"
-                      class-name="small-padding fixed-width"
-                    >
-                      <template slot-scope="scope">
-                        <el-button
-                          size="medium"
-                          type="text"
-                          @click="handleUpdate(scope.row)"
-                          v-hasPermi="['system:user:edit']"
-                          ><span class="button-xq"
-                            ><i class="el-icon-s-data"></i>璇︽儏</span
-                          ></el-button
-                        >
-                        <el-button
-                          size="medium"
-                          type="text"
-                          @click="handleUpdate(scope.row)"
-                          v-hasPermi="['system:user:edit']"
-                          ><span class="button-bb"
-                            ><i class="el-icon-s-order"></i>鎶ヨ〃</span
-                          ></el-button
-                        >
-                        <el-button
-                          size="medium"
-                          type="text"
-                          @click="handleUpdate(scope.row)"
-                          v-hasPermi="['system:user:edit']"
-                          ><span class="button-sc"
-                            ><i class="el-icon-delete"></i>鍒犻櫎</span
-                          ></el-button
-                        >
-                      </template>
-                    </el-table-column>
-                  </el-table>
-
+                  <!-- 閫変腑鎮h�呭垪琛� -->
+                  <SFtable
+                    @details="detailhz"
+                    @handleUpdate="handleUpdate"
+                    @handleSelectionChange="handleSelectionChange"
+                    :currentList="form.patTaskRelevances"
+                    :tableLabel="tableLabelhz"
+                    :serialnumber="false"
+                    :controlxz="false"
+                    :typeinfo="2"
+                  />
                   <pagination
                     v-show="total > 0"
                     :total="total"
@@ -581,7 +576,7 @@
               <el-form-item label="鎮h�呭悕绉帮細">
                 <el-input v-model="patientqueryParams.name"></el-input>
               </el-form-item>
-              <el-form-item label="鎮h�呮潵婧�" prop="status">
+              <!-- <el-form-item label="鎮h�呮潵婧�" prop="status">
                 <el-select
                   v-model="patientqueryParams.topic"
                   placeholder="璇烽�夋嫨"
@@ -594,36 +589,28 @@
                   >
                   </el-option>
                 </el-select>
-              </el-form-item>
-              <el-form-item label="鍑洪櫌绉戝" prop="status">
+              </el-form-item> -->
+              <el-form-item label="灏辫瘖绉戝" prop="status">
                 <el-select
                   v-model="patientqueryParams.topic"
                   placeholder="璇烽�夋嫨"
                 >
-                  <el-option
-                    v-for="item in topicoptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
+                  <el-option-group
+                    v-for="group in topicoptions[0].children"
+                    :key="group.deptName"
+                    :label="group.deptName"
                   >
-                  </el-option>
+                    <el-option
+                      v-for="item in group.children"
+                      :key="item.deptId"
+                      :label="item.deptName"
+                      :value="item.deptId"
+                    >
+                    </el-option>
+                  </el-option-group>
                 </el-select>
               </el-form-item>
 
-              <el-form-item label="鍑洪櫌鐥呭尯" prop="status">
-                <el-select
-                  v-model="patientqueryParams.topic"
-                  placeholder="璇烽�夋嫨"
-                >
-                  <el-option
-                    v-for="item in topicoptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item>
               <el-form-item>
                 <el-button
                   type="primary"
@@ -640,73 +627,16 @@
                 >
               </el-form-item>
             </el-form>
-
-            <el-table
-              v-loading="patientloading"
-              :data="patientuserList"
-              @selection-change="handleSelectionChange"
-            >
-              <el-table-column type="selection" width="50" align="center" />
-              <el-table-column
-                label="搴忓彿"
-                align="center"
-                key="patid"
-                prop="patid"
-              />
-
-              <el-table-column
-                label="鎮h�呭悕绉�"
-                align="center"
-                sortable
-                key="name"
-                prop="name"
-                :show-overflow-tooltip="true"
-              />
-
-              <el-table-column
-                label="鎮h�呮潵婧�"
-                align="center"
-                key="source"
-                prop="source"
-              />
-              <el-table-column
-                label="鎵嬫満鍙风爜"
-                align="center"
-                key="telcode"
-                prop="telcode"
-                width="120"
-                :show-overflow-tooltip="true"
-              />
-
-              <el-table-column
-                label="浠诲姟璇︽儏"
-                align="center"
-                width="200"
-                class-name="small-padding fixed-width"
-              >
-                <template slot-scope="scope">
-                  <el-button
-                    size="medium"
-                    type="text"
-                    @click="handleUpdate(scope.row)"
-                    v-hasPermi="['system:user:edit']"
-                    ><span class="button-xq"
-                      ><i class="el-icon-s-data"></i>璇︽儏</span
-                    ></el-button
-                  >
-
-                  <el-button
-                    size="medium"
-                    type="text"
-                    @click="handleUpdate(scope.row)"
-                    v-hasPermi="['system:user:edit']"
-                    ><span class="button-sc"
-                      ><i class="el-icon-delete"></i>鍒犻櫎</span
-                    ></el-button
-                  >
-                </template>
-              </el-table-column>
-            </el-table>
+            <!-- 閫夋嫨鎮h�呭垪琛� -->
+            <SFtable
+              @handleUpdate="handleUpdate"
+              @handleSelectionChange="handleSelectionChange"
+              :currentList="patientuserList"
+              :tableLabel="tableLabelhz"
+              :serialnumber="false"
+              :center="false"
+              :typeinfo="3"
+            />
           </el-row>
           <pagination
             v-show="patienttotal > 0"
@@ -728,25 +658,98 @@
 </template>
 
 <script>
+import { messagelistpatient } from "@/api/patient/homepage";
+import store from "@/store";
 import {
-  listsvr_prjtask,
-  getsvr_prjtask,
-  addsvr_prjtask,
-  updatesvr_prjtask,
-  delsvr_prjtask,
-  Addpatienttask,
-} from "@/api/smartorpor/svr_prjtask";
-import { listpat_archive } from "@/api/smartorpor/pat_archive";
-import { listsvr_prjtaskline } from "@/api/smartorpor/svr_prjtaskline";
+  getTaskpatient,
+  getlibrarylist,
+  getFollowuplist,
+  getQtemplatelist,
+  getTaskInfo,
+  gethetaskinfo,
+  delhetaskinfo,
+  Editsingletask,
+  getvFollowup,
+} from "@/api/AiCentre/index";
+import { listDept } from "@/api/system/dept";
+
+import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
 
 export default {
+  name: "ServiceDetails",
   data() {
     return {
+      title: "瀹f暀鍐呭鍒楄〃",
+      currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闂嵎
+      id: "",
       Editprogress: 1, //缂栬緫杩涘害
       loading: false, // 閬僵灞�
       patientloading: false, // 閬僵灞�
-      dialogVisible: false, //浠诲姟璇︽儏寮规
       dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+      radio: 1,
+      checkboxlist: [],
+      tableLabel: [],
+
+      // 鎮h�呰〃鍗�
+      tableLabelhz: [
+        { label: "搴忓彿", width: "", prop: "patid" },
+        { label: "鎮h�呭悕绉�", width: "", prop: "name" },
+        { label: "鎬у埆", width: "", prop: "sex" },
+        { label: "骞撮緞", width: "", prop: "age" },
+        { label: "灏辫瘖绉戝", width: "", prop: "deptName" },
+        { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "inhosptime" },
+        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" },
+      ],
+      tableLabelxj: [
+        { label: "瀹f暀鍚嶇О", width: "", prop: "preachname" },
+        { label: "瀹f暀鎻忚堪", width: "", prop: "note" },
+        { label: "瀹f暀褰㈠紡", width: "", prop: "playType" },
+        { label: "閫傜敤鏂瑰紡", width: "", prop: "suitway" },
+        { label: "淇敼鏃ユ湡", width: "", prop: "uploadTime" },
+        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" },
+      ],
+      tableLabelmz: [
+        { label: "闅忚鍚嶇О", width: "", prop: "templateName" },
+        { label: "涓昏鍐呭", width: "", prop: "note" },
+        { label: "淇敼鏃ユ湡", width: "", prop: "updateTime" },
+        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" },
+      ],
+      tableLabelcy: [
+        { label: "闅忚鍚嶇О", width: "", prop: "templateName" },
+        { label: "闅忚璁″垝", width: "", prop: "impTemplate" },
+        { label: "淇敼鏃ユ湡", width: "", prop: "uploadTime" },
+        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" },
+      ],
+      tableLabelfz: [
+        { label: "閫氱煡鍚嶇О", width: "", prop: "templateName" },
+        { label: "閫氱煡妯$増", width: "", prop: "impTemplate" },
+        { label: "淇敼鏃ユ湡", width: "", prop: "uploadTime" },
+        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" },
+      ],
+      tableLabeltj: [
+        { label: "閫氱煡鍚嶇О", width: "", prop: "name" },
+        { label: "閫氱煡妯$増", width: "", prop: "impTemplate" },
+        { label: "淇敼鏃ユ湡", width: "", prop: "uploadTime" },
+        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" },
+      ],
+      tableLabelwj: [
+        { label: "闂嵎鍚嶇О", width: "", prop: "name" },
+        { label: "闂嵎妯$増", width: "", prop: "impTemplate" },
+        { label: "淇敼鏃ユ湡", width: "", prop: "uploadTime" },
+        { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" },
+      ],
+      // 鍙橀噺
+      tableLabelvariable: [
+        { label: "鍙橀噺鍚嶇О", width: "", prop: "variablename" },
+        { label: "鍖归厤绗�", width: "", prop: "character" },
+        { label: "鏇挎崲鍊�", width: "", prop: "Replacementvalue" },
+      ],
+      // 鏃堕棿澶勭悊
+      daytime: [], //鏃ユ湡
+      applydaytime: [], //璁$畻鏃ユ湡
+      time1: "", //涓婂崍鏃堕棿娈�
+      time2: "", //涓嬪崍鏃堕棿娈�
+      time3: "", //鏅氫笂鏃堕棿娈�
       topqueryParams: {
         pageNum: 1, //
         pageSize: 10,
@@ -760,7 +763,7 @@
         pageNum: 1, //
         pageSize: 10,
       },
-      topicoptions: [],
+      topicoptions: [{ children: [{ children: [] }] }],
       showSearch: true, //
       total: 0, //
       sontotal: 0, //
@@ -772,100 +775,263 @@
       // 闈炲涓鐢�
       multiple: true,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
-      userList: null,
-      patientuserList: null,
-      sonuserList: null,
-      tasktopic: null, //鏂板绫诲瀷
-      form: {
-        name: "",
-        region: "",
-        date1: "",
-        date2: "",
-        delivery: false,
-        type: [],
-        resource: "",
-        desc: "",
-      },
-      options: [
+      userList: [], //妯$増鍒楄〃
+      patientuserList: [], //閫夋嫨鎮h�呭垪琛�
+      sonuserList: [], //閫変腑鎮h�呭垪琛�
+      delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍
+      variableList: [
         {
-          value: "閫夐」1",
-          label: "榛勯噾绯�",
+          name: "濮撳悕",
+          value: "${name}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
         },
         {
-          value: "閫夐」2",
-          label: "鍙岀毊濂�",
+          name: "鍦板潃",
+          value: "${dzz}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
         },
         {
-          value: "閫夐」3",
-          label: "铓典粩鐓�",
+          name: "鐢佃瘽",
+          value: "${dhh}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
+        },
+      ], //鍙橀噺鍒楄〃
+      transitionList: [
+        {
+          name: "濮撳悕",
+          value: "${name}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
         },
         {
-          value: "閫夐」4",
-          label: "榫欓』闈�",
+          name: "鍦板潃",
+          value: "${dzz}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
         },
         {
-          value: "閫夐」5",
-          label: "鍖椾含鐑ら腑",
+          name: "鐢佃瘽",
+          value: "${dhh}",
+          fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�",
+          default: true,
         },
       ],
+      variableListTime: [],
+      tasktopic: null, //鏂板绫诲瀷
+      SelectPatientslist: [],
+      form: {
+        serviceform: [],
+        patTaskRelevances: [],
+        sendType: 1,
+        templatename: "",
+        templateid: null,
+      },
       taskoptions: [
         {
           value: "1",
-          label: "閫氱煡",
+          label: "鍑洪櫌鐥呬汉",
         },
         {
           value: "2",
-          label: "闅忚",
+          label: "闂ㄨ瘖鐥呬汉",
         },
         {
           value: "3",
-          label: "闂嵎",
-        },
-        {
-          value: "4",
-          label: "瀹f暀",
+          label: "浣撴鐥呬汉",
         },
       ],
       quote: false,
     };
   },
+  components: { SFtable },
 
   created() {
-    this.Addsubtask();
-    this.Getsubtask();
+    this.id = this.$route.query.id;
+    this.form.hospType = this.$route.query.type;
+    this.listDept();
+    this.Acquisitiontype();
+    this.Getdetails();
   },
 
   methods: {
-    // 涓嬩竴姝�
-    submitForm(formName) {
+    // {
+    //   濮撳悕: { "${name}": "榫欏偛澶�" },
+    //   鍦板潃: { "${dzz}": "榫欏" },
+    //   鐢佃瘽: { "${dhh}": "鍏釜鍏�" },
+    // }
+    // 鍙橀噺杞崲瀵硅薄杞暟缁�
+    convertFormat1ToFormat2(data) {
+      let result = [];
+      for (let key in data) {
+        let innerKey = Object.keys(data[key])[0];
+        result.push({
+          name: key,
+          value: innerKey,
+          fill: data[key][innerKey],
+        });
+      }
+      return result;
+    },
+    // 鏁扮粍杞璞�
+    convertFormat2ToFormat1(data) {
+      let result = {};
+      data.forEach((item) => {
+        let innerObj = {};
+        innerObj[item.value] = item.fill;
+        result[item.name] = innerObj;
+      });
+      return result;
+    },
+    // 鑾峰彇褰撳墠绫诲瀷
+    Acquisitiontype() {
+      let queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        isavailable: "",
+      };
+      this.currenttype = this.$route.query.type;
+      console.log(this.currenttype, "1");
+      if (this.currenttype == 1 || this.currenttype == 8) {
+        // 鍖绘妧瀹f暀锛屾櫘閫氬鏁�
+        this.title = "瀹f暀鍐呭鍒楄〃";
+        this.tableLabel = this.tableLabelxj;
+        this.checkboxlist = [
+          "绾夸笅锛堝彛澶村鏁欍�佺數瑙嗗鏁欍�佺焊璐級",
+          "绾夸笂锛堢煭淇�/閽夐拤鐨勬枃鏈�佸浘鏂囬摼鎺ワ級",
+        ];
+        getlibrarylist(queryParams).then((response) => {
+          this.userList = response.rows;
+          this.total = response.total;
+        });
+      } else if (
+        this.currenttype == 2 ||
+        this.currenttype == 3 ||
+        this.currenttype == 7
+      ) {
+        // 鍑洪櫌銆侀棬璇娿�佷笓鐥呴殢璁�
+        this.title = "闅忚鍐呭鍒楄〃";
+        this.tableLabel = this.tableLabelmz;
+        this.checkboxlist = ["绾夸笅", "AI璇煶澶栧懠", "浜哄伐鐢佃瘽"];
+        getFollowuplist(queryParams).then((response) => {
+          this.userList = response.rows;
+          this.total = response.total;
+        });
+      } else if (this.currenttype == 4 || this.currenttype == 5) {
+        // 澶嶈瘖銆佷綋妫�閫氱煡
+        this.title = "閫氱煡鍐呭鍒楄〃";
+        this.tableLabel = this.tableLabelfz;
+        this.checkboxlist = ["绾夸笅", "AI璇煶澶栧懠", "浜哄伐鐢佃瘽", "鐭俊"];
+        getFollowuplist(queryParams).then((response) => {
+          this.userList = response.rows;
+          this.total = response.total;
+        });
+      } else if (this.currenttype == 6) {
+        this.title = "闂嵎鍐呭鍒楄〃";
+        this.tableLabel = this.tableLabelwj;
+        this.checkboxlist = [
+          "绾夸笅锛堢焊璐級",
+          "绾夸笂锛堢煭淇�/閽夐拤鐨勬枃鏈�侀棶鍗烽摼鎺ワ級",
+        ];
+        getQtemplatelist(queryParams).then((response) => {
+          this.userList = response.rows;
+          this.total = response.total;
+        });
+      }
+    },
+    nextstep() {
       if (this.Editprogress <= 3) {
         return this.Editprogress++;
       }
-      // 鎻愪氦
-      // this.$refs[formName].validate((valid, object) => {
-      //   if (valid) {
-      //     alert("submit!");
-      //   } else {
-      //     console.log("error submit!!", object);
-      //     return false;
-      //   }
-      // });
     },
-    // 瀛愪换鍔′竴绾у脊妗�
-    handleAdd() {
-      this.multiple = true;
-      listsvr_prjtaskline(this.deliverytopqueryParams).then((response) => {
-        console.log(response);
-        this.sonuserList = response.rows;
-        this.sontotal = response.total;
-        this.loading = false;
+    // 淇濆瓨
+    submitForm(formName) {
+      this.form.serviceform = this.checkList.join(",");
+      this.form.hospType = this.currenttype;
+      const filteredArray = this.variableList.filter(
+        (item) =>
+          item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃"
+      );
+      console.log(filteredArray, "瀛樺墠鍙橀噺");
+      this.form.textParam = this.convertFormat2ToFormat1(filteredArray);
+      if (this.form.id) {
+        this.form.isoperation = 2;
+      } else {
+        this.form.isoperation = 1;
+      }
+      Editsingletask(this.form).then((res) => {
+        if (res.code == 200) {
+          if (this.form.id) {
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+          } else {
+            this.$modal.msgSuccess("淇敼鎴愬姛");
+          }
+          this.$router.go(-1);
+        }
       });
-      this.dialogVisible = true;
+    },
+    // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
+    // 閫夋嫨妯$増
+    selectfn(row, type) {
+      // 妯$増鎯呭喌涓嬭幏鍙栨ā鐗堜俊鎭�
+      if (type == 1) {
+        if (
+          this.currenttype == 2 ||
+          this.currenttype == 4 ||
+          this.currenttype == 3 ||
+          currenttype == 5 ||
+          currenttype == 7
+        ) {
+          this.form.templatename = row.templateName;
+          this.form.templateid = row.id;
+        } else if (this.currenttype == 1) {
+          this.form.templatename = row.preachname;
+          this.form.templateid = row.id;
+        }
+        getvFollowup({ id: row.id }).then((res) => {
+          if (res.code == 200) {
+            const data = res.data;
+            this.Variablehandling(data.ivrLibaTemplateScriptVOList, 1);
+          }
+        });
+      } else if (type == 2) {
+      } else if (type == 3) {
+      }
+    },
+    // 澶勭悊闂灞傚彉閲�
+    Variablehandling(arr, type) {
+      let Variablist = [];
+      if (type == 1) {
+        console.log(arr);
+        // 寰幆闂
+        arr.forEach((res) => {
+          console.log(JSON.parse(res.otherdata), "ss");
+          // 寰幆閫夐」
+          JSON.parse(res.otherdata).forEach((item) => {
+            if (item.default != 1) {
+              Variablist.push({
+                value: item.variate,
+                fill: "",
+                name: item.variatename,
+              });
+            }
+          });
+        });
+        console.log(Variablist, "Variablist");
+        const Aarr = Variablist.filter(
+          (obj, index, self) =>
+            index ===
+            self.findIndex((t) => t.name === obj.name && t.value === obj.value)
+        );
+        this.variableList = this.transitionList.concat(Aarr);
+        // this.form.textParam = this.convertFormat2ToFormat1(this.variableList);
+      }
     },
     // 瀛愪换鍔′簩绾у脊妗�
-    handleAddpatient() {
-      console.log(this.multiple);
-      listpat_archive(this.patientqueryParams).then((response) => {
+    handleAddpatient(row) {
+      getTaskpatient(this.patientqueryParams).then((response) => {
         console.log(response);
         this.patientuserList = response.rows;
         this.patienttotal = response.total;
@@ -878,18 +1044,21 @@
     handleExport() {},
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
+      console.log("澶氶�夋偅鑰�");
+      this.SelectPatientslist = selection;
       this.ids = null;
       this.ids = selection.map((item) => item.patid).join(",");
       // let result = this.ids.join(",");
       this.multiple = !selection.length;
       console.log(this.ids);
     },
+    // 鍒犻櫎閫変腑鎮h��
+    detailhz(row, info) {},
     getList() {},
-    handleQuery() {},
-    resetQuery() {},
-    handleCloserw() {
-      this.dialogVisible = false;
+    handleQuery() {
+      this.handleAddpatient();
     },
+    resetQuery() {},
     handleClosehz() {
       this.dialogVisiblepatient = false;
     },
@@ -906,37 +1075,123 @@
     Acknowledgereference() {
       this.quote = true;
     },
-    // 鏂板瀛愪换鍔�
-    Addsubtask() {
-      this.topqueryParams.pguid = 2;
-      // addsvr_prjtask(this.topqueryParams).then((res) => {
-      //   console.log(res);
-      // });
+    // 鑾峰彇璇︽儏
+    Getdetails() {
+      if (this.id) {
+        getTaskInfo({ taskid: this.id }).then((res) => {
+          let filteredArray = "";
+          if (res.code == 200) {
+            this.form = res.data;
+            this.checkList = this.form.serviceform.split(",");
+            this.daytime = this.form.sendlimitabegin.split(",");
+            if (this.form.sendlimitaend)
+              this.time1 = this.form.sendlimitaend.split(",");
+            if (this.form.sendlimitnbegin)
+              this.time2 = this.form.sendlimitaend.split(",");
+            if (this.form.sendlimitnend)
+              this.time3 = this.form.sendlimitaend.split(",");
+            filteredArray = this.convertFormat1ToFormat2(this.form.textParam);
+            console.log(filteredArray, "filteredArray");
+            this.variableList = this.transitionList.concat(filteredArray);
+          } else {
+            this.$modal.msgError(res.code);
+          }
+          console.log(res);
+        });
+      }
+    },
+    // 鑾峰彇绉戝鍒楄〃
+    listDept() {
+      listDept().then((res) => {
+        this.topicoptions = this.handleTree(res.data, "deptId");
+        console.log(this.topicoptions, "topicoptions");
+      });
     },
     // 鏂板娲鹃�佹偅鑰�
     AddDispatchpatients() {
-      let objictpint = {};
-      objictpint.patientes = this.ids;
-      objictpint.pguid = 2;
-      Addpatienttask(objictpint).then((res) => {
-        console.log(res);
+      this.SelectPatientslist.forEach((item) => {
+        item.isoperation = 1;
       });
+      this.form.patTaskRelevances.push(...this.SelectPatientslist);
       this.dialogVisiblepatient = false;
     },
 
-    // 鏌ヨ瀛愪换鍔″垪琛�
-    Getsubtask() {
-      this.topqueryParams.pguid = 2;
-      console.log(this.topqueryParams);
-      // this.topqueryParams.pid = this.$route.query.id;
-      // console.log(this.topqueryParams.pid);
-      listsvr_prjtask(this.topqueryParams).then((res) => {
-        this.userList = res.rows;
-        this.total = res.total;
-        console.log(this.userList);
-      });
+    // 鍙橀噺---------------
+    // variableEdit(index, row) {
+    //   console.log(index, row);
+    // },
+    variableDelete(index, row) {
+      this.variableList.splice(index, 1);
+      row.isoperation = 3;
+      this.delvariableList.push(row);
+      console.log(index, row);
     },
-    /** 鏌ヨ鎮h�呭垪琛� */
+    // 鏃堕棿----------
+    changeTime(row) {
+      console.log(row, "鏃堕棿");
+      this.processingTime();
+    },
+    changeTimeday(row) {
+      const startDate = new Date(row[0]);
+      const endDate = new Date(row[1]);
+      this.applydaytime = this.getDates(startDate, endDate);
+      this.processingTime();
+    },
+    getDates(startDate, endDate) {
+      const dates = [];
+      let currentDate = new Date(startDate);
+
+      while (currentDate <= endDate) {
+        dates.push(this.$moment(currentDate).format("YYYY-MM-DD"));
+        currentDate.setDate(currentDate.getDate() + 1);
+      }
+
+      return dates;
+    },
+    // 鏃堕棿鏈�缁堝鐞嗘柟娉�
+    processingTime() {
+      const combinedData = [];
+      let serialnumber = 1;
+      if (this.time3[0]) {
+        serialnumber = 3;
+      } else if (this.time2[0]) {
+        serialnumber = 2;
+      } else if (this.time1[0]) {
+        serialnumber = 1;
+      } else {
+        return;
+      }
+
+      for (let i = 0; i < this.applydaytime.length; i++) {
+        combinedData.push({
+          begantime: `${this.applydaytime[i]} ${this.time1[0]}`,
+          endtime: `${this.applydaytime[i]} ${this.time1[1]}`,
+          xh: serialnumber * i + 1,
+        });
+        if (serialnumber >= 2) {
+          combinedData.push({
+            begantime: `${this.applydaytime[i]} ${this.time2[0]}`,
+            endtime: `${this.applydaytime[i]} ${this.time2[1]}`,
+            xh: serialnumber * i + 2,
+          });
+        }
+        if (serialnumber >= 3) {
+          combinedData.push({
+            begantime: `${this.applydaytime[i]} ${this.time3[0]}`,
+            endtime: `${this.applydaytime[i]} ${this.time3[1]}`,
+            xh: serialnumber * i + 3,
+          });
+        }
+      }
+      this.form.sendTimeslot = combinedData;
+      // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄
+
+      this.form.sendlimitabegin = this.daytime.join(",");
+      if (this.time1) this.form.sendlimitaend = this.time1.join(",");
+      if (this.time2) this.form.sendlimitnbegin = this.time2.join(",");
+      if (this.time3) this.form.sendlimitnend = this.time3.join(",");
+      console.log(combinedData, "combinedData");
+    },
   },
 };
 </script>
@@ -1093,6 +1348,12 @@
     font-size: 24px;
   }
 }
+::v-deep.el-input.is-disabled .el-input__inner {
+  background-color: #f5f7fa;
+  border-color: #dfe4ed;
+  color: rgb(253, 66, 66);
+  cursor: not-allowed;
+}
 ::v-deep.el-checkbox-group {
   span {
     font-size: 24px;

--
Gitblit v1.9.3