From 09a1bd58e04706d7e1d6e1543b990c08a4b8f97c Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 16 一月 2025 13:57:03 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/tasklist/index.vue | 1201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,196 insertions(+), 5 deletions(-)

diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 9ff8630..454091a 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -1,17 +1,1208 @@
 <template>
-  <div>浠诲姟鍒楄〃</div>
+  <div class="app-container">
+    <el-row :gutter="20">
+      <!--鐢ㄦ埛鏁版嵁-->
+
+      <el-form
+        :model="topqueryParams"
+        ref="queryForm"
+        size="small"
+        :inline="true"
+        v-show="showSearch"
+        label-width="98px"
+      >
+        <el-form-item label="浠诲姟鍚嶇О">
+          <el-input
+            v-model="topqueryParams.taskName"
+            @keyup.enter.native="handleQuery"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="鍒涘缓浜�">
+          <el-input
+            v-model="topqueryParams.createBy"
+            @keyup.enter.native="handleQuery"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="鍒涘彂閫佹椂闂�">
+          <el-date-picker
+            v-model="dateRange"
+            style="width: 240px"
+            value-format="yyyy-MM-dd"
+            type="daterange"
+            range-separator="-"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
+          ></el-date-picker>
+        </el-form-item>
+
+        <el-form-item label="浠诲姟妯℃澘" prop="status">
+          <el-input
+            v-model="topqueryParams.templatename"
+            @keyup.enter.native="handleQuery"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="浠诲姟鐘舵��" prop="status">
+          <el-select v-model="topqueryParams.sendState" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in dict.type.task_status"
+              :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="handleQuery"
+            >鎼滅储</el-button
+          >
+          <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
+            >閲嶇疆</el-button
+          >
+        </el-form-item>
+      </el-form>
+      <el-divider></el-divider>
+      <el-row :gutter="10" class="mb8">
+        <el-col :span="1.5">
+          <el-select
+            @change="handleQuerytask"
+            v-model="tasktopic"
+            placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷"
+          >
+            <el-option
+              v-for="item in taskoptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-col>
+        <el-col :span="1.5">
+          <el-select
+            @change="handleQuery"
+            v-model="topqueryParams.type"
+            placeholder="璇烽�夋嫨鎵ц绫诲瀷"
+          >
+            <el-option
+              v-for="item in longtermlist"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="primary"
+            icon="el-icon-plus"
+            size="medium"
+            @click="handleAdd"
+            :disabled="!tasktopic"
+            >鏂板缓浠诲姟</el-button
+          >
+        </el-col>
+
+        <!-- <el-col :span="19">
+          <div class="documentf">
+            <div class="document">
+              <el-button
+                type="warning"
+                plain
+                icon="el-icon-download"
+                size="medium"
+                @click="handleExport"
+                v-hasPermi="['system:user:export']"
+                >瀵煎嚭</el-button
+              >
+            </div>
+          </div>
+        </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">
+        <!-- <el-table-column
+          label="搴忓彿"
+          fixed
+          align="center"
+          key="taskid"
+          prop="taskid"
+        /> -->
+
+        <el-table-column
+          label="浠诲姟鍚嶇О"
+          fixed
+          width="120"
+          align="center"
+          key="taskName"
+          prop="taskName"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="浠诲姟鎻忚堪"
+          width="280"
+          align="center"
+          key="taskDesc"
+          prop="taskDesc"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="鏈嶅姟椤圭洰"
+          width="120"
+          align="center"
+          key="templatename"
+          prop="templatename"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="寰呮墽琛�/鎬讳换鍔�"
+          align="center"
+          key="nickName"
+          prop="nickName"
+        >
+          <template slot-scope="scope">
+            <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="鏄惁闀挎湡浠诲姟"
+          align="center"
+          key="longTask"
+          prop="longTask"
+          width="120"
+        >
+          <template slot-scope="scope">
+            <span>{{ scope.row.longTask ? "闀挎湡浠诲姟" : "闈為暱鏈�" }}</span>
+          </template>
+        </el-table-column>
+
+        <el-table-column
+          label="鐘舵��"
+          align="center"
+          key="sendState"
+          prop="sendState"
+          width="120"
+        >
+          <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.task_status"
+              :value="scope.row.sendState"
+            />
+          </template>
+        </el-table-column>
+
+        <el-table-column
+          label="鍒涘缓浜�"
+          align="center"
+          key="createBy"
+          prop="createBy"
+          width="120"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="鍒涘缓鏃堕棿"
+          sortable
+          align="center"
+          prop="createTime"
+          width="160"
+        >
+          <template slot-scope="scope">
+            <span>{{ formatTime(scope.row.createTime) }}</span>
+          </template>
+        </el-table-column>
+
+        <el-table-column
+          label="鎿嶄綔"
+          fixed="right"
+          align="center"
+          width="180"
+          class-name="small-padding fixed-width"
+        >
+          <template slot-scope="scope">
+            <el-button
+              v-if="
+                (scope.row.sendState == 1 || scope.row.sendState == 3) &&
+                !scope.row.longTask
+              "
+              size="medium"
+              type="text"
+              @click="sponsor(scope.row)"
+              ><span class="button-zx"
+                ><i class="el-icon-s-promotion"></i>鍙戣捣</span
+              ></el-button
+            >
+            <!-- <el-button size="medium" type="text" @click="newAdd(scope.row)"
+              ><span class="button-xj"
+                ><i class="el-icon-circle-plus-outline"></i>缁堟</span
+              ></el-button
+            > -->
+            <el-button
+              size="medium"
+              type="text"
+              @click="handleUpdate(scope.row, 1)"
+              ><span class="button-xj"
+                ><i class="el-icon-circle-plus-outline"></i>渚濈収鏂板</span
+              ></el-button
+            >
+            <el-button
+              v-if="scope.row.sendState == 2"
+              size="medium"
+              type="text"
+              @click="stop(scope.row)"
+              ><span class="button-zt"
+                ><i class="el-icon-circle-plus-outline"></i>鏆傚仠</span
+              ></el-button
+            >
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="浠诲姟璇︽儏"
+          fixed="right"
+          align="center"
+          width="200"
+          class-name="small-padding fixed-width"
+        >
+          <template slot-scope="scope">
+            <el-button
+              size="medium"
+              type="text"
+              @click="handleUpdate(scope.row)"
+              ><span class="button-xq"
+                ><i class="el-icon-s-data"></i>璇︽儏</span
+              ></el-button
+            >
+
+            <el-button size="medium" type="text" @click="deletefn(scope.row)"
+              ><span class="button-sc"
+                ><i class="el-icon-delete"></i>鍒犻櫎</span
+              ></el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <pagination
+        v-show="total > 0"
+        :total="total"
+        :page.sync="topqueryParams.pageNum"
+        :limit.sync="topqueryParams.pageSize"
+        @pagination="getList"
+      />
+    </el-row>
+    <!-- 纭鍙戣捣瀵硅瘽妗� -->
+    <el-dialog
+      title="浠诲姟鍙戣捣纭"
+      :visible.sync="taskformVisible"
+      width="50%"
+      :before-close="handleClose"
+    >
+      <el-tabs type="border-card" v-model="activname">
+        <el-tab-pane>
+          <span slot="label"><i class="el-icon-date"></i> 姝e父鍙戣捣</span>
+          <div style="font-size: 20px; color: red; margin-bottom: 20px">
+            璇风‘璁や换鍔�"{{ taskform.taskName }}"鐨勬墽琛屾椂闂�
+          </div>
+          <div
+            style="font-size: 18px; margin-bottom: 20px"
+            v-if="taskform.showDate"
+          >
+            鎵ц鏃ユ湡锛�<span
+              style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+              >{{ taskform.showDate[0] }} 鑷� {{ taskform.showDate[1] }}</span
+            >
+          </div>
+          <div
+            style="font-size: 18px; margin-bottom: 20px"
+            v-if="taskform.showTimeMorn[0]"
+          >
+            绗竴鏃堕棿娈碉細<span
+              style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+              >{{ taskform.showTimeMorn[0] }} 鑷�
+              {{ taskform.showTimeMorn[1] }}</span
+            >
+          </div>
+          <div
+            style="font-size: 18px; margin-bottom: 20px"
+            v-if="taskform.showTimeNight[0]"
+          >
+            绗簩鏃堕棿娈碉細<span
+              style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+              >{{ taskform.showTimeNight[0] }} 鑷�
+              {{ taskform.showTimeNight[1] }}</span
+            >
+          </div>
+          <div
+            style="font-size: 18px; margin-bottom: 20px"
+            v-if="taskform.showTimeNoon[0]"
+          >
+            绗笁鏃堕棿娈碉細<span
+              style="font-size: 18px; color: #2376b7; margin-bottom: 20px"
+              >{{ taskform.showTimeNoon[0] }} 鑷�
+              {{ taskform.showTimeNoon[1] }}</span
+            >
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="绔嬪嵆鎵ц">
+          <div style="font-size: 20px; color: red; margin-bottom: 20px">
+            姝ゆ搷浣滃皢绔嬪嵆鍙戣捣骞舵墽琛屼换鍔�:{{ taskform.taskName }}锛岃璋ㄦ厧鎿嶄綔锛�
+          </div>
+        </el-tab-pane>
+      </el-tabs>
+      <div style="text-align: right; margin: 20px 0">
+        <el-button style="margin-right: 20px" @click="taskformVisible = false"
+          >鍙� 娑�</el-button
+        >
+        <el-button
+          style="margin-right: 20px"
+          type="success"
+          @click="confirmSponsor(taskform)"
+          >纭鎵ц</el-button
+        >
+        <el-button type="primary" @click="handleUpdate(taskform)"
+          >鍓嶅線淇敼</el-button
+        >
+      </div>
+    </el-dialog>
+  </div>
 </template>
 
 <script>
