WXL (wul)
3 天以前 09abeae851f72a25f105030e37c6a0c9f3189378
测试完成
已删除3个文件
已重命名1个文件
已修改10个文件
已复制2个文件
384 ■■■■■ 文件已修改
dist.zip 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/optionalModule/index.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/discharge/index.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/record/detailpage/index.vue 265 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/tasklist/index.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/outsideChainwtnew.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sfstatistics/percentage/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
外链.zip 补丁 | 查看 | 原始文档 | blame | 历史
随访7.6.zip 补丁 | 查看 | 原始文档 | blame | 历史
随访7.7.zip 补丁 | 查看 | 原始文档 | blame | 历史
随访通用 (2).zip 补丁 | 查看 | 原始文档 | blame | 历史
随访通用.zip 补丁 | 查看 | 原始文档 | blame | 历史
dist.zip
Binary files differ
src/App.vue
@@ -3,13 +3,13 @@
    <router-view />
    <theme-picker />
    <!-- <Assistant v-if="routertf" /> -->
    <Assistant
    <!-- <Assistant
      v-if="Assvite"
      :initial-position="{ x: 50, y: 200 }"
      :auto-hide="false"
      :hide-delay="3000"
      primary-color="#1890ff"
    />
    /> -->
  </div>
</template>
src/components/optionalModule/index.vue
@@ -55,8 +55,8 @@
              v-model="scopetype"
              placeholder="默认全部"
              :options="sourcetype"
            filterable
            clearable
              filterable
              clearable
              :props="{ expandTrigger: 'hover' }"
              @change="handleChange"
            ></el-cascader>
@@ -78,6 +78,7 @@
        <!-- æ¨¡æ¿åˆ—表 -->
        <el-table
          v-loading="loading"
          :data="templateList"
          style="width: 100%"
          @row-click="handleSelectTemplate"
@@ -364,10 +365,10 @@
      ],
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        type: 1,
        deptType: "1",
        pageNum: 1,
        pageSize: 10,
        svyname: "",
        deptCode: "",
        isenable: "",
      },
      total: 0,
src/utils/request.js
@@ -111,7 +111,6 @@
        )
          .then(() => {
            console.log('选择重新登录');
            this.$router.replace("/login");
          })
          .catch(() => {
src/views/followvisit/discharge/index.vue
@@ -373,6 +373,15 @@
          </template>
        </el-table-column>
        <el-table-column
          label="当前执行方式"
          align="center"
          key="currentPreachform"
          prop="currentPreachform"
          width="160"
          :show-overflow-tooltip="true"
        >
        </el-table-column>
        <el-table-column
          label="随访完成时间"
          sortable
          align="center"
@@ -395,16 +404,30 @@
          </template></el-table-column
        >
        <el-table-column
          label="开始随访时间"
          width="146"
          align="center"
          key="longSendTime"
          prop="longSendTime"
          :render-header="Tooltipks"
        >
          <template slot-scope="scope">
            <span>{{ formatTime(scope.row.longSendTime) }}</span>
          </template></el-table-column
        >
        <el-table-column
          label="应随访日期"
          width="146"
          align="center"
          key="visitTime"
          prop="visitTime"
          :render-header="Tooltipy"
        >
          <template slot-scope="scope">
            <span>{{ formatTime(scope.row.visitTime) }}</span>
          </template></el-table-column
        >
        <!-- åŽŸ -->
        <el-table-column
          label="主治医生"
@@ -1541,6 +1564,12 @@
              return item ? item.label : null;
            });
          }
          if (item.currentPreachform) {
            item.currentPreachform = this.checkboxlist.find(
              (item) => item.value == item.currentPreachform
            )?.value;
            console.log(item.currentPreachform, "mi");
          }
        });
        this.total = response.total;
