From 58f5620229e13c71b413886a0c200acbf5a9c23a Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期六, 25 十一月 2023 20:23:39 +0800
Subject: [PATCH] 提交信息

---
 src/views/patient/patient/physical.vue    |    2 
 src/views/patient/propaganda/index.vue    |  883 +++++++++++++++++++++++++
 src/views/patient/propaganda/particty.vue | 1101 ++++++++++++++++++++++++++++++++
 3 files changed, 1,979 insertions(+), 7 deletions(-)

diff --git a/src/views/patient/patient/physical.vue b/src/views/patient/patient/physical.vue
index ddf42aa..95dd8b7 100644
--- a/src/views/patient/patient/physical.vue
+++ b/src/views/patient/patient/physical.vue
@@ -15,7 +15,7 @@
             <el-input
               v-model="queryParams.name"
               placeholder="璇疯緭鍏ュ鍚�"
-              clearable
+              clearable 
               style="width: 200px"
               @keyup.enter.native="handleQuery"
             />
diff --git a/src/views/patient/propaganda/index.vue b/src/views/patient/propaganda/index.vue
index 54b99d1..c36f14b 100644
--- a/src/views/patient/propaganda/index.vue
+++ b/src/views/patient/propaganda/index.vue
@@ -1,17 +1,888 @@
 <template>
-  <div>瀹f暀鏈嶅姟</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.name"></el-input>
+        </el-form-item>
+        <el-form-item label="瀹℃牳浜�">
+          <el-input v-model="topqueryParams.name"></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-select v-model="topqueryParams.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 label="妯$増" prop="status">
+          <el-select v-model="topqueryParams.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 label="闂ㄨ瘖闅忚鐘舵��" prop="status">
+          <el-select v-model="topqueryParams.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"
+            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-button
+            type="primary"
+            plain
+            icon="el-icon-plus"
+            size="medium"
+            @click="handleAdd"
+            v-hasPermi="['system:user:add']"
+            >鏂板</el-button
+          >
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="success"
+            plain
+            icon="el-icon-edit"
+            size="medium"
+            :disabled="single"
+            @click="handleUpdate"
+            v-hasPermi="['system:user:edit']"
+            >淇敼</el-button
+          >
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="danger"
+            plain
+            icon="el-icon-delete"
+            size="medium"
+            :disabled="multiple"
+            @click="handleDelete"
+            v-hasPermi="['system:user:remove']"
+            >鍒犻櫎</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"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="50" align="center" />
+        <el-table-column
+          label="搴忓彿"
+          align="center"
+          key="userId"
+          prop="userId"
+        />
+
+        <el-table-column
+          label="浠诲姟鍚嶇О"
+          align="center"
+          sortable
+          key="userName"
+          prop="userName"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="鏈嶅姟妯℃澘"
+          align="center"
+          key="types"
+          prop="types"
+        />
+        <el-table-column
+          label="鍒涘缓鏃ユ湡"
+          align="center"
+          key="nickName"
+          prop="nickName"
+        />
+        <el-table-column
+          label="寰呮墽琛�/鎬绘暟"
+          align="center"
+          key="phonenumber"
+          prop="phonenumber"
+          width="120"
+        >
+          <template slot-scope="scope">
+            <span style="margin-left: 10px"
+              >{{ scope.row.date }}/{{ scope.row.data }}</span
+            >
+          </template>
+        </el-table-column>
+
+        <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="topicnumberaa"
+          prop="topicnumberaa"
+          sortable
+          width="120"
+          :show-overflow-tooltip="true"
+        />
+
+        <el-table-column
+          label="瀹℃牳鏃堕棿"
+          sortable
+          align="center"
+          prop="createTime"
+          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>
+
+      <pagination
+        v-show="total > 0"
+        :total="total"
+        :page.sync="topqueryParams.pageNum"
+        :limit.sync="topqueryParams.pageSize"
+        @pagination="getList"
+      />
+    </el-row>
+    <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+    <el-dialog
+      :title="title"
+      :visible.sync="addalteropen"
+      width="700px"
+      append-to-body
+    >
+      <el-form ref="form" :model="form" label-width="100px">
+        <el-row :gutter="20">
+          <el-col :span="12"
+            ><el-form-item label="浠诲姟鍚嶇О">
+              <el-input v-model="form.name"></el-input> </el-form-item
+          ></el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24"
+            ><el-form-item label="鎵�灞炵瀹�">
+              <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-col
+        ></el-row>
+        <el-row :gutter="20">
+          <el-col :span="24"
+            ><el-form-item label="闅忚绫诲瀷">
+              <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-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="鏈嶅姟妯″潡">
+              <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-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
+              <el-input type="textarea" v-model="form.desc"></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>
 
 <script>
