所有项目归纳总结二 + vscode安装+git提交代码

141 阅读3分钟

3、妇幼之前的 添加新生儿那一部分代码

列表页

1646294411(1).png

组件页

image.png

文件目录如下

1646294712(1).png

index.vue

<!--妊娠结局随访-->
<template>
  <el-container class="outgoing-collar-wrapper layout_container">
    <el-header>
      <span class="tag">查询条件</span>
      <el-form ref="ruleForm" label-width="120px">
        <el-row :gutter="20">
          <el-col v-cspan="{ x: 4, l: 4, m: 2 }">
            <el-form-item label="档案编号">
              <el-input
                v-model.trim="queryData.fileNumber"
                placeholder="请输入内容"
              />
            </el-form-item>
          </el-col>
          <el-col v-cspan="{ x: 4, l: 4, m: 2 }">
            <el-form-item label="丈夫/妻子姓名">
              <el-input
                v-model.trim="queryData.husbandWifeName"
                placeholder="请输入内容"
              />
            </el-form-item>
          </el-col>
          <el-col v-cspan="{ x: 4, l: 4, m: 2 }">
            <el-form-item label="丈夫/妻子证件号码">
              <el-input
                v-model.trim="queryData.husbandWifeNumber"
                placeholder="请输入内容"
              />
            </el-form-item>
          </el-col>
          <!--
          <el-col
            v-cspan="{ x: 4, l: 4, m: 2 }"
            v-auth="'mcis_pre_mon_deflist_reg'"
          >
            <el-form-item label="妊娠/B超 检查结果">
              <el-select
                v-model="queryData.husbandState"
                placeholder="请选择"
                clearable
              >
                <el-option
                  v-for="item in hospitalList"
                  :key="item.orgNo"
                  :label="item.orgName"
                  :value="item.orgNo"
                />
              </el-select>
            </el-form-item>
          </el-col> -->
          <el-col
            v-cspan="{ x: 4, l: 4, m: 2 }"
            v-auth="'mcis_pre_mon_deflist_reg'"
          >
            <el-form-item label="建档机构">
              <el-select
                v-model="queryData.orgCode"
                placeholder="请选择"
                clearable
              >
                <el-option
                  v-for="item in orgCodeList"
                  :key="item.orgNo"
                  :label="item.orgName"
                  :value="item.orgNo"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col v-cspan="{ x: 4, l: 4, m: 2 }">
            <el-form-item label="妊娠结局 随访结果">
              <el-select
                v-model="queryData.husbandState"
                placeholder="请选择"
                clearable
              >
                <el-option
                  v-for="item in husbandStateList"
                  :key="item.code"
                  :label="item.name"
                  :value="item.code"
                />
              </el-select>
            </el-form-item>
          </el-col>

          <el-col v-cspan="{ x: 4, l: 4, m: 2 }">
            <el-form-item label="妊娠结局 随访状态">
              <el-select
                v-model="queryData.wifeState"
                placeholder="请选择"
                clearable
              >
                <el-option
                  v-for="item in wifeStateList"
                  :key="item.code"
                  :label="item.name"
                  :value="item.code"
                />
              </el-select>
            </el-form-item>
          </el-col>

          <el-col :span="6" style="text-align: right">
            <el-button
              type="primary"
              icon="el-icon-search"
              @click="searchHandle"
            >查询</el-button
            >
            <el-button icon="el-icon-delete" @click="resetHandle"
            >重置</el-button
            >
          </el-col>
        </el-row>
      </el-form>
    </el-header>
    <el-main>
      <!-- <h3>查询列表</h3> -->
      <div class="list-title">
        <span class="tag">查询列表</span>
      </div>
      <el-table
        :data="tableData"
        :cell-style="{ textAlign: 'center' }"
        :header-cell-style="{
          textAlign: 'center',
          background: '#e8eaea',
          padding: '8px 0',
        }"
        height="100%"
        highlight-current-row
        border
        @row-click="handleClickRow"
      >
        <el-table-column prop="fileNumber" label="档案编号" min-width="160" />
        <el-table-column prop="wifeName" label="女方姓名" min-width="120" />
        <el-table-column prop="wifeCard" label="女方证件号码" min-width="160" />

        <el-table-column prop="husbandName" label="男方姓名" min-width="160" />
        <el-table-column prop="husbandCard" label="男方证件号码" min-width="160" />

        <el-table-column
          prop="rsFollowUpNumber"
          label="妊娠结局随访次数"
          maxlength="20"
          min-width="150"
        />

        <el-table-column
          prop="rsFollowUpDate"
          label="最后一次随访时间"
          min-width="150"
        />
        <el-table-column
          prop="rsFollowUpResult"
          label="妊娠结局随访结果"
          min-width="150"
        />

        <el-table-column label="操作" width="180" align="center">
          <template slot-scope="scope">
            <el-button
              type="text"
              @click="NurseryChildRecordClosed(scope.row)"
            >妊娠结局随访记录</el-button
            >
          </template>
        </el-table-column>
      </el-table>
    </el-main>
    <!-- 页脚分页 -->
    <el-footer>
      <!-- <el-pagination
        :current-page.sync="currentPage"
        :total="total"
        :page-size="pageSize"
        background
        layout="total, prev, pager, next, jumper"
        @current-change="handleCurrentChange"
        @size-change="handleSizeChange"
      /> -->

      <el-pagination
        :current-page="queryData.currPage"
        :page-sizes="[10, 20, 30, 40]"
        :page-size="queryData.pageSize"
        :total="total"
        background
        layout="total, sizes, prev, pager, next, jumper"
        @size-change="handleCurrentChange"
        @current-change="handleSizeChange"
      />
    </el-footer>

    <TestResult
      v-if="showTestResult"
      :blood-collection-info="bloodCollectionInfo"
      :blood-collection-info-msg="bloodCollectionInfoMsg"
      :params="params"
      @closeNurseryChildRecord="closeNurseryChildRecord"
      @NurseryChildRecordClosed="NurseryChildRecordClosed"
    />
  </el-container>