@@ -1576,6 +1605,32 @@
        this.getList(1);
      }
    },
    Tooltipy(h, { column }) {
      return h(
        "el-tooltip",
        {
          props: {
            content: "任务配置多种补偿类型时,最新执行类型的应随访时间",
            placement: "top",
            effect: "dark",
          },
        },
        [h("span", column.label)]
      );
    },
    Tooltipks(h, { column }) {
      return h(
        "el-tooltip",
        {
          props: {
            content: "任务存在多种补偿类型时的首次应随访时间",
            placement: "top",
            effect: "dark",
          },
        },
        [h("span", column.label)]
      );
    },
    // æ—¶é—´
    getEndOfDay() {
      const date = new Date(); // åˆ›å»ºä¸€ä¸ªè¡¨ç¤ºå½“前时间的Date对象
src/views/followvisit/record/detailpage/index.vue
@@ -365,7 +365,7 @@
                  <div class="title">
                    {{ taskname ? taskname : "问卷" }}
                    <span style="margin-left: 50px">
                      <el-button type="primary" round @click="smsSubTask">
                      <el-button type="primary" round @click="smsSubTask" v-if="orgname != '省立同德翠苑院区'">
                        é—®å·çŸ­ä¿¡æŽ¨é€
                      </el-button>
                    </span>
@@ -684,7 +684,7 @@
                  type="primary"
                  round
                  @click="sendAgain"
                  v-if="(form.isVisitAgain != 2) & (visitAgain == 2)"
                  v-if="(form.isVisitAgain == 1) & (visitAgain == 2)"
                >
                  å†æ¬¡éšè®¿
                </el-button>
@@ -929,6 +929,13 @@
                  >
                    æš‚不处理
                  </el-button>
                   <el-button
                    plain
                    type="success"
                    @click="Editsingletaskson('6')"
                  >
                    å·²é¢è®¿
                  </el-button>
                  <el-button
                    plain
                    type="success"
@@ -946,7 +953,7 @@
                  <el-button plain type="info" @click="Editsingletaskson('5')">
                    äººå·¥éšè®¿
                  </el-button>
                  <el-button type="primary" round @click="sendAgainmsg">
                  <el-button type="primary" round @click="sendAgainmsg" v-if="orgname != '省立同德翠苑院区'">
                    çŸ­ä¿¡å‘送
                  </el-button>
                </div>
@@ -1082,51 +1089,37 @@
      </div>
    </el-dialog>
    <el-dialog
      title="患者再次随访"
      v-dialogDrags
      :visible.sync="dialogFormVisible"
    >
      <el-form ref="zcform" :rules="zcrules" :model="form" label-width="80px">
  title="患者再次随访"
  v-dialogDrags
  :visible.sync="dialogFormVisible"
  width="700px"
>
  <el-form ref="zcform" :rules="zcrules" :model="form" label-width="80px">
    <!-- åŸºç¡€æœåŠ¡ä¿¡æ¯ - é»˜è®¤æŠ˜å  -->
    <el-collapse v-model="activeNames" @change="handleCollapseChange">
      <el-collapse-item title="基础服务信息" name="basic">
        <el-form-item label="任务名称">
          <el-input
            style="width: 400px"
            disabled
            v-model="form.taskName"
          ></el-input>
          <el-input style="width: 100%" disabled v-model="form.taskName"></el-input>
        </el-form-item>
        <el-form-item label="患者名称">
          <el-input
            style="width: 400px"
            disabled
            v-model="form.sendname"
          ></el-input>
          <el-input style="width: 100%" disabled v-model="form.sendname"></el-input>
        </el-form-item>
        <el-form-item label="年龄">
          <el-input style="width: 400px" disabled v-model="form.age"></el-input>
          <el-input style="width: 100%" disabled v-model="form.age"></el-input>
        </el-form-item>
        <el-form-item label="科室">
          <el-input
            style="width: 400px"
            disabled
            v-model="form.deptname"
          ></el-input>
          <el-input style="width: 100%" disabled v-model="form.deptname"></el-input>
        </el-form-item>
        <el-form-item label="病区">
          <el-input
            style="width: 400px"
            disabled
            v-model="form.leavehospitaldistrictname"
          ></el-input>
          <el-input style="width: 100%" disabled v-model="form.leavehospitaldistrictname"></el-input>
        </el-form-item>
        <el-form-item label="出院时间">
          <el-input
            style="width: 400px"
            disabled
            v-model="form.endtime"
          ></el-input>
          <el-input style="width: 100%" disabled v-model="form.endtime"></el-input>
        </el-form-item>
        <div class="headline">上次随访</div>
        <el-divider></el-divider>
      </el-collapse-item>
      <!-- ä¸Šæ¬¡éšè®¿ä¿¡æ¯ - é»˜è®¤æŠ˜å  -->
      <el-collapse-item title="上次随访" name="last">
        <el-row>
          <el-col :span="12">
            <el-form-item label="随访方式">
@@ -1138,6 +1131,7 @@
                disabled
                placeholder="请选择随访方式"
                class="custom-disabled"
                style="width: 90%"
              >
                <el-option
                  v-for="item in options"
@@ -1159,11 +1153,11 @@
                align="right"
                v-model="form.date2"
                class="custom-disabled"
                style="width: 95%"
              ></el-date-picker>
            </el-form-item>
          </el-col>
        </el-row>
        <el-form-item label="随访记录">
          <el-input
            class="custom-disabled"
@@ -1172,8 +1166,10 @@
            v-model="form.remark2"
          ></el-input>
        </el-form-item>
        <div class="headline">下次随访</div>
        <el-divider></el-divider>
      </el-collapse-item>
      <!-- ä¸‹æ¬¡éšè®¿ä¿¡æ¯ - é»˜è®¤å±•å¼€ -->
      <el-collapse-item title="下次随访" name="next">
        <el-row>
          <el-col :span="12">
            <el-form-item label="随访方式" prop="visitType">
@@ -1184,6 +1180,7 @@
                default-first-option
                @change="visitChange"
                placeholder="请选择随访方式(依出院时间计算)"
                style="width: 90%"
              >
                <el-option
                  v-for="item in options"
@@ -1204,6 +1201,7 @@
                align="right"
                v-model="form.date1"
                class="custom-disabled"
                style="width: 92%"
                value-format="yyyy-MM-dd hh:mm:ss"
                @change="checkFollowupDate"
              ></el-date-picker>
@@ -1216,18 +1214,17 @@
            <el-radio label="2">随访中心随访</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="随访记录" :required="form.resource == '2'">
          <el-input type="textarea" v-model="form.remark"></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="warning" @click="dialogFormVisible = false"
          >取 æ¶ˆ</el-button
        >
        <el-button type="primary" @click="setupsubtask">确认创建服务</el-button>
      </div>
    </el-dialog>
      </el-collapse-item>
    </el-collapse>
  </el-form>
  <div slot="footer" class="dialog-footer">
    <el-button type="warning" @click="dialogFormVisible = false">取 æ¶ˆ</el-button>
    <el-button type="primary" @click="setupsubtask">确认创建服务</el-button>
  </div>
</el-dialog>
    <div class="main-content" v-if="orgname == '景宁畲族自治县人民医院'">
      <!-- <el-button @click="CaldialogVisible = true">打开弹框</el-button> -->
@@ -1364,6 +1361,7 @@
    };
    return {
      visitAgain: 1,
      activeNames: ['next'], // åªå±•å¼€"下次随访",其他都折叠
      userid: "",
      defaultKey: false, //是否可默认填报
      currentPhoneNumber: "",
@@ -1710,6 +1708,9 @@
        return "scriptTopic-dev"; // æ­£å¸¸ - é»˜è®¤æ ·å¼
      }
    },
    handleCollapseChange(val) {
    console.log('折叠面板状态变化:', val);
  },
    getconfigKey() {
      getconfigKey("default.value.icon").then((res) => {
        if (res.msg) {
@@ -1793,7 +1794,9 @@
              item.scriptResult = item.scriptResult;
            } else if (item.scriptResultId && item.scriptType == 2) {
              console.log(item.scriptResult, "item.scriptResult");
              item.scriptResult = item.scriptResult.split("&");
              item.scriptResult = item.scriptResult
                ? item.scriptResult.split("&")
                : [];
              item.isoption = 3;
            } else if (!item.scriptResultId && item.scriptType == 2) {
              item.scriptResult = [];
@@ -2033,37 +2036,38 @@
          this.Editsingletasksonyic(this.serviceStates);
          const orgName = localStorage.getItem("orgname");
          if (
            this.form.isVisitAgain != 1 ||
            orgName == "丽水市中医院" ||
            this.visitAgain == 1
          ) {
          if (this.form.isVisitAgain != 1 || this.visitAgain == 1) {
            this.Torouter();
            return;
          }
          // this.$modal
          //   .confirm(
          //     '任务保存成功是否针对患者:"' +
          //       this.userform.name +
          //       '"再次随访?',
          //     "确认",
          //     {
          //       confirmButtonText: "确定",
          //       cancelButtonText: "取消",
          //       showCancelButton: true,
          //       dangerouslyUseHTMLString: true,
          //       confirmButtonClass: "custom-confirm-button", // è‡ªå®šä¹‰ç¡®è®¤æŒ‰é’®çš„类名
          //       cancelButtonClass: "custom-cancel-button", // è‡ªå®šä¹‰å–消按钮的类名
          //     }
          //   )
          //   .then(() => {
          //     document.querySelector("#app").scrollTo(0, 0);
          //     this.formtidy();
          //     this.dialogFormVisible = true;
          //   })
          //   .catch(() => {
          //     this.Torouter();
          //   });
          if (
            orgName == "景宁畲族自治县人民医院" ||
            orgName == "缙云第二人民医院"
          ) {
            this.$modal
              .confirm(
                '任务保存成功是否针对患者:"' +
                  this.userform.name +
                  '"再次随访?',
                "确认",
                {
                  confirmButtonText: "确定",
                  cancelButtonText: "取消",
                  showCancelButton: true,
                  dangerouslyUseHTMLString: true,
                  confirmButtonClass: "custom-confirm-button", // è‡ªå®šä¹‰ç¡®è®¤æŒ‰é’®çš„类名
                  cancelButtonClass: "custom-cancel-button", // è‡ªå®šä¹‰å–消按钮的类名
                }
              )
              .then(() => {
                document.querySelector("#app").scrollTo(0, 0);
                this.formtidy();
                this.dialogFormVisible = true;
              })
              .catch(() => {
                this.Torouter();
              });
          }
        }
      });
    },
@@ -2315,42 +2319,43 @@
      const orgName = localStorage.getItem("orgname");
      console.log(orgName, "orgName");
      if (
        this.form.isVisitAgain != 1 ||
        orgName == "丽水市中医院" ||
        this.visitAgain == 1
      ) {
        this.Torouter();
        return;
      }
      savequestiondetail(obj).then((res) => {
        if (res.code == 200) {
          this.$modal.msgSuccess("服务保存成功");
          this.Torouter();
          // this.Torouter();
          if (
            this.form.isVisitAgain != 1 ||
            orgName == "丽水市中医院" ||
            this.visitAgain == 1
          ) {
            console.log("c4");
          //   this.$modal
          //     .confirm(
          //       '任务保存成功是否针对患者:"' +
          //         this.userform.name +
          //         '"再次随访?',
          //       "确认",
          //       {
          //         confirmButtonText: "确定",
          //         cancelButtonText: "取消",
          //         showCancelButton: true,
          //         dangerouslyUseHTMLString: true,
          //         confirmButtonClass: "custom-confirm-button", // è‡ªå®šä¹‰ç¡®è®¤æŒ‰é’®çš„类名
          //         cancelButtonClass: "custom-cancel-button", // è‡ªå®šä¹‰å–消按钮的类名
          //       }
          //     )
          //     .then(() => {
          //       document.querySelector("#app").scrollTo(0, 0);
          //       this.formtidy();
          //       this.dialogFormVisible = true;
          //     })
          //     .catch(() => {
          //       this.Torouter();
          //     });
            this.Torouter();
            return;
          }
          this.$modal
            .confirm(
              '任务保存成功是否针对患者:"' +
                this.userform.name +
                '"再次随访?',
              "确认",
              {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                showCancelButton: true,
                dangerouslyUseHTMLString: true,
                confirmButtonClass: "custom-confirm-button", // è‡ªå®šä¹‰ç¡®è®¤æŒ‰é’®çš„类名
                cancelButtonClass: "custom-cancel-button", // è‡ªå®šä¹‰å–消按钮的类名
              }
            )
            .then(() => {
              document.querySelector("#app").scrollTo(0, 0);
              this.formtidy();
              this.dialogFormVisible = true;
            })
            .catch(() => {
              this.Torouter();
            });
        }
      });
    },