+import {
+  listUser,
+  getUser,
+  delUser,
+  addUser,
+  updateUser,
+  resetUserPwd,
+  changeUserStatus,
+} from "@/api/system/user";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
 export default {
+  name: "User",
+  dicts: ["sys_normal_disable", "sys_user_sex"],
+  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: [],
+      dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
+      inputVisible: false,
+      inputValue: "",
+      previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+      radio: "",
+      radios: [],
+      previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+      total: 0, // 鎬绘潯鏁�
+      ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
+      //棰勮闂ㄨ瘖闅忚淇℃伅
+      previewvalue: {
+        username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
+      },
+      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,
+        userName: undefined,
+        tagid: undefined,
+        topic: undefined,
+      },
+      propss: { multiple: true },
+      options: [],
+
+      topicoptions: [
+        {
+          value: 1,
+          label: "寰呭鏍�",
+        },
+        {
+          value: 2,
+          label: "鎵ц涓�",
+        },
+        {
+          value: 3,
+          label: "鎵ц瀹屾垚",
+        },
+        {
+          value: 4,
+          label: "宸插仠姝�",
+        },
+      ],
+      // 琛ㄥ崟鏍¢獙
+      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.getList();
+    this.getConfigKey("sys.user.initPassword").then((response) => {
+      this.initPassword = response.msg;
+    });
+  },
+  // 鎼滅储
+  mounted() {
+    this.list = this.states.map((item) => {
+      return { value: `value:${item}`, label: `label:${item}` };
+    });
+  },
+  methods: {
+    /** 鏌ヨ闂ㄨ瘖闅忚鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
+        (response) => {
+          this.userList = response.rows;
+          this.total = response.total;
+          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 = [];
+      }
+    },
+    // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+    handleStatusChange(row) {
+      let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
+      this.$modal
+        .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵')
+        .then(function () {
+          return changeUserStatus(row.userId, row.status);
+        })
+        .then(() => {
+          this.$modal.msgSuccess(text + "鎴愬姛");
+        })
+        .catch(function () {
+          row.status = row.status === "0" ? "1" : "0";
+        });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.addalteropen = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    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");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    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() {
+      this.reset();
+      this.addalteropen = true;
+      // getUser().then((response) => {
+      //   this.postOptions = response.posts;
+      //   this.roleOptions = response.roles;
+      //   this.title = "鏂板闂ㄨ瘖闅忚";
+      //   this.form.password = this.initPassword;
+      // });
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.$router.push({
+        path: "/followvisit/particty",
+      });
+    },
+    /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
+    handleResetPwd(row) {
+      this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        closeOnClickModal: false,
+        inputPattern: /^.{5,20}$/,
+        inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
+      })
+        .then(({ value }) => {
+          resetUserPwd(row.userId, value).then((response) => {
+            this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value);
+          });
+        })
+        .catch(() => {});
+    },
 
-  created() {},
-
-  methods: {},
+    /** 鎻愪氦鎸夐挳 */
+    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`
+      );
+    },
+  },
 };
 </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;
+}
+
+::v-deep.el-radio-group {
+  span {
+    font-size: 24px;
+  }
+}
+
+::v-deep.el-checkbox-group {
+  span {
+    font-size: 24px;
+  }
+}
+</style>
diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
new file mode 100644
index 0000000..7c5e6ef
--- /dev/null
+++ b/src/views/patient/propaganda/particty.vue
@@ -0,0 +1,1101 @@
+<template>
+  <div class="Questionnairemanagement">
+    <!-- 涓婁晶鏍� -->
+    <div class="sidecolumn">
+      <div>
+        <el-steps simple :active="Editprogress">
+          <el-step
+            icon="el-icon-edit"
+            title="鍩虹淇℃伅"
+            description="閫夋嫨瀹f暀妯$増銆佸舰寮忕瓑鍩虹淇℃伅"
+          ></el-step>
+          <el-step
+            icon="el-icon-user"
+            title="瀹f暀瀵硅薄"
+            description="鍦ㄦ湰閮ㄩ�夋嫨瀹f暀鐥呬汉"
+          ></el-step>
+        </el-steps>
+      </div>
+    </div>
+    <!-- 涓嬩晶鏁版嵁 -->
+    <div class="leftvlue" style="margin: 0 20px">
+      <!-- 鍩烘湰淇℃伅 -->
+      <div v-if="Editprogress == 1">
+        <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="jic-value">
+              <el-form ref="form" :model="form" label-width="105px">
+                <el-form-item label="鍙戦�佹椂闂达細">
+                  <el-date-picker
+                    v-model="form.name"
+                    type="date"
+                    placeholder="閫夋嫨鏃ユ湡"
+                  >
+                  </el-date-picker>
+                </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-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>
+            <div class="examine-jic">
+              <div class="jic-value">
+                <el-row :gutter="20">
+                  <!--鐢ㄦ埛鏁版嵁-->
+
+                  <el-form
+                    :model="topqueryParams"
+                    ref="queryForm"
+                    size="small"
+                    :inline="true"
+                    v-show="showSearch"
+                    label-width="98px"
+                  >
+                    <el-form-item label="瀹f暀涓婚">
+                      <el-input v-model="topqueryParams.name"></el-input>
+                    </el-form-item>
+                    <el-form-item label="閫傜敤鐤剧梾">
+                      <el-input v-model="topqueryParams.name"></el-input>
+                    </el-form-item>
+
+                    <el-form-item label="瀹f暀绫诲瀷" prop="status">
+                      <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">
+                      <el-select
+                        v-model="topqueryParams.topica"
+                        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">
+                      <el-select
+                        v-model="topqueryParams.topicd"
+                        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"
+                        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-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>
+
+                  <pagination
+                    v-show="total > 0"
+                    :total="total"
+                    :page.sync="topqueryParams.pageNum"
+                    :limit.sync="topqueryParams.pageSize"
+                    @pagination="getList"
+                  />
+                </el-row>
+              </div>
+            </div>
+          </div>
+        </div>
+        <el-button type="success" @click="submitForm('ruleForm')">{{
+          quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏璁剧疆"
+        }}</el-button>
+        <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+      </div>
+
+      <!-- 浠诲姟璇︽儏 -->
+      <div v-if="Editprogress == 2">
+        <el-alert title="鍦ㄦ湰闃舵閫夋嫨瀹f暀鐥呬汉" type="success" effect="dark">
+        </el-alert>
+        <div class="leftvlue-jbxx">
+          <div class="examine-jic">
+            <div class="headline">
+              <div>鎮h�呭垪琛�</div>
+            </div>
+            <div class="examine-jic">
+              <div class="jic-value">
+                <el-row :gutter="20">
+                  <!--鐢ㄦ埛鏁版嵁-->
+                  <el-form
+                    :model="topqueryParams"
+                    ref="queryForm"
+                    size="small"
+                    :inline="true"
+                    v-show="showSearch"
+                    label-width="98px"
+                  >
+                    <el-form-item label="鎮h�呭悕绉�">
+                      <el-input v-model="topqueryParams.name"></el-input>
+                    </el-form-item>
+
+                    <el-form-item label="鎮h�呰寖鍥�" prop="status">
+                      <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="鎮h�呯姸鎬�" prop="status">
+                      <el-select
+                        v-model="topqueryParams.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 label="闅忚缁撴灉" prop="status">
+                      <el-select
+                        v-model="topqueryParams.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 label="鎮h�呯數璇�">
+                      <el-input v-model="topqueryParams.name"></el-input>
+                    </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-button
+                        icon="el-icon-upload2"
+                        size="medium"
+                        type="warning"
+                        >褰撳墠鎮h�呬竴閿彂閫�</el-button
+                      >
+                    </el-form-item>
+                  </el-form>
+                  <el-divider></el-divider>
+                  <el-row :gutter="10" class="mb8">
+                    <el-col :span="1.5">
+                      <el-select
+                        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-button
+                        type="primary"
+                        plain
+                        icon="el-icon-plus"
+                        size="medium"
+                        :disabled="!tasktopic"
+                        @click="handleAdd"
+                        v-hasPermi="['system:user:add']"
+                        >鏂板</el-button
+                      >
+                    </el-col>
+
+                    <el-col :span="1.5">
+                      <el-button
+                        type="danger"
+                        plain
+                        icon="el-icon-delete"
+                        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>
+
+                  <pagination
+                    v-show="total > 0"
+                    :total="total"
+                    :page.sync="topqueryParams.pageNum"
+                    :limit.sync="topqueryParams.pageSize"
+                    @pagination="getList"
+                  />
+                </el-row>
+              </div>
+            </div>
+          </div>
+        </div>
+        <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
+        <el-button type="success" @click="submitForm('ruleForm')"
+          >绔嬪嵆鍒涘缓</el-button
+        >
+        <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+      </div>
+    </div>
+    <!-- 娣诲姞鎮h�� -->
+    <el-dialog
+      title="娣诲姞娲惧彂鎮h��"
+      :visible.sync="dialogVisiblepatient"
+      width="70%"
+      :before-close="handleClosehz"
+    >
+      <div class="examine-jic">
+        <div class="jic-value">
+          <el-row :gutter="20">
+            <!--鐢ㄦ埛鏁版嵁-->
+            <el-form
+              :model="patientqueryParams"
+              ref="queryForm"
+              size="small"
+              :inline="true"
+              v-show="showSearch"
+              label-width="98px"
+            >
+              <el-form-item label="鎮h�呭悕绉帮細">
+                <el-input v-model="patientqueryParams.name"></el-input>
+              </el-form-item>
+              <el-form-item label="鎮h�呮潵婧�" 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 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 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"
+                  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-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>
+          </el-row>
+          <pagination
+            v-show="patienttotal > 0"
+            :total="patienttotal"
+            :page.sync="patientqueryParams.pageNum"
+            :limit.sync="patientqueryParams.pageSize"
+            @pagination="handleAddpatient"
+          />
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="AddDispatchpatients"
+          >纭畾娣诲姞</el-button
+        >
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+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";
+
+export default {
+  data() {
+    return {
+      Editprogress: 1, //缂栬緫杩涘害
+      loading: false, // 閬僵灞�
+      patientloading: false, // 閬僵灞�
+      dialogVisible: false, //浠诲姟璇︽儏寮规
+      dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+      topqueryParams: {
+        pageNum: 1, //
+        pageSize: 10,
+      },
+      checkList: [],
+      deliverytopqueryParams: {
+        pageNum: 1, //
+        pageSize: 10,
+      },
+      patientqueryParams: {
+        pageNum: 1, //
+        pageSize: 10,
+      },
+      topicoptions: [],
+      showSearch: true, //
+      total: 0, //
+      sontotal: 0, //
+      patienttotal: 0, //
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+      userList: null,
+      patientuserList: null,
+      sonuserList: null,
+      tasktopic: null, //鏂板绫诲瀷
+      form: {
+        name: "",
+        region: "",
+        date1: "",
+        date2: "",
+        delivery: false,
+        type: [],
+        resource: "",
+        desc: "",
+      },
+      options: [
+        {
+          value: "閫夐」1",
+          label: "榛勯噾绯�",
+        },
+        {
+          value: "閫夐」2",
+          label: "鍙岀毊濂�",
+        },
+        {
+          value: "閫夐」3",
+          label: "铓典粩鐓�",
+        },
+        {
+          value: "閫夐」4",
+          label: "榫欓』闈�",
+        },
+        {
+          value: "閫夐」5",
+          label: "鍖椾含鐑ら腑",
+        },
+      ],
+      taskoptions: [
+        {
+          value: "1",
+          label: "閫氱煡",
+        },
+        {
+          value: "2",
+          label: "闅忚",
+        },
+        {
+          value: "3",
+          label: "闂嵎",
+        },
+        {
+          value: "4",
+          label: "瀹f暀",
+        },
+      ],
+      quote: false,
+    };
+  },
+
+  created() {
+    this.Addsubtask();
+    this.Getsubtask();
+  },
+
+  methods: {
+    // 涓嬩竴姝�
+    submitForm(formName) {
+      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;
+      });
+      this.dialogVisible = true;
+    },
+    // 瀛愪换鍔′簩绾у脊妗�
+    handleAddpatient() {
+      console.log(this.multiple);
+      listpat_archive(this.patientqueryParams).then((response) => {
+        console.log(response);
+        this.patientuserList = response.rows;
+        this.patienttotal = response.total;
+        this.loading = false;
+      });
+      this.dialogVisiblepatient = true;
+    },
+    handleUpdate() {},
+    handleDelete() {},
+    handleExport() {},
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(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);
+    },
+    getList() {},
+    handleQuery() {},
+    resetQuery() {},
+    handleCloserw() {
+      this.dialogVisible = false;
+    },
+    handleClosehz() {
+      this.dialogVisiblepatient = false;
+    },
+    // 涓婁竴姝�
+    laststep() {
+      this.Editprogress--;
+    },
+    // 鎻愪氦琛ㄥ崟
+    resetForm(formName) {
+      this.$refs[formName].resetFields();
+    },
+    // 棰勮妯$増
+    PreviewTemplate() {},
+    Acknowledgereference() {
+      this.quote = true;
+    },
+    // 鏂板瀛愪换鍔�
+    Addsubtask() {
+      this.topqueryParams.pguid = 2;
+      // addsvr_prjtask(this.topqueryParams).then((res) => {
+      //   console.log(res);
+      // });
+    },
+    // 鏂板娲鹃�佹偅鑰�
+    AddDispatchpatients() {
+      let objictpint = {};
+      objictpint.patientes = this.ids;
+      objictpint.pguid = 2;
+      Addpatienttask(objictpint).then((res) => {
+        console.log(res);
+      });
+      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);
+      });
+    },
+    /** 鏌ヨ鎮h�呭垪琛� */
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.Questionnairemanagement {
+}
+.leftvlue-jbxx {
+  margin-top: 10px;
+}
+.sidecolumn {
+  width: 100%;
+  // min-height: 12vh;
+  margin: 20px;
+  margin-bottom: 0;
+  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);
+}
+.leftvlue {
+  //   display: flex;
+  //   flex: 1;
+  width: 100%;
+  margin-top: 20px;
+  //   margin: 20px;
+  padding: 30px;
+  background: #ffff;
+  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);
+}
+.examine-jic {
+  .headline {
+    font-size: 24px;
+    border-left: 5px solid #41a1be;
+    padding-left: 5px;
+    margin-bottom: 10px;
+    display: flex;
+    justify-content: space-between;
+    .Add-details {
+      font-size: 18px;
+      color: #02a7f0;
+      cursor: pointer;
+    }
+  }
+  .jic-value {
+    font-size: 20px;
+    border-top: 1px solid #a7abac;
+    padding: 10px;
+    margin-bottom: 10px;
+    .details-jic {
+      padding: 10px 15px;
+      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);
+      .details-title {
+        display: flex;
+        justify-content: space-between;
+        margin-bottom: 10px;
+        div:nth-child(2) {
+          color: #02a7f0;
+          cursor: pointer;
+        }
+      }
+      .details-renw {
+        background: #e4ebfc;
+        padding: 15px 5px;
+        border-radius: 5px;
+        margin-bottom: 20px;
+      }
+    }
+  }
+}
+// .leftvlue-jbxx {
+//   margin-bottom: 50px;
+//   font-size: 20px;
+//   span {
+//     position: absolute;
+//     right: 80px;
+//   }
+//   .demo-cascader {
+//     margin-right: 20px;
+//   }
+//   .PreviewTemplate {
+//     color: #02a7f0;
+//     cursor: pointer;
+//     font-size: 20px;
+//     margin: 0 20px;
+//   }
+// }
+.jic-value {
+  font-size: 20px;
+  border-top: 1px solid #a7abac;
+  padding: 10px;
+  margin-bottom: 10px;
+  .details-jic {
+    padding: 10px 15px;
+    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);
+    .details-title {
+      display: flex;
+      justify-content: space-between;
+      margin-bottom: 10px;
+      div:nth-child(2) {
+        color: #02a7f0;
+        cursor: pointer;
+      }
+    }
+    .details-renw {
+      background: #e4ebfc;
+      padding: 15px 5px;
+      border-radius: 5px;
+      margin-bottom: 20px;
+    }
+  }
+}
+::v-deep .addtopic-input {
+  input {
+    background: #02a7f0;
+    color: #edf1f7;
+    width: 150px;
+  }
+}
+::v-deep.el-step.is-vertical .el-step__title {
+  font-size: 25px;
+}
+::v-deep.el-row {
+  margin-bottom: 10px;
+}
+// ::v-deep.el-input--medium {
+//   font-size: 24px !important;
+// }
+::v-deep.ruleFormaa.el-select {
+  display: inline-block;
+  position: relative;
+  width: 700px;
+}
+.el-select__tags {
+  font-size: 20px;
+  max-width: 888px !important;
+}
+::v-deep.el-radio__inner {
+  width: 22px;
+  height: 22px;
+}
+// ::v-deep.topic-dev.el-radio__label {
+//   font-size: 24px;
+// }
+::v-deep.el-radio-group {
+  span {
+    font-size: 24px;
+  }
+}
+::v-deep.el-checkbox-group {
+  span {
+    font-size: 24px;
+  }
+}
+</style>

--
Gitblit v1.9.3