</template>
<script>
import { QUERY_DATA_OBJ } from '@/utils/prePregnancyEugenics/pregnancyOutcomeFollowup'
import { DEEP_CLONE } from '@/utils/constants'
import TestResult from './component/TestResult'
import {
  getPageByConditionApi,
  // getNumberByFollows,
  // getResultEnum,
  getNumberByInfo,
  getStateEnum,
  queryOrgInfoList
} from '@/api/prePregnancyEugenics/pregnancyOutcomeFollowup'
export default {
  components: {
    TestResult
  },
  data() {
    return {
      queryData: DEEP_CLONE(QUERY_DATA_OBJ),
      showTestResult: false,
      total: 0,
      tableData: [
        // {
        //   fileNumber: "", //  档案编号  fileNumber
        //   wifeName: "", //  女方姓名  wifeName
        //   wifeCard: "", // 女方证件号码  wifeCard

        //   husbandName: "周杰伦", //  男方姓名  husbandName
        //   husbandCard: "123", // 男方证件号码  husbandCard

        //   rsFollowUpNumber: "2", // 妊娠结局随访次数  rsFollowUpNumber
        //   rsFollowUpDate: "", // 最后一次随访时间  rsFollowUpDate

        //   rsFollowUpResult: "没有结果", // 妊娠结局随访结果  rsFollowUpResult

        // },
      ],
      selectRow: {},
      husbandStateList: [], // 妊娠结局 随访结果列表
      wifeStateList: [], // 妊娠结局 随访状态列表
      orgCodeList: [], // 建档机构
      params: {}
    }
  },
  created() {
    this.queryData.orgCode = this.$store.state.user.user.orgCode
    this.searchHandle()
    this.getNumberByInfoFn()
    this.getStateEnumFn()
    this.queryOrgInfoListFn()
  },
  methods: {
    handleCurrentChange(val) {
      this.queryData.currPage = val
      this.searchHandle()
    },
    handleSizeChange(val) {
      this.queryData.pageSize = val
      this.searchHandle()
    },
    // 获取表单数据
    async searchHandle() {
      let res = await getPageByConditionApi(this.queryData)
      if (res.data.code === 200) {
        this.tableData = res.data.data
      }
    },

    // 获取当前行数据
    handleClickRow(row) {
      this.selectRow = row
    },

    // 检查记录弹窗
    async NurseryChildRecordClosed(row) {
      console.log(row)
      this.params = { fileNumber: row.fileNumber }
      // if(JSON.stringify(this.params) === "{}"){
      //   this.params = { fileNumber: this.tableData[index].fileNumber }
      // }
      // let res = await getNumberByFollows(this.params)
      // if (res.data.code === 200) {
      //   console.log(res.data)
      //   this.bloodCollectionInfo = res.data.data
      // }
      // let msg = await getResultEnum(this.params)
      // if (msg.data.code === 200) {
      //   console.log(msg.data)
      //   this.bloodCollectionInfoMsg = msg.data.data
      // }
      this.showTestResult = true
    },
    closeNurseryChildRecord(value) {
      this.showTestResult = false
      // this.getTableData()
    },

    // 重置
    resetHandle() {
      this.queryData = DEEP_CLONE(QUERY_DATA_OBJ)
      this.queryData.fileTime = []
      this.tableData = []
    },
    // 当选中  建档时间 日期后 赋值给开始和结束日期
    getFileTime() {
      if (this.queryData.fileTime.length > 0) {
        this.queryData.startDate = this.queryData.fileTime[0]
        this.queryData.endDate = this.queryData.fileTime[1]
      } else {
        this.queryData.startDate = ''
        this.queryData.endDate = ''
      }
    },
    // 获取早孕随访结果列表
    async getNumberByInfoFn() {
      let res = await getNumberByInfo()
      if (res.data.code === 200) {
        this.husbandStateList = res.data.data
      }
    },
    // 获取早孕随访状态列表
    async getStateEnumFn() {
      let res = await getStateEnum()
      if (res.data.code === 200) {
        this.wifeStateList = res.data.data
      }
    },
    // 孕前建档机构下拉框数据查询
    async queryOrgInfoListFn() {
      let res = await queryOrgInfoList()
      if (res.data.code === 200) {
        this.orgCodeList = res.data.data
      }
    }
  }
}
</script>
<style lang="less" scoped>
.el-header {
  padding: 20px !important;
  border-bottom: 1px solid #ebebeb;
}
.el-footer {
  text-align: right;
}
.list-title {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  height: 40px;
}
/deep/ .el-range-editor.el-input__inner {
  width: 100%;
}
/deep/ .el-date-editor .el-range-separator {
  width: 25px;
}
.tag:before {
  // display: block;
  content: "";
  display: inline-block;
  width: 5px;
  height: 10px;
  background: #ff82bc;
  margin-right: 10px;
}
.tag {
  display: block;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 700;
  color: #4b525c;
}
.el-main {
  padding-bottom: 0px;
}
.el-header {
  padding-top: 0px !important;
  padding-bottom: 22px !important;
}
.card-num {
  /deep/.el-form-item__content {
    display: flex;
  }
  /deep/ .el-input {
    flex: 1 1 auto;
  }
}
</style>