@@ -2640,15 +2645,26 @@
      if (document.activeElement) {
        document.activeElement.blur();
      }
      let selectedOptionObj = null;
      if (this.Voicetype) {
        console.log('Voicetype');
      // æ‰¾åˆ°è¢«é€‰ä¸­çš„选项对象
      const selectedOptionObj = options.find(
        (item) => item.optioncontent == selectedOption
      );
        selectedOptionObj = options.find(
          (item) => item.targetvalue == selectedOption
        );
      } else {
        // æ‰¾åˆ°è¢«é€‰ä¸­çš„选项对象
        selectedOptionObj = options.find(
          (item) => item.optioncontent == selectedOption
        );
      }
      console.log(this.tableDatatop, "this.tableDatatop");
      console.log(selectedOptionObj, "selectedOptionObj");
      // å¤„理异常状态高亮
      this.tableDatatop[questionIndex].isabnormal =
        selectedOptionObj.isabnormal;
      // å¤„理附加输入框显示
      this.tableDatatop[questionIndex].showAppendInput =
@@ -4021,4 +4037,27 @@
  color: #66b1ff;
  transform: scale(1.1);
}
/* è°ƒæ•´æŠ˜å é¢æ¿æ ·å¼ */
.el-collapse {
  border-top: none;
}
.el-collapse-item__header {
  font-size: 16px;
  font-weight: bold;
  background-color: #f5f7fa;
  padding-left: 15px;
  border-radius: 4px;
  margin-bottom: 5px;
}
.el-collapse-item__wrap {
  border-bottom: none;
}
.el-collapse-item__content {
  padding: 20px 15px;
  background-color: #fff;
}
</style>
src/views/followvisit/tasklist/index.vue
@@ -184,8 +184,26 @@
          key="longTask"
          prop="longTask"
        >
          <template slot-scope="scope">
          <!-- <template slot-scope="scope">
            <span>{{ scope.row.longTask ? "长期任务" : "非长期" }}</span>
          </template> -->
           <template slot-scope="scope">
              <div v-if="scope.row.longTask == 0">
                <el-tag type="primary" :disable-transitions="false"
                  >自定义周期任务</el-tag
                >
              </div>
              <div v-if="scope.row.longTask == 1">
                <el-tag type="success" :disable-transitions="false"
                  >长期任务</el-tag
                >
              </div>
              <div v-if="scope.row.longTask == 2">
                <el-tag type="success" :disable-transitions="false"
                  >固定任务</el-tag
                >
              </div>
          </template>
        </el-table-column>
