WXL
2024-09-03 a346cfbcb03a303dca252d910d2181f00e7adc20
src/views/followvisit/discharge/index.vue
@@ -181,46 +181,31 @@
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="50" align="center" />
        <el-table-column
          label="序号"
          fixed
          align="center"
          key="userId"
          prop="userId"
        />
        <el-table-column label="序号" fixed align="center" key="id" prop="id" />
        <el-table-column
          label="姓名"
          fixed
          align="center"
          key="types"
          prop="types"
          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="nickName"
          prop="nickName"
        />
        <el-table-column
          label="床号"
          align="center"
          key="nickName"
          prop="nickName"
        />
        <el-table-column label="年龄" align="center" key="age" prop="age" />
        <el-table-column label="性别" align="center" key="sex" prop="sex" />
        <el-table-column label="床号" align="center" key="badNo" prop="badNo" />
        <el-table-column
          label="病区"
          align="center"
          key="phonenumber"
          prop="phonenumber"
          key="deptname"
          prop="deptname"
          width="120"
        >
        </el-table-column>
@@ -228,41 +213,32 @@
        <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="topicnumberaa"
          prop="topicnumberaa"
          key="taskName"
          prop="taskName"
          width="120"
        />
        <el-table-column
          label="宣教材料"
          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,14 +246,14 @@
          label="就诊时间"
          sortable
          align="center"
          prop="createTime"
          prop="admindate"
          width="160"
        >
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.createTime) }}</span>
            <span>{{ parseTime(scope.row.admindate) }}</span>
          </template>
        </el-table-column>
        <el-table-column
        <!-- <el-table-column
          label="随访时间"
          sortable
          align="center"
@@ -285,31 +261,34 @@
          width="160"
        >
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.createTime) }}</span>
            <span v-if="scope.row.sendType != 3">{{
              parseTime(scope.row.createTime)
            }}</span>
            <span v-else>即刻发送</span>
          </template>
        </el-table-column>
        </el-table-column> -->
        <el-table-column
          label="回复时间"
          label="随访时间"
          sortable
          align="center"
          prop="createTime"
          prop="finishtime"
          width="160"
        >
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.createTime) }}</span>
            <span>{{ parseTime(scope.row.finishtime) }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="随访状态"
          fixed="right"
          align="center"
          key="topicnumber"
          prop="topicnumber"
          key="sendstate"
          prop="sendstate"
          width="120"
          :show-overflow-tooltip="true"
        >
          <template slot-scope="scope">
            <div>未完成</div>
            <dict-tag :options="serviceState" :value="scope.row.sendstate" />
          </template>
        </el-table-column>
@@ -321,33 +300,49 @@
          class-name="small-padding fixed-width"
        >
          <template slot-scope="scope">
            <el-button
              size="medium"
              type="text"
              @click="followupvisit(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-bb"
                ><i class="el-icon-s-promotion"></i>重新随访</span
              ></el-button
            <el-tooltip
              class="item"
              effect="dark"
              content="重新随访"
              placement="top"
            >
            <el-button
              size="medium"
              type="text"
              @click="handlestop(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-sc"
                ><i class="el-icon-delete"></i>停止</span
              ></el-button
              <el-button
                size="medium"
                type="text"
                @click="followupvisit(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-bb"
                  ><i class="el-icon-s-promotion"></i></span
              ></el-button>
            </el-tooltip>
            <el-tooltip
              class="item"
              effect="dark"
              content="停止"
              placement="top"
            >
            <el-button
              size="medium"
              type="text"
              @click="Seedetails(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-zx"
                ><i class="el-icon-s-order"></i>查看详情</span
              ></el-button
              <el-button
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"><i class="el-icon-delete"></i></span
              ></el-button>
            </el-tooltip>
            <el-tooltip
              class="item"
              effect="dark"
              content="查看任务详情"
              placement="top"
            >
              <el-button
                size="medium"
                type="text"
                @click="Seedetails(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-zx"><i class="el-icon-s-order"></i></span
              ></el-button>
            </el-tooltip>
          </template>
        </el-table-column>
      </el-table>
@@ -502,7 +497,9 @@
  resetUserPwd,
  changeUserStatus,
} from "@/api/system/user";
import { getTaskservelist } from "@/api/AiCentre/index";
import Treeselect from "@riophae/vue-treeselect";
import store from "@/store";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
@@ -652,9 +649,7 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        userName: undefined,
        tagid: undefined,
        topic: undefined,
        hospType: 1,
      },
      propss: { multiple: true },
      options: [],
@@ -677,56 +672,14 @@
          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",
          },
        ],
      },
      rules: {},
    };
  },
  watch: {},
  created() {
    this.serviceState = store.getters.serviceState;
    this.getList();
    this.getConfigKey("sys.user.initPassword").then((response) => {
      this.initPassword = response.msg;
@@ -739,16 +692,14 @@
    });
  },
  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;
        }
      );
      getTaskservelist(this.topqueryParams).then((response) => {
        this.userList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // 查看门诊随访详情
    Referencequestion(row) {
@@ -848,8 +799,11 @@
    /** 新增按钮操作 */
    handleAdd() {
      this.$router.push({
        path: "/followvisit/particty",
        query: { type: 3 },
        path: "/followvisit/QuestionnaireTask",
        query: {
          type: 2,
          serviceType: 2,
        },
      });
    },