WXL
2024-08-15 8904734d9acaac1341ba6c65501792e7fb916d56
测试完成
已修改4个文件
576 ■■■■■ 文件已修改
src/views/followvisit/tasklist/index.vue 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/Missioncreation.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/QuestionnaireTask.vue 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/particty.vue 235 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/tasklist/index.vue
@@ -415,27 +415,36 @@
      taskoptions: [
        {
          value: "1",
          label: "宣教服务",
          label: "监测评估",
        },
        {
          value: "2",
          label: "门诊随访",
        },
        {
          value: "3",
          label: "出院随访",
        },
        {
          value: "3",
          label: "门诊随访",
        },
        {
          value: "4",
          label: "复诊服务",
          label: "宣教关怀",
        },
        {
          value: "5",
          label: "体检通知",
          label: "复诊管理",
        },
        {
          value: "6",
          label: "满意度调查",
        },
        {
          value: "7",
          label: "患者报告",
        },
        {
          value: "8",
          label: "其他通知",
        },
      ],
      tasktopic: "2", //新增类型
@@ -616,7 +625,7 @@
    this.getConfigKey("sys.user.initPassword").then((response) => {
      this.initPassword = response.msg;
    });
    this.taskoptions = store.getters.Serviceauthority;
    // this.taskoptions = store.getters.Serviceauthority;
  },
  // 搜索
  mounted() {
@@ -631,30 +640,25 @@
      this.tasktopic = this.$route.query.tasktopic
        ? this.$route.query.tasktopic
        : this.tasktopic;
      if (this.tasktopic == 1) {
        this.topqueryParams.type = 3;
        this.TaskOperation.taskType = 3;
      } else if (this.tasktopic == 2) {
        this.topqueryParams.type = 1;
        this.TaskOperation.taskType = 1;
      } else if (this.tasktopic == 3) {
        this.topqueryParams.type = 1;
        this.TaskOperation.taskType = 1;
      } else if (this.tasktopic == 4) {
        this.topqueryParams.type = 1;
        this.TaskOperation.taskType = 1;
      } else if (this.tasktopic == 5) {
        this.topqueryParams.type = 1;
        this.TaskOperation.taskType = 1;
      } else if (this.tasktopic == 6) {
      this.topqueryParams.serviceType = Number(this.tasktopic);
      if (this.tasktopic == 1 || this.tasktopic == 7 || this.tasktopic == 6) {
        this.topqueryParams.type = 2;
        this.TaskOperation.taskType = 2;
      } else if (this.tasktopic == 4 || this.tasktopic == 8) {
        this.topqueryParams.type = 1;
        this.TaskOperation.taskType = 3;
      } else if (
        this.tasktopic == 2 ||
        this.tasktopic == 3 ||
        this.tasktopic == 5
      ) {
        this.topqueryParams.type = 3;
        this.TaskOperation.taskType = 1;
      }
      this.topqueryParams.typename = this.findLabelByValue(
        this.taskoptions,
        this.tasktopic
      );
      // this.topqueryParams.typename = this.findLabelByValue(
      //   this.taskoptions,
      //   this.tasktopic
      // );
      getTasklist(this.addDateRange(this.topqueryParams, this.dateRange)).then(
        (response) => {
          this.userList = response.rows;
@@ -742,27 +746,29 @@
    },
    /** 新增按钮操作 */
    handleAdd() {
      const typename = this.findLabelByValue(this.taskoptions, this.tasktopic);
      if (
        this.tasktopic == 2 ||
        this.tasktopic == 3 ||
        this.tasktopic == 4 ||
        this.tasktopic == 5
      ) {
      if (this.topqueryParams.type == 3) {
        this.$router.push({
          path: "/followvisit/particty",
          query: { type: 1, typename: typename },
          query: {
            type: this.topqueryParams.type,
            serviceType: this.tasktopic,
          },
        });
      } else if (this.tasktopic == 6) {
      } else if (this.topqueryParams.type == 2) {
        this.$router.push({
          path: "/followvisit/QuestionnaireTask",
          query: { type: 2, typename: typename },
          query: {
            type: this.topqueryParams.type,
            serviceType: this.tasktopic,
          },
        });
      } else if (this.tasktopic == 1) {
      } else if (this.topqueryParams.type == 1) {
        this.$router.push({
          path: "/followvisit/Missioncreation",
          query: { type: 3, typename: typename },
          query: {
            type: this.topqueryParams.type,
            serviceType: this.tasktopic,
          },
        });
      }
    },
src/views/patient/propaganda/Missioncreation.vue
@@ -161,8 +161,10 @@
                    <el-checkbox
                      v-for="(item, index) in checkboxlist"
                      :key="index"
                      :label="item"
                    ></el-checkbox>
                      :label="item.value"
                    >
                      {{ item.label }}</el-checkbox
                    >
                  </el-checkbox-group>
                </el-form-item>
              </el-form>
@@ -802,6 +804,7 @@
    this.id = this.$route.query.id;
    this.form.type = this.$route.query.type;
    this.form.typename = this.$route.query.typename;
    this.form.serviceType = Number(this.$route.query.serviceType);
    this.listDept();
    this.Acquisitiontype();
    this.Getdetails();
@@ -846,7 +849,56 @@
      this.currenttype = this.$route.query.type;
      this.title = "宣教内容列表";
      this.tableLabel = this.tableLabelxj;
      this.checkboxlist = ["短信", "微信", "人工电话", "智能机器人"];
      if (this.form.serviceType == 4) {
        this.checkboxlist = [
          {
            value: "2",
            label: "纸质",
          },
          {
            value: "4",
            label: "短信",
          },
          {
            value: "5",
            label: "微信公众号",
          },
          {
            value: "6",
            label: "微信小程序",
          },
          {
            value: "8",
            label: "智能机器人",
          },
        ];
      } else if (this.form.serviceType == 8) {
        this.checkboxlist = [
          {
            value: "4",
            label: "短信",
          },
          {
            value: "5",
            label: "微信公众号",
          },
          {
            value: "6",
            label: "微信小程序",
          },
          {
            value: "8",
            label: "智能机器人",
          },
          {
            value: "9",
            label: "钉钉",
          },
        ];
      }
      getlibrarylist(queryParams).then((response) => {
        this.userList = response.rows;
        this.total = response.total;
@@ -859,8 +911,8 @@
    },
    // 保存
    submitForm(formName) {
      // this.form.preachform = this.checkList.join(",");
      this.formatFn(1);
      this.form.preachform = this.checkList.join(",");
      // this.formatFn(1);
      this.form.hospType = this.currenttype;
      if (!this.form.patTaskRelevances[0]) {
        this.$modal.msgError("请选择病人");
@@ -1095,7 +1147,8 @@
              ? this.form.patTaskRelevances
              : [];
            this.overallCase = this.form.patTaskRelevances.concat();
            this.formatFn(2);
            this.checkList = this.form.preachform.split(",");
            console.log(this.form.showDate, "this.form");
            this.daytime = this.form.showDate.split(",");
            if (this.form.showTimeMorn) {
src/views/patient/propaganda/QuestionnaireTask.vue
@@ -162,8 +162,10 @@
                    <el-checkbox
                      v-for="(item, index) in checkboxlist"
                      :key="index"
                      :label="item"
                    ></el-checkbox>
                      :label="item.value"
                    >
                      {{ item.label }}</el-checkbox
                    >
                  </el-checkbox-group>
                </el-form-item>
              </el-form>
@@ -233,88 +235,6 @@
            <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="患者名称">
                      <el-input v-model="topqueryParams.name"></el-input>
                    </el-form-item>
                    <el-form-item label="患者范围" 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.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="患者电话">
                      <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"
                        >当前患者一键发送</el-button
                      >
                    </el-form-item>
                  </el-form>
                  <el-divider></el-divider> -->
                  <el-row :gutter="10" class="mb8">
                    <el-col :span="1.5">
                      <el-select
@@ -408,29 +328,11 @@
              label-width="98px"
            >
              <el-form-item label="患者名称:">
                <el-input v-model="patientqueryParams.name"></el-input>
                <el-input
                  v-model="patientqueryParams.name"
                  @keyup.enter.native="handleQuery"
                ></el-input>
              </el-form-item>
              <!-- <el-form-item label="就诊科室" prop="status">
                <el-select
                  v-model="patientqueryParams.topic"
                  placeholder="请选择"
                >
                  <el-option-group
                    v-for="group in topicoptions[0].children"
                    :key="group.deptName"
                    :label="group.deptName"
                  >
                    <el-option
                      v-for="item in group.children"
                      :key="item.deptId"
                      :label="item.deptName"
                      :value="item.deptId"
                    >
                    </el-option>
                  </el-option-group>
                </el-select>
              </el-form-item> -->
              <el-form-item>
                <el-button
@@ -902,6 +804,7 @@
    this.id = this.$route.query.id;
    this.form.type = this.$route.query.type;
    this.form.typename = this.$route.query.typename;
    this.form.serviceType = Number(this.$route.query.serviceType);
    this.listDept();
    this.Acquisitiontype();
    this.Getdetails();
@@ -946,7 +849,70 @@
      this.currenttype = this.$route.query.type;
      this.title = "问卷内容列表";
      this.tableLabel = this.tableLabelwj;
      this.checkboxlist = ["短信", "微信", "人工电话", "智能机器人"];
      if (this.form.serviceType == 1) {
        this.checkboxlist = [
          {
            value: "1",
            label: "人工",
          },
          {
            value: "2",
            label: "纸质",
          },
        ];
      } else if (this.form.serviceType == 6) {
        this.checkboxlist = [
          {
            value: "3",
            label: "电话",
          },
          {
            value: "4",
            label: "短信",
          },
          {
            value: "5",
            label: "微信公众号",
          },
          {
            value: "6",
            label: "微信小程序",
          },
          {
            value: "8",
            label: "智能机器人",
          },
        ];
      } else if (this.form.serviceType == 7) {
        this.checkboxlist = [
          {
            value: "1",
            label: "人工",
          },
          {
            value: "2",
            label: "纸质",
          },
          {
            value: "3",
            label: "电话",
          },
          {
            value: "4",
            label: "短信",
          },
          {
            value: "5",
            label: "微信公众号",
          },
          {
            value: "6",
            label: "微信小程序",
          },
        ];
      }
      getQtemplatelist(queryParams).then((response) => {
        this.userList = response.rows;
        this.total = response.total;
@@ -959,8 +925,8 @@
    },
    // 保存
    submitForm(formName) {
      // this.form.preachform = this.checkList.join(",");
      this.formatFn(1);
      this.form.preachform = this.checkList.join(",");
      if (!this.form.patTaskRelevances[0]) {
        this.$modal.msgError("请选择病人");
        return;
@@ -1180,7 +1146,7 @@
              ? this.form.patTaskRelevances
              : [];
            this.overallCase = this.form.patTaskRelevances.concat();
            this.formatFn(2);
            this.checkList = this.form.preachform.split(",");
            console.log(this.form.showDate, "this.form");
            this.daytime = this.form.showDate.split(",");
            if (this.form.showTimeMorn) {
src/views/patient/propaganda/particty.vue
@@ -162,8 +162,10 @@
                    <el-checkbox
                      v-for="(item, index) in checkboxlist"
                      :key="index"
                      :label="item"
                    ></el-checkbox>
                      :label="item.value"
                    >
                      {{ item.label }}</el-checkbox
                    >
                  </el-checkbox-group>
                </el-form-item>
              </el-form>
@@ -234,87 +236,7 @@
              <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="患者名称">
                      <el-input v-model="topqueryParams.name"></el-input>
                    </el-form-item>
                    <el-form-item label="患者范围" prop="status">
                      <el-select
                        v-model="topqueryParams.scriptTopic"
                        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.scriptTopic"
                        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.scriptTopic"
                        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="患者电话">
                      <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"
                        >当前患者一键发送</el-button
                      >
                    </el-form-item>
                  </el-form>
                  <el-divider></el-divider> -->
                  <el-row :gutter="10" class="mb8">
                    <el-col :span="1.5">
                      <el-select
@@ -408,7 +330,10 @@
              label-width="98px"
            >
              <el-form-item label="患者名称:">
                <el-input v-model="patientqueryParams.name"></el-input>
                <el-input
                  v-model="patientqueryParams.name"
                  @keyup.enter.native="handleQuery"
                ></el-input>
              </el-form-item>
              <el-form-item>
@@ -522,81 +447,7 @@
                label="随访名称"
                v-if="currenttype == 2 || currenttype == 3 || currenttype == 7"
              >
                <el-input
                  v-model="topqueryParams.name"
                ></el-input> </el-form-item
              ><el-form-item
                label="通知名称"
                v-if="currenttype == 4 || currenttype == 5"
              >
                <el-input v-model="topqueryParams.name"></el-input>
              </el-form-item>
              <el-form-item
                label="随访类型"
                prop="status"
                v-if="currenttype == 1 || currenttype == 8"
              >
                <el-select
                  v-model="topqueryParams.scriptTopic"
                  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"
                v-if="currenttype == 4 || currenttype == 5"
              >
                <el-select
                  v-model="topqueryParams.scriptTopic"
                  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"
                v-if="currenttype == 2 || currenttype == 3 || currenttype == 7"
              >
                <el-select
                  v-model="topqueryParams.scriptTopic"
                  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">
@@ -710,12 +561,7 @@
        { label: "创建人(缺)", width: "", prop: "updateBy" },
      ],
      // 变量
      tableLabelvariable: [
        { label: "变量名称", width: "", prop: "variablename" },
        { label: "匹配符", width: "", prop: "character" },
        { label: "替换值", width: "", prop: "Replacementvalue" },
      ],
      // 服务形式
      preachform: [
        { label: "线下", value: 1 },
        { label: "电话", value: 2 },
@@ -833,7 +679,7 @@
  created() {
    this.id = this.$route.query.id;
    this.form.type = this.$route.query.type;
    this.form.typename = this.$route.query.typename;
    this.form.serviceType = Number(this.$route.query.serviceType);
    this.form.nhh = this.$route.query.nhh;
    this.listDept();
    this.Acquisitiontype();
@@ -881,7 +727,61 @@
      // 出院、门诊、专病随访
      this.title = "随访内容列表";
      this.tableLabel = this.tableLabelmz;
      this.checkboxlist = ["短信", "微信", "人工电话", "智能机器人"];
      if (this.form.serviceType == 2 || this.form.serviceType == 3) {
        this.checkboxlist = [
          {
            value: "1",
            label: "人工",
          },
          {
            value: "3",
            label: "电话",
          },
          {
            value: "4",
            label: "短信",
          },
          {
            value: "5",
            label: "微信公众号",
          },
          {
            value: "6",
            label: "微信小程序",
          },
          {
            value: "8",
            label: "智能机器人",
          },
        ];
      } else if (this.form.serviceType == 5) {
        this.checkboxlist = [
          {
            value: "3",
            label: "电话",
          },
          {
            value: "4",
            label: "短信",
          },
          {
            value: "5",
            label: "微信公众号",
          },
          {
            value: "6",
            label: "微信小程序",
          },
          {
            value: "8",
            label: "智能机器人",
          },
        ];
      }
      getFollowuplist(queryParams).then((response) => {
        this.userList = response.rows;
        this.total = response.total;
@@ -895,7 +795,8 @@
    // 保存
    submitForm(formName) {
      this.form.preachform = this.checkList.join(",");
      this.formatFn(1);
      // this.formatFn(1);
      if (!this.form.patTaskRelevances[0]) {
        this.$modal.msgError("请选择病人");
        return;
@@ -1111,7 +1012,7 @@
          if (res.code == 200) {
            this.form = res.data;
            this.overallCase = this.form.patTaskRelevances.concat();
            this.formatFn(2);
            this.checkList = this.form.preachform.split(",");
            console.log(this.form.showDate, "this.form");
            this.daytime = this.form.showDate.split(",");
            this.changeTimeday(this.daytime);