src/views/login.vue
@@ -128,7 +128,7 @@
        password: [
          { required: true, trigger: "blur", message: "请输入您的密码" },
        ],
        orgid: [{ required: true, trigger: "blur", message: "请选择院区" }],
        campusid: [{ required: true, trigger: "blur", message: "请选择院区" }],
      },
      loading: false,
      // éªŒè¯ç å¼€å…³
src/views/outsideChainwtnew.vue
@@ -500,6 +500,7 @@
      console.log(url, "url");
      // let url = 'http://218.108.11.22:8093/sf/003';
      // let urlid = this.extractLastSegmentFromUrl(url);
      console.log("棒棒2");
      geturlinfo(url).then((res) => {
        if (res.code == 200) {
@@ -1033,15 +1034,16 @@
  margin: 12px 0;
  padding: 0 4px;
}
// ä¿®æ”¹ options-group çš„æ ·å¼
.options-group {
::v-deep .el-radio-group.options-group,
::v-deep .el-checkbox-group.options-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr); // æ”¹ä¸ºä¸¤åˆ—网格
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  width: 100%;
}
// é’ˆå¯¹å¤šé€‰çš„ checkbox-group ä¹Ÿåº”用同样的网格布局
:deep(.el-checkbox-group) {
// åŒæ ·å¤„理多选的情况
::v-deep .el-checkbox-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
@@ -1099,12 +1101,7 @@
  white-space: normal;
  line-height: 1.4;
}
// åœ¨å°å±å¹•上调整为单列
@media (max-width: 300px) {
  .options-group {
    grid-template-columns: 1fr; // è¶…小屏幕恢复单列
  }
}
.abnormal-indicator {
  color: #f56c6c;
  font-weight: bold;
src/views/sfstatistics/percentage/index.vue
@@ -239,9 +239,10 @@
        serviceType: [2],
        dateRange: this.getLastMonthRange(),
        dateRangecy: [],
        statisticaltype: 1,
        statisticaltype:
          localStorage.getItem("orgname") == "缙云县人民医院" ? 2 : 1,
        leavehospitaldistrictcodes: ["all"],
        deptcodes: [],
        deptcodes: ["all"],
      },
      pickerOptions: {
        shortcuts: [
vue.config.js
@@ -44,7 +44,7 @@
        // target:`http://35z1t16164.qicp.vip`,
        // target: `http://192.168.100.172:8095`,
        // target: `http://192.168.100.10:8089`,//南华
        // target: `http://192.168.191.181:8095`,
        // target: `https://9.208.38.93:8092/`,
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''
ÍâÁ´.zip
Binary files differ
Ëæ·Ã7.6.zip
copy from "\351\232\217\350\256\277\351\200\232\347\224\2507.1.zip" copy to "\351\232\217\350\256\2777.6.zip" Binary files differ
Ëæ·Ã7.7.zip
copy from "\351\232\217\350\256\277\351\200\232\347\224\2507.1.zip" copy to "\351\232\217\350\256\2777.7.zip" Binary files differ
Ëæ·ÃͨÓà (2).zip
Binary files differ
Ëæ·ÃͨÓÃ.zip
Binary files differ