Browse Source

乳腺癌治疗信息

hwy 5 days ago
parent
commit
c746d92c74

+ 1 - 0
app/statistics/html/comprehensive-query.html

@ -1002,6 +1002,7 @@
    <script src="../../../component/statistics/LascBreastMolybdenumInspectList/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascBreastPathologyInspectEntityList/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascBreastSurgeryInspectEntity/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascBreastTreatInfo/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascModifyPatient/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascPatient/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/breastCancerPatient/index.js" type="text/javascript" charset="utf-8"></script>

+ 428 - 0
component/statistics/LascBreastTreatInfo/index.html

@ -0,0 +1,428 @@
<div id="app">
  <van-form>
    <div class="item-list">
      <div class="item">
        <template>
          <van-field :readonly="readonly" required label-width="4rem" class="" name="是否治疗" label="是否治疗" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.isTreat" direction="horizontal">
                <van-radio name="1">已治疗</van-radio>
                <van-radio name="2" class="top2">拒绝治疗</van-radio>
                <van-radio name="3" class="top2">拒绝随访</van-radio>
                <van-radio name="4" class="top2">空号/错号</van-radio>
                <van-radio name="5" class="top2">首次无法取得联系</van-radio>
                <van-radio name="6" class="top2">已治疗但无法获得具体信息</van-radio>
                <van-radio name="7" class="top2">其他(请说明)</van-radio>
                <van-field
                  :readonly="readonly"
                  :required="required"
                  label-width="6rem"
                  clearable
                  v-if="form.isTreat == '7'"
                  v-model="form.isTreatOtherContent"
                  name=""
                  label=""
                  placeholder="请输入"
                  input-align="left"></van-field>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="6rem" name="部位" label="部位" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.treatPosition" direction="horizontal">
                <van-radio name="1">左乳</van-radio>
                <van-radio name="2" class="top2">右乳</van-radio>
                <van-radio name="3" class="top2">左右乳</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="6rem" name="病理类型" label="病理类型" input-align="right">
            <div slot="input">
              <van-checkbox-group :disabled="readonly" v-model="form.type" direction="horizontal">
                <van-checkbox name="1">浸润性导管癌</van-checkbox>
                <van-checkbox name="2" class="top2">浸润性小叶癌</van-checkbox>
                <van-checkbox name="3" class="top2">导管原位癌</van-checkbox>
                <van-checkbox name="4" class="top2">小叶原位癌</van-checkbox>
                <van-checkbox name="5" class="top2">乳房恶性叶状肿瘤</van-checkbox>
                <van-checkbox name="7" class="top2">不详</van-checkbox>
                <van-checkbox name="6" class="top2">其他</van-checkbox>
                <van-field
                  :readonly="readonly"
                  :required="required"
                  label-width="6rem"
                  v-if='form.type&&form.type.indexOf("6")!=-1'
                  clearable
                  v-model="form.typeOther"
                  name=""
                  label=""
                  placeholder="请输入"
                  input-align="left"></van-field>
              </van-checkbox-group>
            </div>
          </van-field>
          <van-field
            :readonly="readonly"
            :required="required"
            class="padding30"
            label-width="8rem"
            name="术前分期(T)"
            label="术前分期(T)"
            placeholder="请选择检查机构"
            input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.opFrontT" direction="horizontal">
                <van-radio name="0">0</van-radio>
                <van-radio name="1" class="top2">1</van-radio>
                <van-radio name="2" class="top2">2</van-radio>
                <van-radio name="3" class="top2">3</van-radio>
                <van-radio name="4" class="top2">4</van-radio>
                <van-radio name="5" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field
            :readonly="readonly"
            :required="required"
            class="padding30"
            label-width="8rem"
            name="术前分期(N)"
            label="术前分期(N)"
            placeholder="请选择检查机构"
            input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.opFrontN" direction="horizontal">
                <van-radio name="0">0</van-radio>
                <van-radio name="1" class="top2">1</van-radio>
                <van-radio name="2" class="top2">2</van-radio>
                <van-radio name="3" class="top2">3</van-radio>
                <van-radio name="4" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field
            :readonly="readonly"
            :required="required"
            class="padding30"
            label-width="8rem"
            name="术前分期(M)"
            label="术前分期(M)"
            placeholder="请选择检查机构"
            input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.opFrontM" direction="horizontal">
                <van-radio name="0">0</van-radio>
                <van-radio name="1" class="top2">1</van-radio>
                <van-radio name="2" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="8rem" name="术前分期" label="术前分期" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.opFront" direction="horizontal">
                <van-radio name="0">0期</van-radio>
                <van-radio name="1" class="top2">I期</van-radio>
                <van-radio name="2" class="top2">IIA期</van-radio>
                <van-radio name="3" class="top2">IIB期</van-radio>
                <van-radio name="4" class="top2">IIIA期</van-radio>
                <van-radio name="5" class="top2">IIIB期</van-radio>
                <van-radio name="6" class="top2">IIIC期</van-radio>
                <van-radio name="7" class="top2">IV期</van-radio>
                <van-radio name="8" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <!-- 术后 -->
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="8rem" name="术后分期(T)" label="术后分期(T)" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.opAfterT" direction="horizontal">
                <van-radio name="0">0</van-radio>
                <van-radio name="1" class="top2">1</van-radio>
                <van-radio name="2" class="top2">2</van-radio>
                <van-radio name="3" class="top2">3</van-radio>
                <van-radio name="4" class="top2">4</van-radio>
                <van-radio name="5" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="8rem" name="术后分期(N)" label="术后分期(N)" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.opAfterN" direction="horizontal">
                <van-radio name="0">0</van-radio>
                <van-radio name="2" class="top2">1</van-radio>
                <van-radio name="3" class="top2">2</van-radio>
                <van-radio name="4" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="8rem" name="术后分期(M)" label="术后分期(M)" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.opAfterM" direction="horizontal">
                <van-radio name="0">0</van-radio>
                <van-radio name="1" class="top2">1</van-radio>
                <van-radio name="2" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="8rem" name="术后分期" label="术后分期" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.opAfter" direction="horizontal">
                <van-radio name="0">0期</van-radio>
                <van-radio name="1" class="top2">I期</van-radio>
                <van-radio name="2" class="top2">IIA期</van-radio>
                <van-radio name="3" class="top2">IIB期</van-radio>
                <van-radio name="4" class="top2">IIIA期</van-radio>
                <van-radio name="5" class="top2">IIIB期</van-radio>
                <van-radio name="6" class="top2">IIIC期</van-radio>
                <van-radio name="7" class="top2">IV期</van-radio>
                <van-radio name="8" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(ER)" label="免疫组织化学结果(ER)" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.immunohistochemicalResultsErUnknown" direction="horizontal">
                <van-radio name="0" class="top2">百分比</van-radio>
                <van-radio name="-1" class="top2">不详</van-radio>
                <van-radio name="1" class="top2">其他</van-radio>
                <!-- 百分比 -->
                <van-field
                  :readonly="readonly"
                  label-width="6rem"
                  v-if="form.immunohistochemicalResultsErUnknown && (form.immunohistochemicalResultsErUnknown == 0 || form.immunohistochemicalResultsErUnknown == 1)"
                  clearable
                  v-model="form.immunohistochemicalResultsEr"
                  name=""
                  label=""
                  placeholder="请输入"
                  input-align="left">
                  <van-text slot="button" v-if="form.immunohistochemicalResultsErUnknown == 0" size="small" type="text">%</van-text>
                </van-field>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(PR)" label="免疫组织化学结果(PR)" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.immunohistochemicalResultsPrUnknown" direction="horizontal">
                <van-radio name="0" class="top2">百分比</van-radio>
                <van-radio name="-1" class="top2">不详</van-radio>
                <van-radio name="1" class="top2">其他</van-radio>
                <!-- 百分比 -->
                <van-field
                  :readonly="readonly"
                  label-width="6rem"
                  v-if="form.immunohistochemicalResultsPrUnknown && (form.immunohistochemicalResultsPrUnknown == 0 || form.immunohistochemicalResultsPrUnknown == 1)"
                  clearable
                  v-model="form.immunohistochemicalResultsPr"
                  name=""
                  label=""
                  placeholder="请输入"
                  input-align="left">
                  <van-text slot="button" v-if="form.immunohistochemicalResultsPrUnknown == 0" size="small" type="text">%</van-text>
                </van-field>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(HER2)" label="免疫组织化学结果(HER2)" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.immunohistochemicalResultsHer" direction="horizontal">
                <van-radio name="0" class="">0</van-radio>
                <van-radio name="1" class="top2">1+</van-radio>
                <van-radio name="2" class="top2">2+</van-radio>
                <van-radio name="3" class="top2">3+</van-radio>
                <van-radio name="4" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(Ki67)" label="免疫组织化学结果(Ki67)" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.immunohistochemicalResultsKiUnknown" direction="horizontal">
                <van-radio name="0" class="">百分比</van-radio>
                <van-radio name="-1" class="top2">不详</van-radio>
                <van-field
                  :readonly="readonly"
                  label-width="6rem"
                  v-if="form.immunohistochemicalResultsKiUnknown && form.immunohistochemicalResultsKiUnknown==0"
                  clearable
                  v-model="form.immunohistochemicalResultsKi"
                  name=""
                  label=""
                  placeholder="请输入"
                  input-align="left">
                  <van-text slot="button" size="small" type="text">%</van-text>
                </van-field>
              </van-radio-group>
            </div>
          </van-field>
          <van-field
            :readonly="true"
            :required="required"
            class="padding30"
            label-width="12rem"
            name="免疫组织化学结果(FISH/CISH)"
            label="免疫组织化学结果(FISH/CISH)"
            input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.immunohistochemicalResultsFishCish" direction="horizontal">
                <van-radio name="1" class="">阴性</van-radio>
                <van-radio name="2" class="top2">阳性</van-radio>
                <van-radio name="3" class="top2">未做</van-radio>
                <van-radio name="4" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="6rem" name="乳腺癌治疗方式" label="乳腺癌治疗方式" input-align="right">
            <div slot="input">
              <van-checkbox-group :disabled="readonly" v-model="form.breastCancerSurgeryMode" direction="horizontal">
                <van-checkbox name="1">手术</van-checkbox>
                <van-checkbox name="2" class="top2">化疗</van-checkbox>
                <van-checkbox name="3" class="top2">靶向治疗</van-checkbox>
                <van-checkbox name="4" class="top2">内分泌治疗</van-checkbox>
                <van-checkbox name="5" class="top2">免疫治疗</van-checkbox>
                <van-checkbox name="6" class="top2">放疗</van-checkbox>
                <van-checkbox name="7" class="top2">不详</van-checkbox>
                <van-checkbox name="8" class="top2">其他</van-checkbox>
                <van-field
                  :readonly="readonly"
                  :required="required"
                  label-width="6rem"
                  v-if='form.breastCancerSurgeryMode&&form.breastCancerSurgeryMode.indexOf("8")!=-1'
                  clearable
                  v-model="form.breastCancerSurgeryModeOther"
                  name=""
                  label=""
                  placeholder="请输入"
                  input-align="left"></van-field>
              </van-checkbox-group>
            </div>
          </van-field>
          <van-field
            :readonly="true"
            v-if='form.breastCancerSurgeryMode&&form.breastCancerSurgeryMode.indexOf("1")!=-1'
            :required="required"
            class="padding30"
            label-width="5.5rem"
            name="乳房手术方式"
            label="乳房手术方式"
            input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.breastSurgeryMode" direction="horizontal">
                <van-radio name="1" class="">保留乳房</van-radio>
                <van-radio name="2" class="top2">全乳房切除</van-radio>
                <van-radio name="3" class="top2">保留乳头乳晕的乳房切除</van-radio>
                <van-radio name="4" class="top2">不详</van-radio>
                <van-radio name="5" class="top2">其他</van-radio>
                <van-field
                  :readonly="readonly"
                  :required="required"
                  label-width="6rem"
                  v-if="form.breastSurgeryMode==5"
                  clearable
                  v-model="form.breastSurgeryModeOther"
                  name=""
                  label=""
                  placeholder="请输入"
                  input-align="left"></van-field>
              </van-radio-group>
            </div>
          </van-field>
          <van-field
            :readonly="true"
            v-if='form.breastCancerSurgeryMode&&form.breastCancerSurgeryMode.indexOf("1")!=-1'
            :required="required"
            class="padding30"
            label-width="8rem"
            name="腋窝手术方式"
            label="腋窝手术方式"
            input-align="right">
            <div slot="input">
              <van-checkbox-group :disabled="readonly" v-model="form.armpitSurgeryMode" direction="horizontal">
                <van-checkbox name="1" class="">前哨淋巴结活检</van-checkbox>
                <van-checkbox name="2" class="top2">腋窝淋巴结清扫</van-checkbox>
                <van-checkbox name="3" class="top2">不详</van-checkbox>
                <van-checkbox name="4" class="top2">其他</van-checkbox>
                <van-field
                  :readonly="readonly"
                  :required="required"
                  label-width="6rem"
                  v-if="form.armpitSurgeryMode==4"
                  clearable
                  v-model="form.armpitSurgeryModeOther"
                  name=""
                  label=""
                  placeholder="请输入"
                  input-align="left"></van-field>
              </van-checkbox-group>
            </div>
          </van-field>
          <van-field
            :readonly="true"
            v-if='form.breastCancerSurgeryMode&&form.breastCancerSurgeryMode.indexOf("1")!=-1'
            :required="required"
            class="padding30"
            label-width="6rem"
            name="乳房重建方式"
            label="乳房重建方式"
            input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.breastReconstructionMode" direction="horizontal">
                <van-radio name="1" class="">无重建</van-radio>
                <van-radio name="2" class="top2">自体组织重建</van-radio>
                <van-radio name="3" class="top2">硅胶假体重建</van-radio>
                <van-radio name="4" class="top2">自体组织联合假体重建</van-radio>
                <van-radio name="5" class="top2">不详</van-radio>
                <van-radio name="6" class="top2">其他</van-radio>
                <van-field
                  :readonly="readonly"
                  :required="required"
                  label-width="6rem"
                  v-if="form.breastReconstructionMode==6"
                  clearable
                  v-model="form.breastReconstructionModeOther"
                  name=""
                  label=""
                  placeholder="请输入"
                  input-align="left"></van-field>
              </van-radio-group>
            </div>
          </van-field>
        </template>
        <van-field
          :readonly="readonly"
          required
          label-width="8rem"
          clearable
          v-model="form.followupDoctor"
          name="随访人员"
          label="随访人员"
          placeholder="请输入随访人员"
          input-align="right"></van-field>
        <van-field
          :readonly="readonly"
          required
          label-width="4rem"
          class=""
          :readonly="readonly"
          clearable
          v-model="form.followupOrg"
          name="随访机构"
          label="随访机构"
          placeholder="请输入随访机构"
          input-align="right"></van-field>
        <van-field
          :readonly="readonly"
          required
          label-width="8rem"
          readonly
          clickable
          name="随访日期"
          :value="form.followupDate?form.followupDate:''"
          label="随访日期"
          placeholder="请选择随访日期"
          input-align="right"
          :is-link="!readonly"></van-field>
      </div>
    </div>
  </van-form>
