WXL
2024-04-25 c1857baa3a4fbce727da5de733fe30d38477978f
src/views/patient/propaganda/index.vue
@@ -27,7 +27,7 @@
            end-placeholder="结束日期"
          ></el-date-picker>
        </el-form-item>
        <el-form-item label="随访类型" prop="status">
        <el-form-item label="宣教类型" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
@@ -49,7 +49,7 @@
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="门诊随访状态" prop="status">
        <el-form-item label="宣教状态" prop="status">
          <el-select v-model="topqueryParams.topic" placeholder="请选择">
            <el-option
              v-for="item in topicoptions"
@@ -133,39 +133,30 @@
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="50" align="center" />
        <el-table-column fixed label="序号" align="center" key="id" prop="id" />
        <el-table-column
          label="序号"
          label="姓名"
          fixed
          align="center"
          key="userId"
          prop="userId"
          key="name"
          prop="name"
        />
        <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"
        />
        <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="badNo" prop="badNo" />
        <el-table-column
          label="科室/病区"
          align="center"
          key="phonenumber"
          prop="phonenumber"
          key="dept"
          prop="dept"
          width="120"
        >
        </el-table-column>
@@ -173,20 +164,78 @@
        <el-table-column
          label="疾病名称"
          align="center"
          key="topicnumber"
          prop="topicnumber"
          key="icdName"
          prop="icdName"
          width="120"
          :show-overflow-tooltip="true"
        >
        </el-table-column>
        <el-table-column
          label="宣教内容"
          align="center"
          key="heTask"
          prop="heTask"
          width="120"
        >
          <template slot-scope="scope">
            <div>轻度骨裂</div>
            <span>{{ scope.row.heTask.preachname }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="通知状态"
          label="宣教方式"
          align="center"
          key="topicnumber"
          prop="topicnumber"
          key="topicnumberaa"
          prop="topicnumberaa"
          width="120"
        >
          <template slot-scope="scope">
            <span>{{ scope.row.heTask.preachform }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="操作人员"
          align="center"
          key="operatePerson"
          prop="operatePerson"
          width="120"
        />
        <el-table-column
          label="就诊时间"
          sortable
          align="center"
          key="visitTime"
          prop="visitTime"
          width="160"
        >
        </el-table-column>
        <el-table-column
          label="宣教时间"
          sortable
          align="center"
          prop="sendTime"
          width="160"
        >
        <template slot-scope="scope">
            <span>{{ scope.row.heTask.sendTime }}</span>
          </template>
        </el-table-column>
        <el-table-column
          label="接收时间"
          sortable
          align="center"
          key="receiveTime"
          prop="receiveTime"
          width="160"
        >
        </el-table-column>
        <el-table-column
          label="通知状态"
          fixed="right"
          align="center"
          key="sendStatus"
          prop="sendStatus"
          width="120"
          :show-overflow-tooltip="true"
        >
@@ -195,69 +244,7 @@
          </template>
        </el-table-column>
        <el-table-column
          label="宣教内容"
          align="center"
          key="topicnumberaa"
          prop="topicnumberaa"
          width="120"
        />
        <el-table-column
          label="宣教材料"
          align="center"
          key="topicnumberaa"
          prop="topicnumberaa"
          width="120"
        />
        <el-table-column
          label="宣教方式"
          align="center"
          key="topicnumberaa"
          prop="topicnumberaa"
          width="120"
        />
        <el-table-column
          label="宣教人员"
          align="center"
          key="topicnumberaa"
          prop="topicnumberaa"
          width="120"
        />
        <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="宣教时间"
          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="回复时间"
          sortable
          align="center"
          prop="createTime"
          width="160"
        >
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.createTime) }}</span>
          </template>
        </el-table-column>
        <el-table-column
          fixed="right"
          label="任务详情"
          align="center"
          width="200"
@@ -276,7 +263,7 @@
            <el-button
              size="medium"
              type="text"
              @click="handleUpdate(scope.row)"
              @click="handleDelete(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-sc"
                ><i class="el-icon-delete"></i>删除</span
@@ -294,60 +281,6 @@
        @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>
@@ -361,6 +294,7 @@
  resetUserPwd,
  changeUserStatus,
} from "@/api/system/user";
import { gethetasklist, delhetaskinfo } from "@/api/AiCentre/index";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -385,9 +319,8 @@
      // 用户表格数据
      userList: null,
      // 弹出层标题
      title: "新增门诊随访",
      // 是否显示修改、添加弹出层
      addalteropen: false,
      title: "新增门诊宣教",
      // 部门名称
      deptName: undefined,
      // 默认密码
@@ -401,71 +334,20 @@
      dynamicTags: ["选项一", "选项二", "选项三"], //选项
      inputVisible: false,
      inputValue: "",
      previewVisible: false, //门诊随访预览弹框
      previewVisible: false, //门诊宣教预览弹框
      radio: "",
      radios: [],
      previewtype: 2, //预览门诊随访类型
      previewtype: 2, //预览门诊宣教类型
      total: 0, // 总条数
      ImportQuantity: 999, //导门诊随访数量
      //预览门诊随访信息
      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",
      ],
      states: ["Alabama", "North Dakota", "Ohio", "Oklahoma", "Oregon", ,],
      pickerOptions: {
        disabledDate(time) {
          return time.getTime() > Date.now();
@@ -508,9 +390,6 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        userName: undefined,
        tagid: undefined,
        topic: undefined,
      },
      propss: { multiple: true },
      options: [],
@@ -595,18 +474,16 @@
    });
  },
  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;
        }
      );
      gethetasklist(this.topqueryParams).then((response) => {
        this.userList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // 查看门诊随访详情
    // 查看门诊宣教详情
    Referencequestion(row) {
      this.previewVisible = true;
    },
@@ -624,13 +501,13 @@
        this.options = [];
      }
    },
    // 门诊随访状态修改
    // 门诊宣教状态修改
    handleStatusChange(row) {
      let text = row.status === "0" ? "启用" : "停用";
      this.$modal
        .confirm('确认要"' + text + '""' + row.userName + '"用户吗?')
        .then(function () {
          return changeUserStatus(row.userId, row.status);
          return changeUserStatus(row.id, row.status);
        })
        .then(() => {
          this.$modal.msgSuccess(text + "成功");
@@ -647,7 +524,7 @@
    // 表单重置
    reset() {
      this.form = {
        userId: undefined,
        id: undefined,
        deptId: undefined,
        userName: undefined,
        nickName: undefined,
@@ -703,66 +580,25 @@
    },
    /** 新增按钮操作 */
    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/particty",
        query: { type: 1 },
      });
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.$router.push({
        path: "/followvisit/particty",
        query: { type: 1, },
      });
    },
    /** 重置密码按钮操作 */
    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(() => {});
    },
    /** 提交按钮 */
    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();
            });
          }
        }
        path: "/followvisit/record/detailpage/",
        query: { id: "1", type: row.hosptype},
      });
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const userIds = row.userId || this.ids;
      const userIds = row.id || this.ids;
      this.$modal
        .confirm('是否确认删除用户编号为"' + userIds + '"的数据项?')
        .confirm('是否确认删除用户编号为"' + ids + '"的数据项?')
        .then(function () {
          return delUser(userIds);
          return delhetaskinfo(ids);
        })
        .then(() => {
          this.getList();