+import {
+  getUser,
+  delUser,
+  addUser,
+  updateUser,
+  resetUserPwd,
+  changeUserStatus,
+} from "@/api/system/user";
+import {
+  getTasklist,
+  getTaskInfo,
+  Editsingletask,
+  delTaskInfo,
+  Questionnairetasklist,
+  Questionnairetaskget,
+  Questionnairetasksponsor,
+  TaskTemplateSendExecution,
+} from "@/api/AiCentre/index";
+import store from "@/store";
+
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
 export default {
+  name: "Tasklist",
+  dicts: ["sys_normal_disable", "sys_user_sex", "task_status"],
+  components: { Treeselect },
   data() {
-    return {};
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+      userList: null,
+      // 寮瑰嚭灞傛爣棰�
+      title: "鏂板褰卞儚闅忚",
+      // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
+      addalteropen: false,
+      // 閮ㄩ棬鍚嶇О
+      deptName: undefined,
+      // 榛樿瀵嗙爜
+      initPassword: undefined,
+      // 鏃ユ湡鑼冨洿
+      dateRange: [],
+      // 宀椾綅閫夐」
+      postOptions: [],
+      // 瑙掕壊閫夐」
+      roleOptions: [],
+      longTask: 0,
+      taskform: {
+        showDate: [],
+        showTimeMorn: [],
+        showTimeNight: [],
+        showTimeNoon: [],
+      },
+      taskformVisible: false,
+      dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
+      inputVisible: false,
+      inputValue: "",
+      previewVisible: false, //褰卞儚闅忚棰勮寮规
+      TaskOperation: {},
+      radio: "",
+      radios: [],
+      previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
+      total: 0, // 鎬绘潯鏁�
+      ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲�
+      //棰勮褰卞儚闅忚淇℃伅
+      previewvalue: {
+        username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
+      },
+      longtermlist: [
+        {
+          value: 1,
+          label: "璇煶闅忚",
+        },
+        {
+          value: 2,
+          label: "闂嵎闅忚",
+        },
+        {
+          value: 3,
+          label: "瀹f暀鍏虫��",
+        },
+      ],
+      taskoptions: [
+        {
+          value: "1",
+          label: "蹇冪數闅忚",
+        },
+        {
+          value: "2",
+          label: "鍑洪櫌闅忚",
+        },
+        {
+          value: "3",
+          label: "褰卞儚闅忚",
+        },
+        {
+          value: "4",
+          label: "瀹f暀鍏虫��",
+        },
+        {
+          value: "5",
+          label: "浣撴闅忚",
+        },
+        {
+          value: "6",
+          label: "婊℃剰搴﹁皟鏌�",
+        },
+        {
+          value: "7",
+          label: "鎮h�呮姤鍛�",
+        },
+
+        {
+          value: "8",
+          label: "鍏朵粬閫氱煡",
+        },
+      ],
+      tasktopic: "2", //鏂板绫诲瀷
+      activname: "",
+      value: [],
+      list: [],
+      loading: false,
+      states: [
+        "Alabama",
+        "Alaska",
+        "Arizona",
+        "Arkansas",
+        "California",
+        "Colorado",
+        "Connecticut",
+        "Delaware",
+        "Florida",
+        "Georgia",
+        "Hawaii",
+        "Idaho",
+        "Illinois",
+        "Indiana",
+        "Iowa",
+        "Kansas",
+        "Kentucky",
+        "Louisiana",
+        "Maine",
+        "Maryland",
+        "Massachusetts",
+        "Michigan",
+        "Minnesota",
+        "Mississippi",
+        "Missouri",
+        "Montana",
+        "Nebraska",
+        "Nevada",
+        "New Hampshire",
+        "New Jersey",
+        "New Mexico",
+        "New York",
+        "North Carolina",
+        "North Dakota",
+        "Ohio",
+        "Oklahoma",
+        "Oregon",
+        "Pennsylvania",
+        "Rhode Island",
+        "South Carolina",
+        "South Dakota",
+        "Tennessee",
+        "Texas",
+        "Utah",
+        "Vermont",
+        "Virginia",
+        "Washington",
+        "West Virginia",
+        "Wisconsin",
+        "Wyoming",
+      ],
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        shortcuts: [
+          {
+            text: "浠婂ぉ",
+            onClick(picker) {
+              picker.$emit("pick", new Date());
+            },
+          },
+          {
+            text: "鏄ㄥぉ",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() - 3600 * 1000 * 24);
+              picker.$emit("pick", date);
+            },
+          },
+          {
+            text: "涓�鍛ㄥ墠",
+            onClick(picker) {
+              const date = new Date();
+              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
+              picker.$emit("pick", date);
+            },
+          },
+        ],
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {
+        phonenumber: "",
+        totagid: "",
+        types: "",
+        nickName: "",
+        qystatus: "",
+        btstatus: "",
+      },
+      // 鏌ヨ鍙傛暟
+      topqueryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        type: 2,
+        userName: undefined,
+        tagid: undefined,
+        topic: undefined,
+      },
+      propss: { multiple: true },
+      options: [],
+      checkboxlist: [],
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        userName: [
+          { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+          {
+            min: 2,
+            max: 20,
+            message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
+            trigger: "blur",
+          },
+        ],
+        nickName: [
+          { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        password: [
+          { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
+          {
+            min: 5,
+            max: 20,
+            message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
+            trigger: "blur",
+          },
+        ],
+        email: [
+          {
+            type: "email",
+            message: "璇疯緭鍏ユ纭殑閭鍦板潃",
+            trigger: ["blur", "change"],
+          },
+        ],
+        phonenumber: [
+          {
+            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+            message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
+            trigger: "blur",
+          },
+        ],
+        IDnumber: [
+          {
+            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",
+          },
+        ],
+      },
+    };
   },
+  watch: {},
+  created() {
+    this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+      (obj) => obj.deptCode
+    );
+    this.topqueryParams.leavehospitaldistrictcodes =
+      store.getters.belongWards.map((obj) => obj.districtCode);
+    this.tasktopic = this.$route.query.tasktopic
+      ? this.$route.query.tasktopic
+      : this.tasktopic;
+    this.getList();
+    this.getConfigKey("sys.user.initPassword").then((response) => {
+      this.initPassword = response.msg;
+    });
+    this.checkboxlist = store.getters.checkboxlist;
+  },
+  activated() {
+    this.getList();
+  },
+  // 鎼滅储
+  mounted() {
+    this.list = this.states.map((item) => {
+      return { value: `value:${item}`, label: `label:${item}` };
+    });
+  },
+  methods: {
+    /** 鏌ヨ浠诲姟鍒楄〃 */
+    getList() {
+      this.loading = true;
+      console.log(this.topqueryParams.type);
 
-  created() {},
+      this.topqueryParams.serviceType = Number(this.tasktopic);
+      if (
+        this.tasktopic == 2 ||
+        this.tasktopic == 3 ||
+        this.tasktopic == 1 ||
+        this.tasktopic == 7 ||
+        this.tasktopic == 6
+      ) {
+        if (!this.topqueryParams.type) this.topqueryParams.type = '2';
+        this.longtermlist = [
+          {
+            value: 1,
+            label: "璇煶闅忚",
+          },
+          {
+            value: 2,
+            label: "闂嵎闅忚",
+          },
+        ];
+      } else if (this.tasktopic == 4 || this.tasktopic == 8) {
+        if (!this.topqueryParams.type) this.topqueryParams.type = '3';
+        this.longtermlist = [
+          {
+            value: 3,
+            label: "瀹f暀鍏虫��",
+          },
+        ];
+      } else if (this.tasktopic == 5) {
+        if (!this.topqueryParams.type) this.topqueryParams.type = '1';
+        this.longtermlist = [
+          {
+            value: 1,
+            label: "璇煶闅忚",
+          },
+          {
+            value: 2,
+            label: "闂嵎闅忚",
+          },
+        ];
+      }
+      // this.topqueryParams.typename = this.findLabelByValue(
+      //   this.taskoptions,
+      //   this.tasktopic
+      // );
+      this.topqueryParams.startOutHospTime = this.dateRange[0];
+      this.topqueryParams.endOutHospTime = this.dateRange[1];
+      getTasklist(this.topqueryParams).then((response) => {
+        this.userList = response.rows;
+        this.total = response.total;
+        this.$forceUpdate();
+        this.loading = false;
+      });
+    },
+    // 鏌ョ湅褰卞儚闅忚璇︽儏
+    Referencequestion(row) {
+      this.previewVisible = true;
+    },
+    // 娣诲姞寮规鎼滅储
+    remoteMethod(query) {
+      if (query !== "") {
+        this.loading = true;
+        setTimeout(() => {
+          this.loading = false;
+          this.options = this.list.filter((item) => {
+            return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1;
+          });
+        }, 200);
+      } else {
+        this.options = [];
+      }
+    },
 
-  methods: {},
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        userId: undefined,
+        deptId: undefined,
+        userName: undefined,
+        nickName: undefined,
+        password: undefined,
+        phonenumber: undefined,
+        email: undefined,
+        sex: undefined,
+        status: "0",
+        remark: undefined,
+        postIds: [],
+        roleIds: [],
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuerytask() {
+      this.topqueryParams.pageNum = 1;
+      // this.topqueryParams.type = '';
+      this.getList();
+    },
+    handleQuery() {
+      this.topqueryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.topqueryParams.deptId = undefined;
+      this.$refs.tree.setCurrentKey(null);
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.userId);
+      this.single = selection.length != 1;
+      this.multiple = !selection.length;
+    },
+    //鍒犻櫎閫夐」
+    handleClose(tag) {
+      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+    },
+    //瑙﹀彂鏂板杈撳叆
+    showInput() {
+      this.inputVisible = true;
+      this.$nextTick((_) => {
+        this.$refs.saveTagInput.$refs.input.focus();
+      });
+    },
+    //鑾峰彇澶卞幓鐒︾偣瑙﹀彂
+    handleInputConfirm() {
+      let inputValue = this.inputValue;
+      if (inputValue) {
+        this.dynamicTags.push(inputValue);
+      }
+      this.inputVisible = false;
+      this.inputValue = "";
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      if (this.topqueryParams.type == 1) {
+        this.$router.push({
+          path: "/followvisit/particty",
+          query: {
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
+        });
+      } else if (this.topqueryParams.type == 2) {
+        this.$router.push({
+          path: "/followvisit/QuestionnaireTask",
+          query: {
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
+        });
+      } else if (this.topqueryParams.type == 3) {
+        this.$router.push({
+          path: "/followvisit/Missioncreation",
+          query: {
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+          },
+        });
+      }
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row, newadd) {
+      if (this.topqueryParams.type == 1) {
+        this.$router.push({
+          path: "/followvisit/particty",
+          query: {
+            id: row.taskid,
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+            newadd: newadd, //鏄惁渚濈収鏂板缓
+          },
+        });
+      } else if (this.topqueryParams.type == 2) {
+        this.$router.push({
+          path: "/followvisit/QuestionnaireTask",
+          query: {
+            id: row.taskid,
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+            newadd: newadd,
+          },
+        });
+      } else if (this.topqueryParams.type == 3) {
+        this.$router.push({
+          path: "/followvisit/Missioncreation",
+          query: {
+            id: row.taskid,
+            type: this.topqueryParams.type,
+            serviceType: this.tasktopic,
+            newadd: newadd,
+          },
+        });
+      }
+    },
+    // 鍒犻櫎浠诲姟
+    deletefn(row) {
+      this.$modal
+        .confirm(
+          '鏄惁鍒犻櫎浠诲姟鍚嶇О涓�"' +
+            row.taskName +
+            '"鐨勬暟鎹」锛屽垹闄ゅ悗涓嶅彲鎾ゅ洖锛佹槸鍚︾户缁�'
+        )
+        .then(() => {
+          delTaskInfo(row.taskid).then((res) => {
+            if (res.code == 200) {
+              this.getList();
+              this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+            }
+          });
+        })
+        .catch(() => {});
+    },
+    // 浠诲姟鍙戣捣
+    sponsor(row) {
+      console.log(row, "浠诲姟淇℃伅");
+      this.taskform = row;
+      if (this.taskform.showDate && this.taskform.sendType != 2) {
+        this.taskform.showDate = this.taskform.showDate.split(",");
+      }
+      if (this.taskform.showTimeMorn && this.taskform.sendType != 2) {
+        this.taskform.showTimeMorn = this.taskform.showTimeMorn.split(",");
+      } else {
+        this.taskform.showTimeMorn = [];
+      }
+      if (this.taskform.showTimeNight && this.taskform.sendType != 2) {
+        this.taskform.showTimeNight = this.taskform.showTimeNight.split(",");
+      } else {
+        this.taskform.showTimeNight = [];
+      }
+      if (this.taskform.showTimeNoon && this.taskform.sendType != 2) {
+        this.taskform.showTimeNoon = this.taskform.showTimeNoon.split(",");
+      } else {
+        this.taskform.showTimeNoon = [];
+      }
+      if (this.taskform.sendState != 2 && this.taskform.sendType != 2) {
+        this.taskformVisible = true;
+      } else if (this.taskform.sendState != 2 && this.taskform.sendType == 2) {
+        this.TaskOperation.taskId = row.taskid;
+        this.TaskOperation.taskType = this.topqueryParams.type;
+        this.TaskOperation.sendState = 2;
+        this.TaskOperation.sendType = 2;
+        this.$modal
+          .confirm(
+            '褰撳墠閫変腑浠诲姟鍚嶇О涓�"' +
+              row.taskName +
+              '"鐨勬暟鎹」涓虹珛鍗虫墽琛屼换鍔★紝鍙戣捣鎵ц鍚庝笉鍙挙鍥烇紒鏄惁缁х画'
+          )
+          .then(() => {
+            TaskTemplateSendExecution(this.TaskOperation).then((res) => {
+              if (res.code == 200) {
+                this.getList();
+                this.$modal.msgSuccess("浠诲姟宸茬珛鍗虫墽琛�");
+              }
+            });
+          })
+          .catch(() => {});
+      } else {
+        this.$modal.msgError("浠诲姟宸插彂璧凤紝涓嶅彲鍐嶆鍙戣捣");
+      }
+    },
+    // 纭鍙戣捣
+    confirmSponsor(row) {
+      if (this.activname == 0) {
+        this.TaskOperation.taskId = row.taskid;
+        this.TaskOperation.taskType = this.topqueryParams.type;
+        this.TaskOperation.sendState = 2;
+        TaskTemplateSendExecution(this.TaskOperation).then((res) => {
+          if (res.code == 200) {
+            this.$modal.msgSuccess("浠诲姟宸叉垚鍔熷姞鍏ユ墽琛岄槦鍒�");
+            this.taskformVisible = false;
+            this.getList();
+          }
+        });
+      } else if (this.activname == 1) {
+        this.immediateExecution(row);
+      }
+    },
+
+    // 绔嬪嵆鎵ц
+    immediateExecution(row) {
+      console.log(row, "浠诲姟淇℃伅");
+      if (row.sendState != 2) {
+        this.TaskOperation.taskType = this.topqueryParams.type;
+        this.TaskOperation.taskId = row.taskid;
+        this.TaskOperation.sendState = 2;
+        this.TaskOperation.sendType = 2;
+        this.$modal
+          .confirm(
+            '鏄惁绔嬪嵆鎵ц浠诲姟鍚嶇О涓轰负"' +
+              row.taskName +
+              '"鐨勬暟鎹」锛熷彂璧锋墽琛屽悗涓嶅彲鎾ゅ洖锛�'
+          )
+          .then(() => {
+            TaskTemplateSendExecution(this.TaskOperation).then((res) => {
+              if (res.code == 200) {
+                this.getList();
+                this.$modal.msgSuccess("浠诲姟宸茬珛鍗虫墽琛�");
+              }
+            });
+          })
+          .then(() => {})
+          .catch(() => {});
+      }
+    },
+
+    // 鏆傚仠
+    stop(row) {
+      console.log(row);
+      if (row.sendState == 2) {
+        this.TaskOperation.taskId = row.taskid;
+        this.TaskOperation.sendState = 3;
+        this.TaskOperation.sendType = "";
+        this.TaskOperation.taskType = row.type;
+        TaskTemplateSendExecution(this.TaskOperation).then((res) => {
+          this.$modal.msgSuccess("浠诲姟宸叉殏鍋�");
+          this.getList();
+        });
+      }
+    },
+
+    /** 鎻愪氦鎸夐挳 */
+    submitForm: function () {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.userId != undefined) {
+            updateUser(this.form).then((response) => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addUser(this.form).then((response) => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const userIds = row.userId || this.ids;
+      this.$modal
+        .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
+        .then(function () {
+          return delUser(userIds);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        })
+        .catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download(
+        "system/user/export",
+        {
+          ...this.topqueryParams,
+        },
+        `user_${new Date().getTime()}.xlsx`
+      );
+    },
+    findLabelByValue(data, value) {
+      const item = data.find((item) => item.value === value);
+      return item ? item.label : null;
+    },
+  },
 };
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.el-button--primary.is-plain {
+  color: #ffffff;
+  background: #409eff;
+  border-color: #4fabe9;
+}
+
+.document {
+  width: 100px;
+  height: 50px;
+}
+
+.documentf {
+  display: flex;
+  justify-content: flex-end;
+}
+
+.download {
+  text-align: center;
+
+  .el-upload__tip {
+    font-size: 23px;
+  }
+
+  .el-upload__text {
+    font-size: 23px;
+  }
+}
+
+.uploading {
+  margin-top: 20px;
+  margin: 20px;
+  padding: 30px;
+  background: #ffffff;
+  border: 1px solid #dcdfe6;
+  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+    0 0 6px 0 rgba(0, 0, 0, 0.04);
+}
+
+.el-tag + .el-tag {
+  margin-left: 10px;
+}
+
+.button-new-tag {
+  margin-left: 10px;
+  height: 32px;
+  line-height: 30px;
+  padding-top: 0;
+  padding-bottom: 0;
+}
+
+.input-new-tag {
+  width: 90px;
+  margin-left: 10px;
+  vertical-align: bottom;
+}
+
+.drexamine {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  padding: 30px;
+  background: #daeaf5;
+
+  img {
+    width: 100px;
+    height: 100px;
+  }
+}
+
+.qrcode-dialo {
+  // text-align: center;
+  //   display: flex;
+  margin: 20px;
+  padding: 30px;
+  background: #edf1f7;
+  border: 1px solid #dcdfe6;
+  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+    0 0 6px 0 rgba(0, 0, 0, 0.04);
+
+  .topic-dev {
+    margin-bottom: 25px;
+    font-size: 20px !important;
+
+    .dev-text {
+      margin-bottom: 10px;
+    }
+  }
+}
+.button-bb {
+  font-weight: 500;
+  color: #2ba05c;
+}
+.button-xq {
+  font-weight: 500;
+  color: #409eff;
+}
+.button-sc {
+  font-weight: 500;
+  color: #dd302a;
+}
+.button-zx {
+  background: #4fabe9;
+  padding: 5px;
+  border-radius: 1px;
+  color: #ffffff;
+}
+.button-lj {
+  background: #e9614f;
+  padding: 5px;
+  border-radius: 1px;
+  color: #ffffff;
+}
+.button-xj {
+  background: #815c94;
+  padding: 5px;
+  border-radius: 1px;
+  color: #ffffff;
+}
+.button-zt {
+  background: #f9c116;
+  padding: 5px;
+  border-radius: 1px;
+  color: #ffffff;
+}
+
+::v-deep.el-radio-group {
+  span {
+    font-size: 24px;
+  }
+}
+
+::v-deep.el-button + .el-button {
+  margin-left: 0;
+}
+::v-deep.el-checkbox-group {
+  span {
+    font-size: 24px;
+  }
+}
+</style>

--
Gitblit v1.9.3