TestResult.vue

<template>
  <el-dialog
    :visible="true"
    title="妊娠结局随访记录"
    center
    width="90%"
    class="vertical-full-dialog right"
    @close="closeHandle"
  >
    <div slot="title" class="header">
      <span class="spn">编号:{{ tableMsg.wregisterNum }} </span>
      <span class="spn">姓名:{{ tableMsg.wname }} </span>
      <span class="spn">身份证编号:{{ tableMsg.widCardNo }}</span>
      <span class="spn">对方编号:{{ tableMsg.hregisterNum }}</span>
    </div>
    <el-container class="layout_container">
      <!-- <el-header class="header">
        <span class="spn">编号:{{ tableMsg.wregisterNum }} </span>
        <span class="spn">姓名:{{ tableMsg.wname }} </span>
        <span class="spn">身份证编号:{{ tableMsg.widCardNo }}</span>
        <span class="spn">对方编号:{{ tableMsg.hregisterNum }}</span>
      </el-header> -->
      <el-container style="overflow: auto">
        <el-aside width="400px">
          <div class="divStyles clearfix">
            <h3 class="title-wrap">
              <span
                style="
                  display: inline-block;
                  width: 5px;
                  height: 10px;
                  background: #ff82bc;
                "
              />
              <span>妊娠结局随访列表</span>
              <!-- <span
                style="float: right; font-size: 14px; color: #ff82bc"
                @click="addData()"
              >新增</span
              > -->
              <el-button
                style="float: right"
                type="primary"
                size="small"
                @click="addData()"
              >新增</el-button
              >
            </h3>
          </div>
          <el-table
            :data="tableData"
            highlight-current-row
            style="width: 100%"
            height="100%"
            @row-click="handleClickRow"
          >
            <el-table-column prop="name" label="随访名称" align="center" />
            <el-table-column
              prop="followUpDate"
              label="随访日期"
              align="center"
            />
            <el-table-column
              prop="alongWithTheVisitor"
              label="随访客"
              align="center"
            />
            <el-table-column
              prop="resultFollowUp"
              label="随访结果"
              align="center"
            />
            <el-table-column label="操作" align="center">
              <template slot-scope="scope">
                <el-button type="text" @click="deleteRow(scope.row)">删除</el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-aside>
        <el-main>
          <h3 class="title-wrap">
            <span
              style="
                display: inline-block;
                width: 5px;
                height: 10px;
                background: #ff82bc;
              "
            />
            <span>妊娠结局随访记录</span>
          </h3>
          <el-form
            ref="formData"
            :rules="followRules"
            :model="followForm"
            label-width="100px"
          >
            <el-row :gutter="20">
              <el-col v-cspan="{ x: 2, l: 2, m: 1 }">
                <el-form-item label="">
                  <el-checkbox-group
                    v-model="followForm.lostToReason"
                    @change="lostToReasonChange"
                  >
                    <el-checkbox label="失访" name="type" />
                  </el-checkbox-group>
                </el-form-item>
              </el-col>
              <el-col v-cspan="{ x: 2, l: 2, m: 1 }">
                <el-form-item label="失访原因">
                  <el-input
                    v-model="followForm.checkTheDoctor"
                    placeholder="请输入内容"
                    maxlength="100"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row :gutter="20">
              <el-col v-cspan="{ x: 2, l: 2, m: 1 }">
                <el-form-item label="随访机构" prop="followUpInstitutions">
                  <el-select
                    v-model="followForm.followUpInstitutions"
                    placeholder="请选择内容"
                  >
                    <el-option
                      v-for="item in orgCodeList"
                      :key="item.orgNo"
                      :label="item.orgName"
                      :value="item.orgNo"
                    />
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col v-cspan="{ x: 2, l: 2, m: 1 }">
                <el-form-item label="随访日期" prop="followUpDate">
                  <el-date-picker
                    v-model="followForm.followUpDate"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    placeholder="请选择内容"
                  />
                </el-form-item>
              </el-col>
            </el-row>

            <el-row>
              <el-col>
                <el-form-item label="本次妊娠结局" class="inline-form-item">
                  <el-checkbox-group v-model="thisPregnancyOutcomS">
                    <!-- <el-checkbox  label="正常生产" name="type"></el-checkbox>
                    <el-checkbox label="早产" name="type"></el-checkbox>
                    <el-checkbox label="低出生体重儿" name="type"></el-checkbox>
                    <el-checkbox label="出生缺陷儿" name="type"></el-checkbox>
                    <el-checkbox label="其他" name="type"></el-checkbox>
                    <el-checkbox label="其他" name="type"></el-checkbox>
                    <el-checkbox label="其他" name="type"></el-checkbox>
                    <el-checkbox label="其他" name="type"></el-checkbox> -->

                    <el-checkbox
                      v-for="item in thisPregnancyOutcomList"
                      :disabled="isOpt"
                      :label="item.code"
                      :key="item.code"
                    >{{ item.name }}</el-checkbox
                    >
                    <el-input
                      :disabled="isOpt"
                      v-model="followForm.thisPregnancyOutcomContent"
                      style="width: 250px"
                      placeholder="请输入内容"
                    />
                  </el-checkbox-group>
                </el-form-item>
              </el-col>
            </el-row>

            <el-row>
              <h3>
                <span>胎婴儿记录</span>
              </h3>
            </el-row>

            <el-container class="recBox">
              <el-row :gutter="20">
                <el-col>
                  <el-button
                    v-for="(item, index) in followForm.infantList"
                    :key="item"
                    size="small"
                    class="babyBtn"
                    @click="bodyItem(index)"
                  >宝宝{{ index + 1
                  }}<i
                    class="el-icon-delete el-icon--right"
                    @click="delBody(index)"
                  /></el-button>
                  <!-- <el-button size="small">宝宝0<i class="el-icon-delete el-icon--right" @click="delBody"/></el-button> -->
                  <i class="el-icon-circle-plus" @click="addBody" />
                </el-col>

                <div
                  v-for="(item, index) in followForm.infantList"
                  v-if="bodyItemNum == index"
                  :key="index"
                >
                  <el-col v-cspan="{ x: 3, l: 3, m: 1 }">
                    <el-form-item label="胎婴儿性别">
                      <!-- <el-select
                        v-model="item.sex"
                        :disabled="isOpt"
                        placeholder="请选择内容"
                        @change="(val)=>{sexChange(val,index)}"
                      > -->
                      <el-select
                        v-model="item.sex"
                        :disabled="isOpt"
                        placeholder="请选择内容"
                        @change="sexChange"
                      >
                        <el-option
                          v-for="item in sexList"
                          :key="item.code"
                          :label="item.name"
                          :value="item.code"
                        />
                      </el-select>
                    </el-form-item>
                  </el-col>

                  <el-col v-cspan="{ x: 3, l: 3, m: 1 }">
                    <el-form-item label="胎婴儿姓名">
                      <el-input
                        v-model="item.name"
                        :disabled="isOpt"
                        placeholder="请输入内容"
                      />
                    </el-form-item>
                  </el-col>

                  <el-col v-cspan="{ x: 3, l: 3, m: 2 }">
                    <el-form-item label="出生体重">
                      <el-input
                        v-model.number="item.weight"
                        :disabled="isOpt"
                        type="number"
                        placeholder="请输入内容"
                      >
                        <span slot="suffix" class="el-input__icon">g</span>
                      </el-input>
                    </el-form-item>
                  </el-col>

                  <el-col v-cspan="{ x: 3, l: 3, m: 1 }">
                    <el-form-item label="分娩日期">
                      <el-date-picker
                        v-model="item.theDeliveryDate"
                        :disabled="isOpt"
                        placeholder="请选择内容"
                      />
                    </el-form-item>
                  </el-col>

                  <el-col v-cspan="{ x: 3, l: 3, m: 1 }">
                    <el-form-item label="分娩地点">
                      <el-select
                        v-model="item.deliveryPlace"
                        :disabled="isOpt"
                        placeholder="请选择内容"
                      >
                        <el-option
                          v-for="item in deliveryPlaceList"
                          :key="item.code"
                          :label="item.name"
                          :value="item.code"
                        />
                      </el-select>
                    </el-form-item>
                  </el-col>

                  <el-col v-cspan="{ x: 3, l: 3, m: 2 }">
                    <el-form-item label="分娩孕周">
                      <el-input
                        v-model.number="
                          item.deliveryGestationalAge
                        "
                        :disabled="isOpt"
                        type="number"
                        placeholder="请输入内容"
                      >
                        <span slot="suffix" class="el-input__icon">周</span>
                      </el-input>
                    </el-form-item>
                  </el-col>

                  <el-col v-cspan="{ x: 3, l: 3, m: 1 }">
                    <el-form-item label="分娩机构">
                      <el-select
                        v-model="item.laborAgencies"
                        :disabled="isOpt"
                        placeholder="请选择内容"
                      >
                        <el-option
                          v-for="item in orgCodeList"
                          :key="item.orgNo"
                          :label="item.orgName"
                          :value="item.orgNo"
                        />
                      </el-select>
                    </el-form-item>
                  </el-col>

                  <el-col v-cspan="{ x: 3, l: 3, m: 1 }">
                    <el-form-item label="分娩方式">
                      <el-select
                        v-model="item.deliveryWay"
                        :disabled="isOpt"
                        placeholder="请选择内容"
                      >
                        <el-option
                          v-for="item in deliveryWayList"
                          :key="item.code"
                          :label="item.name"
                          :value="item.code"
                        />
                      </el-select>
                    </el-form-item>
                  </el-col>

                  <el-col v-cspan="{ x: 1, l: 1, m: 1 }">
                    <el-form-item label="婴儿42天内存活状况">
                      <el-radio-group
                        v-model="item.infantSurvivalIs42Days"
                      >
                        <!-- <el-radio label="非活产"></el-radio>
                      <el-radio label="存货"></el-radio>
                      <el-radio label="出生后7天内死亡"></el-radio>
                      <el-radio label="出生后8-28天内死亡"></el-radio>
                      <el-radio label="出生28天后死亡"></el-radio> -->

                        <el-radio
                          v-for="item in infantSurvivalIs42DaysList"
                          :disabled="isOpt"
                          :label="item.code"
                          :key="item.code"
                          :value="item.code"
                        >{{ item.name }}</el-radio
                        >
                      </el-radio-group>
                    </el-form-item>
                  </el-col>
                </div>
              </el-row>
            </el-container>

            <el-row :gutter="20">
              <el-col v-cspan="{ x: 2, l: 2, m: 1 }">
                <el-form-item label="随访结果" prop="resultFollowUp">
                  <el-select
                    v-model="followForm.resultFollowUp"
                    :disabled="isOpt"
                    placeholder="请选择内容"
                  >
                    <el-option
                      v-for="item in resultFollowUpList"
                      :key="item.code"
                      :label="item.name"
                      :value="item.code"
                    />
                  </el-select>
                </el-form-item>
              </el-col>

              <el-col v-cspan="{ x: 2, l: 2, m: 1 }">
                <el-form-item label="随访医生">
                  <el-input
                    v-model="followUpDoctor"
                    disabled="true"
                    placeholder="请输入内容"
                  />
                </el-form-item>
                <!-- <span style="float: left">随访医生:{{ followForm.followUpDoctor }}</span> -->
              </el-col>
            </el-row>
          </el-form>
        </el-main>
      </el-container>
    </el-container>

    <div slot="footer" class="dialog-footer">
      <!-- <span style="float: left">随访医生:李大庄</span> -->
      <el-button type="primary" @click="submitResult">提交</el-button>
      <el-button @click="closeHandle">取消</el-button>
    </div>
  </el-dialog>