</div>

+ 82 - 0
component/statistics/LascBreastTreatInfo/index.js

@ -0,0 +1,82 @@
var template = ''
$.ajax('../../../component/statistics/LascBreastTreatInfo/index.html', {
  data: {},
  dataType: 'html',
  cache: false,
  timeout: 60000,
  async: false,
  error: function (res) {},
  success: function (res) {
    template = res
  }
})
Vue.component('lasc-breast-treat-info', {
  template: template,
  props: ['data'],
  data: function () {
    return {
      isShowPicker: false,
      pickType: '',
      curItem: '',
      isShowDatePicker: false,
      activeDateField: '',
      date: '',
      form: {
        screenId: '', //两癌筛查id
        treatPosition: '',
        id: '',
        name: '',
        type: [],
        typeOther: '',
        opFrontT: '',
        opFrontN: '',
        opFrontM: '',
        opFront: '',
        opAfterT: '',
        opAfterN: '',
        opAfterM: '',
        opAfter: '',
        immunohistochemicalResultsEr: '',
        immunohistochemicalResultsErUnknown: '',
        immunohistochemicalResultsPr: '',
        immunohistochemicalResultsPrUnknown: '',
        immunohistochemicalResultsHer: '',
        immunohistochemicalResultsKi: '',
        immunohistochemicalResultsKiUnknown: '',
        immunohistochemicalResultsFishCish: '',
        breastCancerSurgeryMode: [],
        breastCancerSurgeryModeOther: '',
        breastSurgeryMode: '',
        breastSurgeryModeOther: '',
        armpitSurgeryMode: [],
        armpitSurgeryModeOther: '',
        breastReconstructionMode: '',
        breastReconstructionModeOther: '',
        followupDoctor: '', //随访人员
        followupDate: '', //随访日期
        isTreat: '', // 是否治疗
        isTreatOtherContent: '',
        followupOrg: '' //随访机构
      },
      columns: [],
      orgColumns: [],
      isShowOrgsPicker: false,
      show: true,
      showType: '',
      required: true
    }
  },
  methods: {},
  mounted() {
    if (this.data.value && this.data.value.length && this.data.value[0].id) {
      var first = this.data.value[0]
      this.form.screenId = first.screenId
      this.form.id = first.id ? first.id : ''
      first.type = first.type ? first.type.split(',') : []
      first.breastCancerSurgeryMode = first.breastCancerSurgeryMode ? first.breastCancerSurgeryMode.split(',') : []
      first.armpitSurgeryMode = first.armpitSurgeryMode ? first.armpitSurgeryMode.split(',') : []
      this.form = first
    }
  }
})