WXL
2025-03-04 32674b04eb3cb387d54303f4a58f9b4c3a851ed2
src/views/followvisit/outpatient/index.vue
@@ -12,12 +12,12 @@
        label-width="98px"
      >
        <el-form-item label="任务名称">
          <el-input v-model="topqueryParams.name"></el-input>
          <el-input v-model="topqueryParams.taskName"></el-input>
        </el-form-item>
        <el-form-item label="审核人">
          <el-input v-model="topqueryParams.name"></el-input>
        <el-form-item label="发起人">
          <el-input v-model="topqueryParams.createBy"></el-input>
        </el-form-item>
        <el-form-item label="审核时间">
        <!-- <el-form-item label="审核时间">
          <el-date-picker
            v-model="dateRange"
            style="width: 240px"
@@ -27,31 +27,14 @@
            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-input v-model="topqueryParams.templatename"></el-input>
        </el-form-item>
        <el-form-item label="门诊随访状态" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
          <el-select v-model="topqueryParams.sendstate" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
              :key="item.value"
@@ -87,7 +70,7 @@
            >新增</el-button
          >
        </el-col>
        <el-col :span="1.5">
        <!-- <el-col :span="1.5">
          <div class="documentf">
            <div class="document">
              <el-button
@@ -101,8 +84,8 @@
              >
            </div>
          </div>
        </el-col>
        <el-col :span="1.5">
        </el-col> -->
        <!-- <el-col :span="1.5">
          <div class="documentf">
            <div class="document">
              <el-button
@@ -172,7 +155,7 @@
              >
            </div>
          </div>
        </el-col>
        </el-col> -->
        <!-- <el-col :span="1.5"> </el-col> -->
      </el-row>
@@ -184,31 +167,38 @@
        <el-table-column type="selection" width="50" align="center" />
        <el-table-column
          label="序号"
          fixed
          align="center"
          key="userId"
          prop="userId"
          key="id"
          prop="id"
        />
        <el-table-column
          label="姓名"
          fixed
          align="center"
          key="sendname"
          prop="sendname"
        />
        <el-table-column
          label="病历号"
          align="center"
          sortable
          key="userName"
          prop="userName"
          key="medicalRecordNo"
          prop="medicalRecordNo"
          width="120"
        />
        <el-table-column label="姓名" align="center" key="types" prop="types" />
        <el-table-column
          label="年龄"
          align="center"
          key="nickName"
          prop="nickName"
          key="age"
          prop="age"
        />
        <el-table-column
          label="科室"
          align="center"
          key="phonenumber"
          prop="phonenumber"
          key="deptname"
          prop="deptname"
          width="120"
        >
        </el-table-column>
@@ -216,53 +206,34 @@
        <el-table-column
          label="疾病名称"
          align="center"
          key="topicnumber"
          prop="topicnumber"
          key="icdName"
          prop="icdName"
          width="120"
          :show-overflow-tooltip="true"
        >
          <template slot-scope="scope">
            <div>轻度骨裂</div>
          </template>
        </el-table-column>
        <el-table-column
          label="随访状态"
          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"
          key="taskName"
          prop="taskName"
          width="120"
        />
        <el-table-column
          label="宣教材料"
          align="center"
          key="topicnumberaa"
          prop="topicnumberaa"
          width="120"
        />
        <el-table-column
          label="随访方式"
          align="center"
          key="topicnumberaa"
          prop="topicnumberaa"
          key="serviceform"
          prop="serviceform"
          width="120"
        />
        <el-table-column
          label="随访人员"
          align="center"
          key="topicnumberaa"
          prop="topicnumberaa"
          key="operator"
          prop="operator"
          width="120"
        />
@@ -270,45 +241,48 @@
          label="就诊时间"
          sortable
          align="center"
          prop="createTime"
          prop="admindate"
          width="160"
        >
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.createTime) }}</span>
            <span>{{ formatTime(scope.row.admindate) }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="随访时间"
          sortable
          align="center"
          prop="createTime"
          prop="finishtime"
          width="160"
        >
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.createTime) }}</span>
            <span>{{ formatTime(scope.row.finishtime) }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="回复时间"
          sortable
          label="随访状态"
          fixed="right"
          align="center"
          prop="createTime"
          width="160"
          key="sendstate"
          prop="sendstate"
          width="120"
          :show-overflow-tooltip="true"
        >
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.createTime) }}</span>
        <template slot-scope="scope">
            <dict-tag :options="serviceState" :value="scope.row.sendstate" />
          </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
            <!-- <el-button
              size="medium"
              type="text"
              @click="followupvisit(scope.row)"
@@ -325,7 +299,7 @@
              ><span class="button-sc"
                ><i class="el-icon-delete"></i>停止</span
              ></el-button
            >
            > -->
            <el-button
              size="medium"
              type="text"
@@ -482,13 +456,16 @@
<script>
import {
  listUser,
  getUser,
  delUser,
  addUser,
  updateUser,
  resetUserPwd,
  changeUserStatus,
} from "@/api/system/user";
import {
  getTaskservelist
} from "@/api/AiCentre/index";
import store from "@/store";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -639,81 +616,35 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        userName: undefined,
        tagid: undefined,
        topic: undefined,
        serviceType:3,
      },
      propss: { multiple: true },
      options: [],
      topicoptions: [
        {
      {
          value: 1,
          label: "待审核",
          label: "表单已领取",
        },
        {
          value: 2,
          label: "执行中",
          label: "待执行",
        },
        {
          value: 3,
          label: "执行完成",
        },
        {
          value: 4,
          label: "已停止",
          label: "表单已发送",
        },
      ],
      serviceState:[],
      // 表单校验
      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.serviceState = store.getters.serviceState;
    this.getList();
    this.getConfigKey("sys.user.initPassword").then((response) => {
      this.initPassword = response.msg;
@@ -729,7 +660,8 @@
    /** 查询门诊随访列表 */
    getList() {
      this.loading = true;
      listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
      this.topqueryParams.deptOrDistrict=2;
      getTaskservelist(this.topqueryParams).then(
        (response) => {
          this.userList = response.rows;
          this.total = response.total;
@@ -834,30 +766,15 @@
    },
    /** 新增按钮操作 */
    handleAdd() {
      this.reset();
      this.addalteropen = true;
      // getUser().then((response) => {
      //   this.postOptions = response.posts;
      //   this.roleOptions = response.roles;
      //   this.title = "新增门诊随访";
      //   this.form.password = this.initPassword;
      // });
      this.$router.push({
        path: "/followvisit/QuestionnaireTask",
        query: {
          type: 2,
          serviceType: 3,
        },
      });
    },
    /** 修改按钮操作 */
    // handleUpdate(row) {
    //   this.reset();
    //   const userId = row.userId || this.ids;
    //   getUser(userId).then((response) => {
    //     this.form = response.data;
    //     this.postOptions = response.posts;
    //     this.roleOptions = response.roles;
    //     this.$set(this.form, "postIds", response.postIds);
    //     this.$set(this.form, "roleIds", response.roleIds);
    //     this.addalteropen = true;
    //     this.title = "修改用户";
    //     this.form.password = "";
    //   });
    // },
    /** 重置密码按钮操作 */
    handleResetPwd(row) {
      this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
@@ -953,14 +870,10 @@
      this.modificationVisible = true;
    },
    // 跳转详情页
    Seedetails() {
      // this.$router.push({
      //   path: "/followvisit/record/detailpage/",
      //   query: { id: "1" },
      // });
    Seedetails(row) {
      this.$router.push({
        path: "/followvisit/particty",
        query: { type: 2, },
        path: "/followvisit/record/detailpage/",
        query: { taskid: row.taskid, patid: row.patid },
      });
    },
    // 导入按钮