</template>
<script>
import { DEEP_CLONE } from '@/utils/constants'
import {
  RECORDS_DATA
  // CLOSE_DATA_FORM,
} from '@/utils/prePregnancyEugenics/pregnancyOutcomeFollowup/testResult'
import {
  readApi,
  create,
  update,
  queryOrgInfoList,
  getNumberByFollows,
  getResultEnum,
  getCommonList,
  getGestationResultEnum,
  deleteRow
} from '@/api/prePregnancyEugenics/pregnancyOutcomeFollowup'
export default {
  props: {
    bloodCollectionInfo: {
      type: Object
    },
    bloodCollectionInfoMsg: {
      type: Object
    },
    params: {
      type: Object
    }
  },
  data() {
    return {
      followUpDoctor: this.$store.state.user.user.userName, // 自动获取随访医生
      tableMsg: {},
      followForm: DEEP_CLONE(RECORDS_DATA),
      // closedForm: DEEP_CLONE(CLOSE_DATA_FORM),
      // isAbled: true,
      // frailformdata: {},
      tableData: [
        // {
        //   name: "不知道", //  随访名称  fileNumber
        //   followUpDate: "2021-03-02", //  随访日期  followUpDate
        //   alongWithTheVisitor: "周杰伦", // 随访客  alongWithTheVisitor
        //   resultFollowUp: "很好", //  随访结果  husbandName
        // },
      ],
      // resultList: [],
      currPage: 1,
      pageSize: 10,
      followRules: {
        followUpInstitutions: [
          // 随访机构
          { required: true, message: '请选择', trigger: 'blur' }
        ],
        followUpDate: [
          // 随访日期
          { required: true, message: '请选择', trigger: 'blur' }
        ],
        // inspectionAgencies: [ // 胎数
        //   { required: true, message: "请填写完整", trigger: "blur" },
        // ],
        resultFollowUp: [
          // 随访结果
          { required: true, message: '请选择', trigger: 'blur' }
        ]
      },
      selectRow: {},
      orgCodeList: [],
      isOpt: false,
      thisPregnancyOutcomList: [], // 本次妊娠结局
      infantSurvivalIs42DaysList: [], // 婴儿42天内存活状况
      bodyList: ['宝宝0'], // 宝宝
      bodyItemNum: 0,
      sexList: [], // 胎婴儿性别
      deliveryPlaceList: [], // 分娩地点
      deliveryWayList: [], // 分娩方式
      resultFollowUpList: [], // 随访结果
      thisPregnancyOutcomS: [],
      name: '' // 宝宝性别
    }
  },
  async created() {
    console.log(this.followForm.thisPregnancyOutcom)
    if (!this.followForm.thisPregnancyOutcom) {
      this.thisPregnancyOutcomS = this.followForm.thisPregnancyOutcom.split(
        ','
      )
    } else {
      this.thisPregnancyOutcomS = []
    }
    this.queryOrgInfoListFn()
    this.queryDataListFn()
    this.thisPregnancyOutcomListFn()
    this.infantSurvivalIs42DaysListFn()
    this.sexListFn()
    this.deliveryPlaceListFn()
    this.deliveryWayListListFn()
    this.resultFollowUpListFn()
  },
  methods: {
    // 取消
    closeHandle() {
      this.$emit('closeNurseryChildRecord')
    },
    // 新增
    addData() {
      this.followForm = DEEP_CLONE(RECORDS_DATA)
      this.selectRow = {}
    },
    // 获取当前行数据
    async handleClickRow(row) {
      this.selectRow = row
      let obj = {}
      obj.id = this.selectRow.id
      // console.log(obj.id)
      const { data: res } = await readApi(obj)
      if (res.code === 200) {
        this.followForm = res.data
        console.log(this.followForm)
      }
      if (this.followForm.thisPregnancyOutcom.length > 0) {
        this.thisPregnancyOutcomS = this.followForm.thisPregnancyOutcom.split(
          ','
        )
      } else {
        this.thisPregnancyOutcomS = []
      }
      // if (this.followForm.thisPregnancyOutcom.length > 0) {
      //   this.followForm.thisPregnancyOutcom = this.followForm.thisPregnancyOutcom.split(',')
      // }
    },
    // 提交
    async submitResult() {
      this.$refs.formData.validate(async (valid) => {
        // 判断表格是否填写完整
        if (!valid) {
          // this.thisPregnancyOutcomS = this.followForm.thisPregnancyOutcom.split(',')
          return this.$message('请填写完整')
        } else {
          if (JSON.stringify(this.selectRow) === '{}') {
            console.log('调新增')
            this.followForm.thisPregnancyOutcom = this.thisPregnancyOutcomS.join(
              ','
            )
            console.log(this.followForm.thisPregnancyOutcom)
            this.followForm.fileNumber = this.params.fileNumber
            let res = await create(this.followForm)
            if (res.data.code === 200) {
              this.queryDataListFn()
              this.followForm = DEEP_CLONE(RECORDS_DATA)
              this.bodyItemNum = 0
              // this.closeHandle()
            }
          } else {
            console.log('调更新')
            this.followForm.thisPregnancyOutcom = this.thisPregnancyOutcomS.join(
              ','
            )
            console.log(this.followForm.thisPregnancyOutcom)
            this.followForm.fileNumber = this.params.fileNumber
            let res = await update(this.followForm)
            if (res.data.code === 200) {
              this.queryDataListFn()
              this.followForm = DEEP_CLONE(RECORDS_DATA)
              this.bodyItemNum = 0
              // this.closeHandle()
            }
          }
        }
      })
    },
    // 随访机构下拉框数据查询
    async queryOrgInfoListFn() {
      let res = await queryOrgInfoList()
      if (res.data.code === 200) {
        this.orgCodeList = res.data.data
      }
    },
    // 失访
    lostToReasonChange() {
      if (this.followForm.lostToReason) {
        // 选了失访
        this.isOpt = true
        this.followRules.resultFollowUp[0].required = false
      } else {
        this.isOpt = false
        this.followRules.resultFollowUp[0].required = true
      }
    },
    // 获取数据
    async queryDataListFn() {
      let res = await getNumberByFollows(this.params)
      if (res.data.code === 200) {
        console.log(res.data)
        this.tableData = res.data.data
      }
      let msg = await getResultEnum(this.params)
      if (msg.data.code === 200) {
        console.log(msg.data)
        this.tableMsg = msg.data.data
      }
    },
    // 本次妊娠结局
    async thisPregnancyOutcomListFn() {
      const { data: res } = await getCommonList({
        codeType: '本次妊娠结局',
        sysName: '孕前检查'
      })
      if (res.code === 200) {
        this.thisPregnancyOutcomList = res.data
        console.log(this.thisPregnancyOutcomList)
      }
    },
    // 婴儿42天内存活状况
    async infantSurvivalIs42DaysListFn() {
      const { data: res } = await getCommonList({
        codeType: '婴儿42天内存活状况',
        sysName: '孕前检查'
      })
      if (res.code === 200) {
        this.infantSurvivalIs42DaysList = res.data
      }
    },
    // 宝宝 添加宝宝
    addBody() {
      let obj = DEEP_CLONE(RECORDS_DATA.infantList[0])
      this.followForm.infantList.push(obj)
      this.bodyItemNum = this.followForm.infantList.length - 1
      // console.log(this.followForm.infantList)
    },
    // 删除宝宝
    delBody(index) {
      // console.log(index)
      if (index === this.followForm.infantList.length - 1) {
        return
      }
      if (index > 0) {
        // this.bodyItemNum = index - 1
        index -= 1
        this.bodyItemNum = index
      } else {
        this.bodyItemNum = 0
      }
      console.log(index)
      console.log(this.bodyItemNum)
      this.followForm.infantList.splice(index, 1)

      let infantListAry = this.followForm.infantList
      let that = this

      infantListAry.forEach(function(e, i) {
        console.log(e, i)
        infantListAry[i].name = that.tableMsg.wname + '第' + (i + 1) + '个' + that.name
      })
      this.followForm.infantList = infantListAry

      // this.followForm.infantList[this.bodyItemNum].name = this.tableMsg.wname + '第' + (this.bodyItemNum) + '个' + this.name
      // console.log(index)
      // index = index - 1
      // console.log(this.followForm.infantList)
    },
    bodyItem(index) {
      this.bodyItemNum = index
    },
    // 根据性别获取名字
    sexChange(val) {
      // let name = ''
      this.followForm.infantList[this.bodyItemNum].sex = val
      if (val === '0' || val === '3') {
        this.name = '宝宝'
      } else if (val === '1') {
        this.name = '儿子'
      } else if (val === '2') {
        this.name = '女儿'
      }
      this.followForm.infantList[this.bodyItemNum].name = this.tableMsg.wname + '第' + (this.bodyItemNum + 1) + '个' + this.name
    },
    // 胎婴儿性别
    async sexListFn() {
      const { data: res } = await getCommonList({
        codeType: '性别',
        sysName: '公共字典'
      })
      if (res.code === 200) {
        this.sexList = res.data
      }
    },
    // 分娩地点
    async deliveryPlaceListFn() {
      const { data: res } = await getCommonList({
        codeType: '分娩地点',
        sysName: '孕产妇死亡报告'
      })
      if (res.code === 200) {
        this.deliveryPlaceList = res.data
      }
    },
    // 分娩方式
    async deliveryWayListListFn() {
      const { data: res } = await getCommonList({
        codeType: '分娩方式',
        sysName: '孕产妇死亡报告'
      })
      if (res.code === 200) {
        this.deliveryWayList = res.data
      }
    },
    // 获取妊娠随访结果列表
    async resultFollowUpListFn() {
      let res = await getGestationResultEnum()
      if (res.data.code === 200) {
        this.resultFollowUpList = res.data.data
      }
    },
    // 早孕随访列表 删除
    async deleteRow(row) {
      let obj = {}
      obj.id = row.id
      const { data: res } = await deleteRow(obj)
      console.log(res)
      if (res.code === 200) {
        await this.queryDataListFn()
      }
    }
  }
}
</script>
<style lang="less" scoped>
.test-result-wrap {
  .test-result-top {
    background-color: #f8f8f8;
    padding: 15px 30px;
    span {
      margin-right: 40px;
    }
  }
  .test-item-list {
    border: 1px solid #d4d4d4;
    padding: 30px;
    margin: 30px 0;
  }
}
.el-main {
  padding-top: 0px;
}
.recBox {
  padding: 20px 30px;
  border: 1px solid #ccc;
  background: #fff;
  margin: 30px 0;
  .babyBtn {
    margin-bottom: 20px;
  }
}
/deep/.el-dialog .el-dialog__header {
  height: 51px;
  background: #ff82bc;
  text-align: left;
}
.header .spn {
  margin-right: 20px;
}
/deep/.el-form .el-form-item {
  height: auto !important;
}
.el-aside {
  overflow: hidden;
}
.el-button,.el-button+.el-button{
  margin-left: 0;
  margin-right: 10px;
}
</style>

