WXL (wul)
5 天以前 70e4d2c33cc2e3af590d1816c0c703da341538cf
src/views/followvisit/zysatisfaction/index.vue
@@ -2,9 +2,8 @@
  <div class="app-container">
    <statistics-cards
      :cardlist="cardlist"
      :ycvalue="ycvalue"
      :jgvalue="jgvalue"
      :show-warning-condition="orgname == '省立同德翠苑院区'"
      :show-extra="false"
      :show-warning-condition="false"
    />
    <el-row :gutter="20">
      <!--用户数据-->
@@ -16,13 +15,6 @@
        v-show="showSearch"
        label-width="98px"
      >
        <el-form-item label="任务名称">
          <el-input
            v-model="topqueryParams.taskName"
            placeholder="请选择任务名称"
          ></el-input>
        </el-form-item>
        <el-form-item label="出院时间">
          <el-date-picker
            v-model="dateRange"
@@ -41,31 +33,18 @@
            placeholder="请输入患者姓名"
          ></el-input>
        </el-form-item>
        <el-form-item label="诊断名称" prop="leavediagname">
          <el-input
            v-model="topqueryParams.leavediagname"
            placeholder="请输入诊断名称"
          ></el-input>
        </el-form-item>
        <el-form-item label="随访人员" prop="updateBy">
        <el-form-item label="处理人员" prop="updateBy">
          <el-input
            v-model="topqueryParams.updateBy"
            placeholder="请输入随访人员"
            placeholder="请输入处理人员"
          ></el-input>
        </el-form-item>
        <el-form-item label="主治医生" prop="drname">
        <el-form-item label="接诊医生" prop="drname">
          <el-input
            v-model="topqueryParams.drname"
            placeholder="请输入主治医生"
            placeholder="请输入接诊医生"
          ></el-input>
        </el-form-item>
        <el-form-item label="经管医生" prop="managementDoctor">
          <el-input
            v-model="topqueryParams.managementDoctor"
            placeholder="请输入主治医生"
          ></el-input>
        </el-form-item>
        <el-form-item label="患者范围" prop="status">
          <el-cascader
            v-model="topqueryParams.scopetype"
@@ -92,7 +71,7 @@
            </el-option>
          </el-select>
        </el-form-item> -->
        <el-form-item label="随访状态" prop="status">
        <el-form-item label="处理状态" prop="status">
          <el-cascader
            v-model="serviceStatusValue"
            placeholder="请选择"
@@ -225,15 +204,6 @@
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="50" align="center" />
        <el-table-column
          label="任务名称"
          fixed
          width="150"
          show-overflow-tooltip
          align="center"
          key="taskName"
          prop="taskName"
        />
        <!-- <el-table-column label="序号" fixed align="center" key="id" prop="id" /> -->
        <el-table-column
          label="姓名"
@@ -261,7 +231,7 @@
          </template>
        </el-table-column>
        <el-table-column
          label="随访状态"
          label="处理状态"
          align="center"
          key="sendstateView"
          prop="sendstateView"
@@ -338,20 +308,13 @@
          </template></el-table-column
        >
        <el-table-column
          label="主治医生"
          label="接诊医生"
          width="120"
          align="center"
          key="drname"
          prop="drname"
        />
        <el-table-column
          label="经管医生"
          align="center"
          key="managementDoctor"
          prop="managementDoctor"
          width="120"
        />
        <el-table-column
          label="出院天数"
          width="120"
@@ -415,16 +378,7 @@
        </el-table-column>
        <el-table-column
          label="诊断名称"
          align="center"
          key="leavediagname"
          prop="leavediagname"
          width="120"
          :show-overflow-tooltip="true"
        >
        </el-table-column>
        <el-table-column
          label="随访人员"
          label="处理人员"
          align="center"
          key="updateBy"
          prop="updateBy"
@@ -959,6 +913,8 @@
      ids: [],
      // 非单个禁用
      single: true,
      jgvalue: 0,
      // 非多个禁用
      multiple: true,
      // 显示搜索条件
@@ -989,7 +945,7 @@
      dynamicTags: ["选项一", "选项二", "选项三"], //选项
      inputVisible: false,
      Labelchange: false,
      ycvalue: "",
      ycvalue: 0,
      yfsvalue: "",
      inputValue: "",
      preachform: "",
@@ -1024,25 +980,24 @@
      loading: false,
      cardlist: [
        {
          name: "患者服务总量",
          value: 0,
        },
        {
          name: "无需随访",
          name: "住院总量",
          value: 0,
        },
        {
          name: "需随访",
          name: "发送任务量",
          value: 0,
        },
        {
          name: "待随访",
          name: "待完成",
          value: 0,
        },
        {
          name: "已完成",
          value: 0,
        },
        {
          name: "完成率",
          value: "0%",
        },
      ],
      // 级联选择器绑定值
@@ -1221,6 +1176,8 @@
          },
        },
      },
      orgname: "",
      amendtag: false,
      errtype: "",
      leavehospitaldistrictcode: "",
@@ -1235,6 +1192,8 @@
    this.serviceState = store.getters.serviceState;
    this.checkboxlist = store.getters.checkboxlist;
    this.errtype = this.$route.query.errtype;
    this.orgname = localStorage.getItem("orgname");
    this.leavehospitaldistrictcode =
      this.$route.query.leavehospitaldistrictcode;
    this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
@@ -1298,14 +1257,19 @@
        this.userList = response.rows[0].serviceSubtaskList;
        this.total = response.total;
        if (refresh) {
          this.cardlist[0].value =
          // 住院总量:暂无字段,保持 0
          // 发送任务量 = 患者服务总量(无需随访 + 需随访)
          this.cardlist[1].value =
            Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0;
          // this.cardlist[1].value = response.rows[0].wzx;
          this.cardlist[1].value = response.rows[0].wxsf || 0;
          this.ycvalue = response.rows[0].yc;
          this.cardlist[2].value = response.rows[0].xsf || 0;
          this.cardlist[3].value = response.rows[0].dsf || 0;
          this.cardlist[4].value = response.rows[0].ywc || 0;
          this.cardlist[2].value = response.rows[0].dsf || 0; // 待完成 = 待随访
          this.cardlist[3].value = response.rows[0].ywc || 0; // 已完成 = 已随访
          // 完成率 = 已完成 / (待完成 + 已完成)
          const dsf = Number(response.rows[0].dsf) || 0;
          const ywc = Number(response.rows[0].ywc) || 0;
          const doneTotal = dsf + ywc;
          this.cardlist[4].value =
            doneTotal > 0 ? ((ywc / doneTotal) * 100).toFixed(2) + "%" : "0%";
          this.yfsvalue = response.rows[0].yfs;
        }
        this.loading = false;
@@ -1459,7 +1423,7 @@
        this.options = [];
      }
    },
    // 影像随访状态修改
    // 影像处理状态修改
    handleStatusChange(row) {
      let text = row.status === "0" ? "启用" : "停用";
      this.$modal
@@ -1874,8 +1838,8 @@
<style lang="scss" scoped>
.el-button--primary.is-plain {
  color: #ffffff;
  background: #409eff;
  border-color: #4fabe9;
  background: #5b7cfa;
  border-color: #5b7cfa;
}
.document {
@@ -2071,4 +2035,75 @@
//     font-size: 24px;
//   }
// }
/* ================= 清新高级简约风 ================= */
.app-container {
  background: #f5f7fb;
  border-radius: 14px;
  padding: 20px;
}
/* 查询表单:白色圆角卡片 */
::v-deep .el-form--inline {
  background: #ffffff;
  border-radius: 14px;
  padding: 22px 22px 8px;
  margin-bottom: 18px;
  box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05);
}
/* 隐藏分割线 */
::v-deep .el-divider {
  display: none;
}
/* 工具栏底部间距 */
.mb8 {
  margin-bottom: 18px;
}
/* 按钮:圆角 + 柔和过渡 */
::v-deep .el-button {
  border-radius: 8px;
  font-weight: 500;
  transition: all 0.25s ease;
}
/* 主按钮:清新靛蓝 */
::v-deep .el-button--primary:not(.is-plain) {
  background: #5b7cfa;
  border-color: #5b7cfa;
}
::v-deep .el-button--primary:not(.is-plain):hover,
::v-deep .el-button--primary:not(.is-plain):focus {
  background: #7593fb;
  border-color: #7593fb;
}
/* 表格:白色圆角卡片 + 柔和表头 */
::v-deep .el-table {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(31, 45, 61, 0.05);
}
::v-deep .el-table::before {
  display: none;
}
::v-deep .el-table th {
  background: #f7f9fd !important;
  color: #3f4d63;
  font-weight: 600;
}
::v-deep .el-table td {
  padding: 12px 0;
}
/* 标签圆角 */
::v-deep .el-tag {
  border-radius: 6px;
}
/* 分页间距 */
::v-deep .pagination-container {
  padding-top: 18px;
}
</style>