6 changed files with 474 additions and 547 deletions
			
			
		- 
					170src/components/follow/FollowCritical.vue
 - 
					2src/components/follow/FollowCriticalCheck.vue
 - 
					315src/components/follow/FollowList.vue
 - 
					237src/components/follow/FollowPlan.vue
 - 
					142src/components/follow/PhoneFollowUp.vue
 - 
					147src/components/follow/SmsSend.vue
 
@ -0,0 +1,170 @@ | 
				
			|||
<template> | 
				
			|||
  <div style="display: flex;"> | 
				
			|||
    <div :style="`width: ${window.pageWidth - 120}px;`"> | 
				
			|||
      <el-table :data="phoneFollowUp" border | 
				
			|||
        :height="window.pageHeight < 600 ? 124 : Math.floor((window.pageHeight - 228) / 3)" size="small" | 
				
			|||
        highlight-current-row show-summary ref="phoneFollowUp"> | 
				
			|||
        <el-table-column type="index" label="序号" width="50" align="center" /> | 
				
			|||
        <el-table-column prop="criticalRangeValue" label="危急值范围" min-width="100"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <el-input v-model="scope.row.criticalValueContent" size="small" /> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="isCriticalValue" label="危急值标志" min-width="100" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <el-checkbox v-model="scope.row.isCriticalValue" size="small" true-label="Y" false-label="N" /> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="criticalValueContent" label="危急值" min-width="80"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <el-input v-model="scope.row.criticalValueContent" size="small" /> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="isCriticalValueAudit" label="审核" min-width="60" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <el-checkbox v-model="scope.row.isCriticalValueAudit" size="small" true-label="Y" false-label="N" /> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="isReview" label="复查" min-width="60" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <el-checkbox v-model="scope.row.isReview" size="small" true-label="Y" false-label="N" /> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="isCriticalValueSmsComplete" label="短信" min-width="60" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <el-checkbox v-model="scope.row.isCriticalValueSmsComplete" size="small" true-label="Y" false-label="N" /> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="isCriticalValuePhoneComplete" label="电话随访" min-width="100" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <el-checkbox v-model="scope.row.isCriticalValuePhoneComplete" size="small" true-label="Y" false-label="N" /> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="lastModifierName" label="修改人" min-width="80" align="center" /> | 
				
			|||
        <el-table-column prop="lastModificationTime" label="修改日期" min-width="100" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="creatorName" label="登记人" min-width="80" align="center" /> | 
				
			|||
        <el-table-column prop="creationTime" label="登记日期" min-width="100" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
      </el-table> | 
				
			|||
 | 
				
			|||
    </div> | 
				
			|||
    <div style="width: 120px;margin-top: 50px"> | 
				
			|||
      <div style="margin-left: 10px"> | 
				
			|||
        <el-button class="commonbutton" type="primary" @click="btnAdd">新增</el-button> | 
				
			|||
      </div> | 
				
			|||
      <div style="margin: 10px;"> | 
				
			|||
        <el-button class="commonbutton" type="primary" @click="btnEdit">编辑</el-button> | 
				
			|||
      </div> | 
				
			|||
      <div style="margin-left: 10px"> | 
				
			|||
        <el-button class="commonbutton" type="primary" @click="btnDel">删除</el-button> | 
				
			|||
      </div> | 
				
			|||
    </div> | 
				
			|||
  </div> | 
				
			|||
</template> | 
				
			|||
<script> | 
				
			|||
import moment from "moment"; | 
				
			|||
import { mapState } from "vuex"; | 
				
			|||
import { dddw } from "../../utlis/proFunc"; | 
				
			|||
import { getapi, postapi, putapi, deletapi } from "../../api/api"; | 
				
			|||
 | 
				
			|||