4、sass小程序医患端,小程序发送语音

5、医疗质量指标前端,动态添加每行每列

6、妇幼的,table每行可编辑

7、小程序添加每行每列

8、找博客上封装的组件全局组件,传颜色就可以改

9、bi-wxapp小程序封装的echars组件,日期组件(这篇单独写了)

放链接:juejin.cn/post/707005…

10、妇幼的打印功能

11、整个妇幼架构,妇幼的老年人健康管理

12、crm封装的prodCon组件

不能子组件修改父组件值,不然后面去触发事件会有问题

看微信小程序自己记录得需要看的

13、各项目中遇到的问题

1、小程序自定义组件全局样式不生效的解决方法

www.jb51.net/article/218…

2、vue中vuex的五个属性和基本用法

www.cnblogs.com/lyxzxp/p/11…

vue打包相关

vue项目中引用static目录下的静态资源报错 www.cnblogs.com/yihuite-zch…

如何修改Vue打包后文件的接口地址配置 www.cnblogs.com/webhmy/p/95…

Vue webpack 打包Vue项目后动态配置API接口地址及配置文件 www.cnblogs.com/qiunanyan/p…

webpack实现开发、测试、生产等环境的打包切换 www.cnblogs.com/lisaShare/p…

通过Webpack全局配置开发环境和多种生产环境的请求地址 zhuanlan.zhihu.com/p/147720556

项目1 招远妇幼保健系统

dev分支 => yarn i 安装 =>dev.env.js替换 => 账号sjb 密码123456

项目2 pim

安装包一直安装不完整,可能是网络问题,需要插网线在cnpm i 不然安不完整 账号sjb 密码123456

打包到bulding model就是成功了

项目3 oa电脑端测试环境

http://192.168.0.65/
账号:admin 密码:admin123456

所有bi项目地址链接如下:

https://192.168.0.183/portal_hosp?code=0caa726ba37a478a9a6de225e6bf4b08&code=b792730c22084b1488328190c09603bd&system=portal

账号:sjb 密码:sjb123

项目4 hiip-bi-vue 全是echarts 还没拉代码,拉dev分支

账号:sjb 密码:sjb1234

项目5 hiip-dtrp-vue数据上报 还没拉代码,拉dev分支

账号:sjb 密码:sjb123

项目6 医疗质量指标前端VUE hiip-mqcs-vue

https://192.168.0.183/hiip-mqcs/set/resourceDataSettings

npm i/cnpm i/yarn install安装都没有完全安装下来,可能是网速原因

单独安装:blog.csdn.net/yxw90818679… 账号:sjb 密码:sjb123

公司81环境构建项目的地址

http://192.168.0.81:9080/ 账号密码:java java 找到需要构建的项目,点后面播放器按钮,就能自动构建了

注意:

1、vscode怎么搜索文件名
按快捷键ctrl+p可以弹出一个小窗,在上面的输入框输入文件名,下拉框点击一个文件

参照病历质控下的: 借阅审核 科室运行质控打分

vscode eslint自动修复的代码,在settings.json中加上 { "workbench.iconTheme": "material-icon-theme", "editor.codeActionsOnSave": { "source.fixAll": true }, }

老年人随访记录 组件引用参照 数据采集 table增删参照妇幼的儿童保健下的托幼机构登记

sourcetree的没有提交的代码可以进行贮藏,然后下次可以点击 应用贮藏区进行应用(用来保存dev.env.js的配置)

全局样式 比如.main-area 这个组件没法单独改全局样式,父组件修改子组件样式用deep深度作用选择器, 父组件修改样式!importangt

git遇到的问题

blog.csdn.net/m0_55448604…

1650619722(1).png

git提交步骤

git checkout dev
git add .
git commit -m "备注"
git push origin dev

vscode安装教程

下载地址

code.visualstudio.com/

marketplace.visualstudio.com/search?term…

开发vue必安装的几个插件

image.png

将VSCode设置成中文语言环境

blog.csdn.net/songyun333/…

前端工程师vscode必备插件(20个)

blog.csdn.net/m0_48497187…

VSCode必备插件(10个)

blog.csdn.net/qq_39669919…

从零开始搭建Vue项目

zhuanlan.zhihu.com/p/113068353

对Vue中 runtime-compiler 和 runtime-only 两种模式的理解

blog.csdn.net/qq_40938301…