export default { | 
				
			|||
  components: {}, | 
				
			|||
  data() { | 
				
			|||
    return { | 
				
			|||
      phoneFollowUp: [], // 电话随访 | 
				
			|||
    }; | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  created() { | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  updated() { | 
				
			|||
    this.$nextTick(() => { | 
				
			|||
      this.$refs['phoneFollowUp'].doLayout() | 
				
			|||
    }) | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  //挂载完成 | 
				
			|||
  mounted() { | 
				
			|||
    this.dictInit() | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  computed: { | 
				
			|||
    ...mapState(["window", "dataTransOpts", "dict", "patientRegister"]), | 
				
			|||
  }, | 
				
			|||
  methods: { | 
				
			|||
    dddw, moment, | 
				
			|||
 | 
				
			|||
    // 初始化字典信息 | 
				
			|||
    dictInit() { | 
				
			|||
      // 获取组合项目包含的明细 | 
				
			|||
      postapi('/api/app/Asbitem/GetSimpleAsbitemWithDetails') | 
				
			|||
        .then(res => { | 
				
			|||
          if (res.code > -1) this.asbItems = res.data | 
				
			|||
        }) | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 设置颜色  | 
				
			|||
    setColor(checkCompleteFlag) { | 
				
			|||
      let color = "#52555F" | 
				
			|||
      switch (checkCompleteFlag) { | 
				
			|||
        case '0': | 
				
			|||
          color = "#FF5054" | 
				
			|||
          break; | 
				
			|||
        case '2': | 
				
			|||
          color = "#396FFA" | 
				
			|||
          break; | 
				
			|||
        default: | 
				
			|||
          break; | 
				
			|||
      } | 
				
			|||
      return color | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 新增 | 
				
			|||
    btnAdd() { | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 编辑 | 
				
			|||
    btnEdit() { | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 删除 | 
				
			|||
    btnDel() { | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
 | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  //监听事件 | 
				
			|||
  watch: { | 
				
			|||
    //人员ID未切换换时 也可以强制刷新数据 | 
				
			|||
    "dataTransOpts.refresh.register_check_asbitem.M": { | 
				
			|||
      // immediate:true, | 
				
			|||
      handler(newVal, oldVal) { | 
				
			|||
        console.log(`watch 人员登记 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.patient_register.id}`); | 
				
			|||
        // if (newVal != oldVal)  | 
				
			|||
      } | 
				
			|||
    }, | 
				
			|||
  } | 
				
			|||
}; | 
				
			|||
</script> | 
				
			|||
<style scoped> | 
				
			|||
@import "../../assets/css/global.css"; | 
				
			|||
 | 
				
			|||
.box { | 
				
			|||
  display: flex; | 
				
			|||
} | 
				
			|||
</style> | 
				
			|||
@ -1,237 +0,0 @@ | 
				
			|||
<template> | 
				
			|||
  <div> | 
				
			|||
    <el-table :data="dataTransOpts.tableM.register_check_asbitem" border | 
				
			|||
      :height="window.pageHeight < 600 ? 124 : Math.floor((window.pageHeight - 228) / 3)" size="small" | 
				
			|||
      highlight-current-row :summary-method="getSummaries" show-summary ref="patientRegister.patientRegisterAbs"> | 
				
			|||
      <el-table-column type="index" label="序号" width="50" align="center"/> | 
				
			|||
      <el-table-column prop="asbitemName" label="随访内容" min-width="250"> | 
				
			|||
        <template slot-scope="scope">           | 
				
			|||
          <div> | 
				
			|||
            <i class="el-icon-view" style="font-size: 14px;color: black;cursor: pointer;" @click="getAsbItems(scope.row)" /> | 
				
			|||
            <el-tooltip class="item" effect="dark" content="标五角星表示属于分组或套餐的项目" placement="left"> | 
				
			|||
              <i v-if="scope.row.isBelongGroupPackage == 'Y'" class="el-icon-star-on" | 
				
			|||
                style="padding: 3px; font-size: 16px;color: purple;" /> | 
				
			|||
            </el-tooltip> | 
				
			|||
            {{ scope.row.asbitemName }} | 
				
			|||
          </div> | 
				
			|||
        </template> | 
				
			|||
      </el-table-column> | 
				
			|||
      <el-table-column prop="creatorName" label="客户回复" min-width="200" align="center" /> | 
				
			|||
      <el-table-column prop="creatorName" label="修改人" min-width="80" align="center" /> | 
				
			|||
      <el-table-column prop="creationTime" label="修改日期" min-width="100" align="center"> | 
				
			|||
        <template slot-scope="scope"> | 
				
			|||
          <div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div> | 
				
			|||
        </template> | 
				
			|||
      </el-table-column> | 
				
			|||
      <el-table-column prop="creatorName" label="登记人" min-width="80" align="center" /> | 
				
			|||
      <el-table-column prop="creationTime" label="登记日期" min-width="100" align="center"> | 
				
			|||
        <template slot-scope="scope"> | 
				
			|||
          <div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div> | 
				
			|||
        </template> | 
				
			|||
      </el-table-column> | 
				
			|||
    </el-table> | 
				
			|||
  </div> | 
				
			|||
</template> | 
				
			|||
<script> | 
				
			|||
import moment from "moment"; | 
				
			|||
import { mapState } from "vuex"; | 
				
			|||
import { dddw } from "../../utlis/proFunc"; | 
				
			|||
import { getapi, postapi, putapi, deletapi } from "../../api/api"; | 
				
			|||
 | 
				
			|||
export default { | 
				
			|||
  components: {}, | 
				
			|||
  data() { | 
				
			|||
    return { | 
				
			|||
      asbItems: [], // 组合项目包含明细(全) | 
				
			|||
    }; | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  created() { | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  updated() { | 
				
			|||
    this.$nextTick(() => { | 
				
			|||
      this.$refs['patientRegister.patientRegisterAbs'].doLayout() | 
				
			|||
    }) | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  //挂载完成 | 
				
			|||
  mounted() { | 
				
			|||
    this.dictInit() | 
				
			|||
    this.retrieveregister_check_asbitem(this.dataTransOpts.tableS.patient_register.id) | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  computed: { | 
				
			|||
    ...mapState(["window", "dataTransOpts", "dict", "patientRegister"]), | 
				
			|||
  }, | 
				
			|||
  methods: { | 
				
			|||
    dddw, moment, | 
				
			|||
 | 
				
			|||
    // 初始化字典信息 | 
				
			|||
    dictInit() { | 
				
			|||
      // 获取组合项目包含的明细 | 
				
			|||
      postapi('/api/app/Asbitem/GetSimpleAsbitemWithDetails') | 
				
			|||
        .then(res => { | 
				
			|||
          if (res.code > -1) this.asbItems = res.data | 
				
			|||
        }) | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
 | 
				
			|||
    // 弹出组合项目明细 | 
				
			|||
    getAsbItems(row) { | 
				
			|||
      let asbItems = this.asbItems.filter(e => { return e.asbitemId == row.asbitemId }) | 
				
			|||
 | 
				
			|||
      let content = "" | 
				
			|||
 | 
				
			|||
      let length = asbItems.length | 
				
			|||
      let modeBase = 1,count = 0,pWidth=390 | 
				
			|||
 | 
				
			|||
      if(length >= 39){ | 
				
			|||
        modeBase = 3 | 
				
			|||
        pWidth=130 | 
				
			|||
      }else if(length >= 20){ | 
				
			|||
        modeBase = 2 | 
				
			|||
        pWidth=195 | 
				
			|||
      } | 
				
			|||
       | 
				
			|||
      // 数据项太多时,分列显示 | 
				
			|||
      asbItems.forEach((e,i) => { | 
				
			|||
        if(modeBase == 1){ | 
				
			|||
          content += '<p>' + e.itemName + '</p>' | 
				
			|||
        }else{ | 
				
			|||
          if(i==0){ | 
				
			|||
            count = 1 | 
				
			|||
            content += `<div style="display: flex;"><p style="width: ${pWidth}px;">` + e.itemName + '</p>' | 
				
			|||
          }else if((i+1)%modeBase == 0){ | 
				
			|||
            content += `<p style="width: ${pWidth}px;">` + e.itemName + '</p></div><div style="display: flex;">' | 
				
			|||
            count = 1 | 
				
			|||
          }else{ | 
				
			|||
            content += `<p style="width: ${pWidth}px;">` + e.itemName + '</p>' | 
				
			|||
            count++ | 
				
			|||
          } | 
				
			|||
        } | 
				
			|||
      }); | 
				
			|||
 | 
				
			|||
      if(modeBase > 1){ | 
				
			|||
        for (let index = 0; index < 3; index++) {           | 
				
			|||
          if(modeBase == count) break  | 
				
			|||
          content += '<p></p>' | 
				
			|||
          count++ | 
				
			|||
        } | 
				
			|||
        content += '</div>' | 
				
			|||
      } | 
				
			|||
 | 
				
			|||
      // console.log('content',content) | 
				
			|||
 | 
				
			|||
      this.$alert(content, `${row.asbitemName} (共 ${asbItems.length} 项)`, { | 
				
			|||
        dangerouslyUseHTMLString: true, | 
				
			|||
        showClose: false | 
				
			|||
      }); | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
 | 
				
			|||
    // 设置颜色  | 
				
			|||
    setColor(checkCompleteFlag) { | 
				
			|||
      let color = "#52555F" | 
				
			|||
      switch (checkCompleteFlag) { | 
				
			|||
        case '0': | 
				
			|||
          color = "#FF5054" | 
				
			|||
          break; | 
				
			|||
        case '2': | 
				
			|||
          color = "#396FFA" | 
				
			|||
          break; | 
				
			|||
        default: | 
				
			|||
          break; | 
				
			|||
      } | 
				
			|||
      return color | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 刷新登记的项目 | 
				
			|||
    retrieveregister_check_asbitem(id) { | 
				
			|||
      this.dataTransOpts.tableM.register_check_asbitem = [] | 
				
			|||
      if (!id) return | 
				
			|||
      getapi(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`) | 
				
			|||
        .then(res => { | 
				
			|||
          console.log(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`, res) | 
				
			|||
          if (res.code != -1) { | 
				
			|||
            res.data.forEach(e => { | 
				
			|||
              e.standTotal = e.amount * e.standardPrice | 
				
			|||
              e.total = e.amount * e.chargePrice | 
				
			|||
            }); | 
				
			|||
            this.dataTransOpts.tableM.register_check_asbitem = res.data | 
				
			|||
          } | 
				
			|||
        }) | 
				
			|||
 | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // :row-class-name="tableRowClassName" | 
				
			|||
    // tableRowClassName({ row, rowIndex }) { | 
				
			|||
    //   //console.log(row) | 
				
			|||
    //   if (row.groupPackageId) { | 
				
			|||
    //     //console.log('row.groupPackageId',row.groupPackageId) | 
				
			|||
    //     return 'purple-row'; //分组或套餐 | 
				
			|||
    //   } else { | 
				
			|||
    //     return ''; | 
				
			|||
    //   } | 
				
			|||
    // }, | 
				
			|||
 | 
				
			|||
    //自定义计算列 | 
				
			|||
    getSummaries(param) { | 
				
			|||
      const { columns, data } = param; | 
				
			|||
      const sumCol = [2, 5]; //需合计的列 | 
				
			|||
      const sums = []; | 
				
			|||
      columns.forEach((column, index) => { | 
				
			|||
        //显示合计列 | 
				
			|||
        if (index === 1) { | 
				
			|||
          sums[index] = "合计"; | 
				
			|||
          return; | 
				
			|||
        } | 
				
			|||
 | 
				
			|||
        //不合计的列 | 
				
			|||
        if (sumCol.indexOf(index) == -1) { | 
				
			|||
          sums[index] = ""; | 
				
			|||
          return; | 
				
			|||
        } | 
				
			|||
 | 
				
			|||
        const values = data.map((item) => Number(item[column.property])); | 
				
			|||
        if (!values.every((value) => isNaN(value))) { | 
				
			|||
          sums[index] = values.reduce((prev, curr) => { | 
				
			|||
            const value = Number(curr); | 
				
			|||
            if (!isNaN(value)) { | 
				
			|||
              return prev + curr; | 
				
			|||
            } else { | 
				
			|||
              return prev; | 
				
			|||
            } | 
				
			|||
          }, 0); | 
				
			|||
          sums[index] = Math.floor(sums[index]*100)/100; | 
				
			|||
          sums[index] += " 元"; | 
				
			|||
        } else { | 
				
			|||
          sums[index] = "N/A"; | 
				
			|||
        } | 
				
			|||
      }); | 
				
			|||
 | 
				
			|||
      return sums; | 
				
			|||
    }, | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  //监听事件 | 
				
			|||
  watch: { | 
				
			|||
    //人员ID未切换换时 也可以强制刷新数据 | 
				
			|||
    "dataTransOpts.refresh.register_check_asbitem.M": { | 
				
			|||
      // immediate:true, | 
				
			|||
      handler(newVal, oldVal) { | 
				
			|||
        console.log(`watch 人员登记 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.patient_register.id}`); | 
				
			|||
        if (newVal != oldVal) this.retrieveregister_check_asbitem(this.dataTransOpts.tableS.patient_register.id) | 
				
			|||
      } | 
				
			|||
    }, | 
				
			|||
  } | 
				
			|||
}; | 
				
			|||
</script> | 
				
			|||
<style scoped> | 
				
			|||
@import "../../assets/css/global.css"; | 
				
			|||
 | 
				
			|||
.box { | 
				
			|||
  display: flex; | 
				
			|||
} | 
				
			|||
</style> | 
				
			|||
@ -0,0 +1,142 @@ | 
				
			|||
<template> | 
				
			|||
  <div style="display: flex;"> | 
				
			|||
    <div :style="`width: ${window.pageWidth - 120}px;`"> | 
				
			|||
      <el-table :data="phoneFollowUp" border | 
				
			|||
        :height="window.pageHeight < 600 ? 124 : Math.floor((window.pageHeight - 228) / 3)" size="small" | 
				
			|||
        highlight-current-row show-summary ref="phoneFollowUp"> | 
				
			|||
        <el-table-column type="index" label="序号" width="50" align="center" /> | 
				
			|||
        <el-table-column prop="followUpContent" label="随访内容" min-width="250" /> | 
				
			|||
        <el-table-column prop="replyContent" label="客户回复" min-width="200" align="center" /> | 
				
			|||
        <el-table-column prop="isComplete" label="完成" min-width="40" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <el-checkbox v-model="scope.row.isComplete" true-label="Y" false-label="N" disabled /> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="lastModifierName" label="修改人" min-width="80" align="center" /> | 
				
			|||
        <el-table-column prop="lastModificationTime" label="修改日期" min-width="100" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="creatorName" label="登记人" min-width="80" align="center" /> | 
				
			|||
        <el-table-column prop="creationTime" label="登记日期" min-width="100" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
      </el-table> | 
				
			|||
 | 
				
			|||
    </div> | 
				
			|||
    <div style="width: 120px;margin-top: 50px"> | 
				
			|||
      <div style="margin-left: 10px"> | 
				
			|||
        <el-button class="commonbutton" type="primary" @click="btnAdd" >新增随访</el-button> | 
				
			|||
      </div> | 
				
			|||
      <div style="margin: 10px;"> | 
				
			|||
        <el-button class="commonbutton" type="primary" @click="btnEdit">编辑随访</el-button> | 
				
			|||
      </div> | 
				
			|||
      <div style="margin-left: 10px"> | 
				
			|||
        <el-button class="commonbutton" type="primary" @click="btnDel" >删除随访</el-button> | 
				
			|||
      </div>       | 
				
			|||
    </div> | 
				
			|||
  </div> | 
				
			|||
</template> | 
				
			|||
<script> | 
				
			|||
import moment from "moment"; | 
				
			|||
import { mapState } from "vuex"; | 
				
			|||
import { dddw } from "../../utlis/proFunc"; | 
				
			|||
import { getapi, postapi, putapi, deletapi } from "../../api/api"; | 
				
			|||
 | 
				
			|||
export default { | 
				
			|||
  components: {}, | 
				
			|||
  data() { | 
				
			|||
    return { | 
				
			|||
      phoneFollowUp: [], // 电话随访 | 
				
			|||
    }; | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  created() { | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  updated() { | 
				
			|||
    this.$nextTick(() => { | 
				
			|||
      this.$refs['phoneFollowUp'].doLayout() | 
				
			|||
    }) | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  //挂载完成 | 
				
			|||
  mounted() { | 
				
			|||
    this.dictInit() | 
				
			|||
     | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  computed: { | 
				
			|||
    ...mapState(["window", "dataTransOpts", "dict", "patientRegister"]), | 
				
			|||
  }, | 
				
			|||
  methods: { | 
				
			|||
    dddw, moment, | 
				
			|||
 | 
				
			|||
    // 初始化字典信息 | 
				
			|||
    dictInit() { | 
				
			|||
      // 获取组合项目包含的明细 | 
				
			|||
      postapi('/api/app/Asbitem/GetSimpleAsbitemWithDetails') | 
				
			|||
        .then(res => { | 
				
			|||
          if (res.code > -1) this.asbItems = res.data | 
				
			|||
        }) | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 设置颜色  | 
				
			|||
    setColor(checkCompleteFlag) { | 
				
			|||
      let color = "#52555F" | 
				
			|||
      switch (checkCompleteFlag) { | 
				
			|||
        case '0': | 
				
			|||
          color = "#FF5054" | 
				
			|||
          break; | 
				
			|||
        case '2': | 
				
			|||
          color = "#396FFA" | 
				
			|||
          break; | 
				
			|||
        default: | 
				
			|||
          break; | 
				
			|||
      } | 
				
			|||
      return color | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 新增 | 
				
			|||
    btnAdd(){ | 
				
			|||
       | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 编辑 | 
				
			|||
    btnEdit(){ | 
				
			|||
       | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 删除 | 
				
			|||
    btnDel(){ | 
				
			|||
       | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  //监听事件 | 
				
			|||
  watch: { | 
				
			|||
    //人员ID未切换换时 也可以强制刷新数据 | 
				
			|||
    "dataTransOpts.refresh.register_check_asbitem.M": { | 
				
			|||
      // immediate:true, | 
				
			|||
      handler(newVal, oldVal) { | 
				
			|||
        console.log(`watch 人员登记 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.patient_register.id}`); | 
				
			|||
        // if (newVal != oldVal)  | 
				
			|||
      } | 
				
			|||
    }, | 
				
			|||
  } | 
				
			|||
}; | 
				
			|||
</script> | 
				
			|||
<style scoped> | 
				
			|||
@import "../../assets/css/global.css"; | 
				
			|||
 | 
				
			|||
.box { | 
				
			|||
  display: flex; | 
				
			|||
} | 
				
			|||
</style> | 
				
			|||
@ -0,0 +1,147 @@ | 
				
			|||
<template> | 
				
			|||
  <div style="display: flex;"> | 
				
			|||
    <div :style="`width: ${window.pageWidth - 120}px;`"> | 
				
			|||
      <el-table :data="phoneFollowUp" border | 
				
			|||
        :height="window.pageHeight < 600 ? 124 : Math.floor((window.pageHeight - 228) / 3)" size="small" | 
				
			|||
        highlight-current-row show-summary ref="phoneFollowUp"> | 
				
			|||
        <el-table-column type="index" label="序号" width="50" align="center" /> | 
				
			|||
        <el-table-column prop="patientName" label="姓名" min-width="80" /> | 
				
			|||
        <el-table-column prop="mobileTelephone" label="手机号" min-width="130" align="center" /> | 
				
			|||
        <el-table-column prop="smsTypeId" label="短信类别" min-width="80" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            {{ scope.row.smsTypeId }} | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="content" label="手机号" min-width="300" /> | 
				
			|||
        <el-table-column prop="isComplete" label="完成" min-width="40" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <el-checkbox v-model="scope.row.isComplete" true-label="Y" false-label="N" disabled /> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="lastModifierName" label="修改人" min-width="80" align="center" /> | 
				
			|||
        <el-table-column prop="lastModificationTime" label="修改日期" min-width="100" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
        <el-table-column prop="creatorName" label="登记人" min-width="80" align="center" /> | 
				
			|||
        <el-table-column prop="creationTime" label="登记日期" min-width="100" align="center"> | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
            <div>{{ moment(scope.row.creationTime).format("yyyy-MM-DD") }}</div> | 
				
			|||
          </template> | 
				
			|||
        </el-table-column> | 
				
			|||
      </el-table> | 
				
			|||
    </div> | 
				
			|||
    <div style="width: 120px;margin-top: 50px"> | 
				
			|||
      <div style="margin-left: 10px"> | 
				
			|||
        <el-button class="commonbutton" type="primary" @click="btnAdd" >新增随访</el-button> | 
				
			|||
      </div> | 
				
			|||
      <div style="margin: 10px;"> | 
				
			|||
        <el-button class="commonbutton" type="primary" @click="btnEdit">编辑随访</el-button> | 
				
			|||
      </div> | 
				
			|||
      <div style="margin-left: 10px"> | 
				
			|||
        <el-button class="commonbutton" type="primary" @click="btnDel" >删除随访</el-button> | 
				
			|||
      </div>       | 
				
			|||
    </div> | 
				
			|||
  </div> | 
				
			|||
</template> | 
				
			|||
<script> | 
				
			|||
import moment from "moment"; | 
				
			|||
import { mapState } from "vuex"; | 
				
			|||
import { dddw } from "../../utlis/proFunc"; | 
				
			|||
import { getapi, postapi, putapi, deletapi } from "../../api/api"; | 
				
			|||
 | 
				
			|||
export default { | 
				
			|||
  components: {}, | 
				
			|||
  data() { | 
				
			|||
    return { | 
				
			|||
      phoneFollowUp: [], // 电话随访 | 
				
			|||
    }; | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  created() { | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  updated() { | 
				
			|||
    this.$nextTick(() => { | 
				
			|||
      this.$refs['phoneFollowUp'].doLayout() | 
				
			|||
    }) | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  //挂载完成 | 
				
			|||
  mounted() { | 
				
			|||
    this.dictInit() | 
				
			|||
     | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  computed: { | 
				
			|||
    ...mapState(["window", "dataTransOpts", "dict", "patientRegister"]), | 
				
			|||
  }, | 
				
			|||
  methods: { | 
				
			|||
    dddw, moment, | 
				
			|||
 | 
				
			|||
    // 初始化字典信息 | 
				
			|||
    dictInit() { | 
				
			|||
      // 获取组合项目包含的明细 | 
				
			|||
      postapi('/api/app/Asbitem/GetSimpleAsbitemWithDetails') | 
				
			|||
        .then(res => { | 
				
			|||
          if (res.code > -1) this.asbItems = res.data | 
				
			|||
        }) | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 设置颜色  | 
				
			|||
    setColor(checkCompleteFlag) { | 
				
			|||
      let color = "#52555F" | 
				
			|||
      switch (checkCompleteFlag) { | 
				
			|||
        case '0': | 
				
			|||
          color = "#FF5054" | 
				
			|||
          break; | 
				
			|||
        case '2': | 
				
			|||
          color = "#396FFA" | 
				
			|||
          break; | 
				
			|||
        default: | 
				
			|||
          break; | 
				
			|||
      } | 
				
			|||
      return color | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 新增 | 
				
			|||
    btnAdd(){ | 
				
			|||
       | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 编辑 | 
				
			|||
    btnEdit(){ | 
				
			|||
       | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    // 删除 | 
				
			|||
    btnDel(){ | 
				
			|||
       | 
				
			|||
    }, | 
				
			|||
 | 
				
			|||
    | 
				
			|||
 | 
				
			|||
  }, | 
				
			|||
 | 
				
			|||
  //监听事件 | 
				
			|||
  watch: { | 
				
			|||
    //人员ID未切换换时 也可以强制刷新数据 | 
				
			|||
    "dataTransOpts.refresh.register_check_asbitem.M": { | 
				
			|||
      // immediate:true, | 
				
			|||
      handler(newVal, oldVal) { | 
				
			|||
        console.log(`watch 人员登记 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.patient_register.id}`); | 
				
			|||
        // if (newVal != oldVal)  | 
				
			|||
      } | 
				
			|||
    }, | 
				
			|||
  } | 
				
			|||
}; | 
				
			|||
</script> | 
				
			|||
<style scoped> | 
				
			|||
@import "../../assets/css/global.css"; | 
				
			|||
 | 
				
			|||
.box { | 
				
			|||
  display: flex; | 
				
			|||
} | 
				
			|||
</style> | 
				
			|||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue