Bläddra i källkod

Merge branch 'master' of http://192.168.1.220:10080/raolu/PC-application

Chensc 6 dagar sedan
förälder
incheckning
02e5420540

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

@ -999,6 +999,9 @@
    <script src="../../../component/statistics/ChestPainManage/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascClinicalExamination/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascBreastCduInspectEntityList/index.js" type="text/javascript" charset="utf-8"></script>
    <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/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>

+ 206 - 0
component/statistics/LascBreastMolybdenumInspectList/index.html

@ -0,0 +1,206 @@
<div id="app">
  <van-form class="mt10">
    <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.receiveBreastMolybdenum" direction="horizontal" @change="change">
          <van-radio name="1" class="top2">拒绝检查</van-radio>
          <van-radio name="2" class="top2">依从</van-radio>
          <van-radio name="3" class="top2">拒绝随访</van-radio>
          <van-radio name="7" 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-group>
        <van-field
          :readonly="readonly"
          required
          label-width="6rem"
          v-if="form.receiveBreastMolybdenum == 6"
          clearable
          v-model="form.receiveBreastMolybdenumOther"
          name=""
          label=""
          placeholder="请输入说明"
          input-align="left"></van-field>
      </div>
    </van-field>
    <van-field :readonly="readonly" v-if="form.receiveBreastMolybdenum == 1" required class="" label-width="6rem" name="拒绝检查原因" label="拒绝检查原因" input-align="right">
      <div slot="input">
        <van-checkbox-group :disabled="readonly" v-model="form.refusalReason" 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-group>
        <van-field
          :readonly="readonly"
          required
          label-width="6rem"
          clearable
          v-if="form.refusalReason.indexOf('7')!=-1"
          v-model="form.refusalReasonOtherContent"
          name=""
          label=""
          placeholder="请输入说明"
          input-align="left"></van-field>
      </div>
    </van-field>
    <div class="item-list">
      <div class="item" v-for="(item, i) in form.list" :key="i">
        <template v-if="form.receiveBreastMolybdenum==2">
          <van-field :readonly="readonly" required label-width="8rem" class="" name="乳腺密度" label="乳腺密度" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.breastDensity" 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-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" required class="" label-width="8rem" name="右乳BI-RADS分级" label="右乳BI-RADS分级" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.rightMolybdenumBiRads" direction="horizontal">
                <van-radio name="1">0级</van-radio>
                <van-radio name="2">1级</van-radio>
                <van-radio name="3">2级</van-radio>
                <van-radio name="4" class="top2">3级</van-radio>
                <van-radio name="5" class="top2">4a级</van-radio>
                <van-radio name="6" class="top2">4b级</van-radio>
                <van-radio name="7" class="top2">4c级</van-radio>
                <van-radio name="8" class="top2">5级</van-radio>
                <van-radio name="9" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" required class="" label-width="8rem" name="左乳BI-RADS分级" label="左乳BI-RADS分级" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.leftMolybdenumBiRads" direction="horizontal">
                <van-radio name="1">0级</van-radio>
                <van-radio name="2">1级</van-radio>
                <van-radio name="3">2级</van-radio>
                <van-radio name="4" class="top2">3级</van-radio>
                <van-radio name="5" class="top2">4a级</van-radio>
                <van-radio name="6" class="top2">4b级</van-radio>
                <van-radio name="7" class="top2">4c级</van-radio>
                <van-radio name="8" class="top2">5级</van-radio>
                <van-radio name="9" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" required label-width="8rem" class="" name="" label="肿块" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.tumor" direction="horizontal">
                <van-radio name="1">无</van-radio>
                <van-radio name="2">有</van-radio>
                <van-radio name="3" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" required label-width="8rem" class="" name="" label="恶性或可疑钙化" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.calcification" direction="horizontal">
                <van-radio name="1">无</van-radio>
                <van-radio name="2">有</van-radio>
                <van-radio name="3" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" required label-width="8rem" class="" name="" label="结构紊乱" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.disorganization" direction="horizontal">
                <van-radio name="1">无</van-radio>
                <van-radio name="2">有</van-radio>
                <van-radio name="3" class="top2">不详</van-radio>
              </van-radio-group>
            </div>
          </van-field>
        </template>
        <van-field
          required
          label-width="8rem"
          clearable
          v-model="item.breastMolybdenumOrg"
          name="检查机构"
          label="检查机构"
          placeholder="请输入检查机构"
          input-align="right"
          @click="readonly?'':showPicker1(item, '')"
          input-align="right"
          :is-link="!readonly"></van-field>
        <van-field
          required
          label-width="8rem"
          clearable
          v-model="item.breastMolybdenumOrgOther"
          name="其他"
          label="其他"
          placeholder="请输入其他"
          input-align="right"
          v-if="item.breastMolybdenumOrg=='其他'"></van-field>
        <!-- <van-field  required label-width="8rem" clearable v-model="item.breastMolybdenumUser" name="检查人员" label="检查人员" placeholder="请输入检查人员" input-align="right"
      @click="readonly?'':showPicker2(item, '')" :is-link="!readonly"> -->
        <van-field
          required
          label-width="8rem"
          clearable
          v-model="item.breastMolybdenumUser"
          name="检查人员"
          label="检查人员"
          placeholder="请输入检查人员"
          input-align="right"></van-field>
        <van-field
          :readonly="readonly"
          required
          label-width="8rem"
          readonly
          clickable
          name="检查日期"
          :value="item.breastMolybdenumTime?item.breastMolybdenumTime:''"
          label="检查日期"
          placeholder="请选择检查时间"
          @click="readonly? '':showDatePicker(item, 'breastMolybdenumTime')"
          input-align="right"
          :is-link="!readonly"></van-field>
        <van-field
          required
          label-width="8rem"
          clearable
          v-model="item.followupOrgName"
          name="随访机构"
          label="随访机构"
          placeholder="请输入随访机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          required
          label-width="8rem"
          clearable
          v-model="item.followupUserName"
          name="随访人员"
          label="随访人员"
          placeholder="请输入随访人员"
          input-align="right"></van-field>
        <van-field
          :readonly="readonly"
          required
          label-width="8rem"
          readonly
          clickable
          name="随访日期"
          :value="item.followupDate?item.followupDate:''"
          label="随访日期"
          placeholder="请选择随访日期"
          @click="readonly? '':showDatePicker(item, 'followupDate')"
          input-align="right"
          :is-link="!readonly"></van-field>
      </div>
    </div>
  </van-form>
</div>

+ 92 - 0
component/statistics/LascBreastMolybdenumInspectList/index.js

@ -0,0 +1,92 @@
var template = ''
$.ajax('../../../component/statistics/LascBreastMolybdenumInspectList/index.html', {
  data: {},
  dataType: 'html',
  cache: false,
  timeout: 60000,
  async: false,
  error: function (res) {},
  success: function (res) {
    template = res
  }
})
Vue.component('lasc-breast-molybdenum-inspect-list', {
  template: template,
  props: [],
  data: function () {
    return {
      isShowPicker: false,
      isShowPicker1: false,
      isShowPicker2: false,
      columns: ['非对称性腺体增厚', '乳头凹陷', '腋窝淋巴结肿大', '副乳腺', '乳腺切除术后'],
      pickType: '',
      curItem: '',
      curItem1: '',
      isShowDatePicker: false,
      activeDateField: '',
      date: '',
      readonly: true,
      form: {
        screenId: '', //两癌筛查id
        receiveBreastMolybdenum: '2', //是否接收乳腺临床检查1拒绝2接收
        receiveBreastMolybdenumOther: '',
        refusalReason: [],
        refusalReasonOtherContent: '',
        list: []
      },
      active: '',
      mbTubeNum: '',
      orgList: [],
      orgUser: [],
      data: {
        value: [
          {
            id: 3247,
            screenId: '808080f683c9e2570183c9f84cac0000',
            name: '辅助检查-乳腺钼靶-20231221',
            receiveBreastMolybdenumOther: '',
            breastDensity: '1',
            rightMolybdenumBiRads: '2',
            leftMolybdenumBiRads: '2',
            biRadsResult: 2,
            tumor: '1',
            calcification: '1',
            disorganization: '1',
            breastMolybdenumOrg: '思明区卫生和计划生育局',
            breastMolybdenumOrgOther: null,
            breastMolybdenumUser: '苏钦毅',
            breastMolybdenumTime: '2023-12-21',
            doctor: null,
            inspectOrgCode: 'ac02a9b87a3611e69f7c005056850d66',
            inspectUserCode: '40f5371c810d411ab085cb8d9f0160a6',
            followupDate: null,
            followupOrgCode: null,
            followupOrgName: null,
            followupUserCode: null,
            followupUserName: null,
            mbTubeNum: null,
            pdfUrl: 'https://www.xmtyw.cn/twocancerpdf/null.pdf',
            receiveBreastMolybdenum: '2',
            refusalReason: '[]',
            refusalReasonOtherContent: ''
          }
        ]
      }
    }
  },
  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.receiveBreastMolybdenum = first.receiveBreastMolybdenum
      this.form.receiveBreastMolybdenumOther = first.receiveBreastMolybdenumOther
      this.form.refusalReason = first.refusalReason ? first.refusalReason.split(',') : []
      this.form.refusalReasonOtherContent = first.refusalReasonOtherContent
      this.form.list = this.data.value
      this.mbTubeNum = first.mbTubeNum ? first.mbTubeNum : ''
    }
  }
})

+ 230 - 0
component/statistics/LascBreastPathologyInspectEntityList/index.html

@ -0,0 +1,230 @@
<div id="app">
  <van-form>
    <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.receivePathologicalExamination" direction="horizontal">
          <van-radio name="1" class="top2">拒绝检查</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"
            label-width="6rem"
            v-if='form.receivePathologicalExamination == "6"'
            clearable
            v-model="form.refusePathologicalExaminationReason"
            name=""
            label=""
            placeholder="请输入说明"
            input-align="left"></van-field>
        </van-radio-group>
      </div>
    </van-field>
    <van-field
      :readonly="readonly"
      v-if="form.receivePathologicalExamination == 1"
      required
      class=""
      label-width="6rem"
      name="拒绝检查原因"
      label="拒绝检查原因"
      input-align="right">
      <div slot="input">
        <van-checkbox-group :disabled="readonly" v-model="form.breastPathologyRefusalReason" 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-group>
        <van-field
          :readonly="readonly"
          required
          label-width="6rem"
          clearable
          v-if="form.breastPathologyRefusalReason.indexOf('7')!=-1"
          v-model="form.breastPathologyRefusalReasonContent"
          name=""
          label=""
          placeholder="请输入说明"
          input-align="left"></van-field>
      </div>
    </van-field>
    <van-field
      :readonly="readonly"
      required
      label-width="4rem"
      class=""
      name="病理学检查时间"
      label="病理学检查时间"
      input-align="right"
      v-if="form.receivePathologicalExamination==2">
      <div slot="input">
        <van-radio-group :disabled="readonly" v-model="form.pathologicalExamTime" direction="horizontal">
          <van-radio name="1" class="top2">距初筛≤60天</van-radio>
          <van-radio name="2" class="top2">距初筛60天~1年</van-radio>
          <van-radio name="3" class="top2">距初筛1年-2年</van-radio>
          <van-radio name="4" class="top2">距初筛2年以上</van-radio>
          <van-radio name="5" class="top2">不详</van-radio>
        </van-radio-group>
      </div>
    </van-field>
    <div class="item-list">
      <div class="item" v-for="(item, i) in form.list" :key="i">
        <van-cell :title="(sort+1)+'、'">
          <div id="" v-if="!readonly">
            <van-icon v-if="form.list&&form.list.length>1" size="20px" name="delete-o" />
          </div>
        </van-cell>
        <template v-if="form.receivePathologicalExamination==2">
          <template v-for="(breast, k) in item.breastList">
            <div id="" class="headlineTwo" @click="breast.boxShow=!breast.boxShow" style="display: flex; justify-content: space-between">
              <div id="">{{breast.name}}</div>
              <div id="" class="headlineIcon" v-if="!breast.boxShow"><van-icon name="arrow-down" /></div>
              <div id="" class="headlineIcon" v-else><van-icon name="arrow-up" /></div>
            </div>
            <div id="" class="fromBox" v-show="breast.boxShow">
              <van-field :readonly="readonly" required class="padding30" label-width="6rem" name="活检方式" label="活检方式" input-align="right">
                <div slot="input">
                  <van-checkbox-group :disabled="readonly" v-model="breast.rightPathologicalBiopsyMethod" 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-group>
                </div>
              </van-field>
              <van-field
                :readonly="readonly"
                required
                v-if="difference(breast.rightPathologicalBiopsyMethod, ['4']).length"
                class="padding30"
                label-width="6rem"
                name="病理结论"
                label="病理结论"
                input-align="right">
                <div slot="input">
                  <van-radio-group :disabled="readonly" v-model="breast.rightPathologicalConclusion" 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-group>
                </div>
              </van-field>
              <van-field
                :readonly="readonly"
                v-if="difference(breast.rightPathologicalBiopsyMethod, ['4']).length&&breast.rightPathologicalConclusion==5"
                class="padding30"
                label-width="6rem"
                name="乳腺恶性肿瘤类型"
                label="乳腺恶性肿瘤类型"
                input-align="right">
                <div slot="input">
                  <van-checkbox-group :disabled="readonly" v-model="breast.rightPathologicalMalignanciesType" 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-field
                      :readonly="readonly"
                      label-width="6rem"
                      v-if='breast.rightPathologicalMalignanciesType.indexOf("4")!=-1'
                      clearable
                      v-model="breast.rightPathologicalMalignanciesOtherType"
                      name=""
                      label=""
                      placeholder="请输入"
                      input-align="left"></van-field>
                    <van-checkbox name="5" class="top2">不详</van-checkbox>
                  </van-checkbox-group>
                </div>
              </van-field>
            </div>
          </template>
          <van-field
            :readonly="readonly"
            v-if="item.breastList[0].rightPathologicalConclusion==5 || item.breastList[1].rightPathologicalConclusion==5"
            required
            class=""
            label-width="7rem"
            name="乳腺癌治疗结果"
            label="乳腺癌治疗结果"
            input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.breastCancerTreatmentResult" 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="true"
            required
            label-width="8rem"
            clearable
            v-model="item.pathologicalExaminationDiagnosisOrgPick"
            name="诊断机构"
            label="诊断机构"
            placeholder="请选择检查机构"
            input-align="right"></van-field>
          <van-field
            v-if="item.pathologicalExaminationDiagnosisOrgPick==orgColumns[7]"
            :readonly="readonly"
            required
            label-width="8rem"
            clearable
            v-model="item.pathologicalExaminationDiagnosisOrg"
            name="其他诊断机构"
            label="其他检查机构"
            placeholder="请输入检查机构"
            input-align="right"></van-field>
        </template>
        <van-field
          :readonly="readonly"
          required
          label-width="8rem"
          clearable
          v-model="item.pathologicalExaminationFollowupUser"
          name="随访人员"
          label="随访人员"
          placeholder="请输入检查人员"
          input-align="right"></van-field>
        <van-field
          :readonly="readonly"
          required
          label-width="4rem"
          class=""
          :readonly="readonly"
          clearable
          v-model="item.followupOrg"
          name="随访机构"
          label="随访机构"
          placeholder="请输入随访机构"
          input-align="right"></van-field>
        <van-field
          :readonly="readonly"
          required
          label-width="8rem"
          readonly
          clickable
          name="随访日期"
          :value="item.pathologicalExaminationFollowupTime?item.pathologicalExaminationFollowupTime:''"
          label="随访日期"
          placeholder="请选择随访日期"
          input-align="right"
          :is-link="!readonly"></van-field>
      </div>
    </div>
  </van-form>
</div>

+ 126 - 0
component/statistics/LascBreastPathologyInspectEntityList/index.js

@ -0,0 +1,126 @@
var template = ''
$.ajax('../../../component/statistics/LascBreastPathologyInspectEntityList/index.html', {
  data: {},
  dataType: 'html',
  cache: false,
  timeout: 60000,
  async: false,
  error: function (res) {},
  success: function (res) {
    template = res
  }
})
Vue.component('lasc-breast-pathology-inspect-entity-list', {
  template: template,
  props: [],
  data: function () {
    return {
      isShowPicker: false,
      columns: ['非对称性腺体增厚', '乳头凹陷', '腋窝淋巴结肿大', '副乳腺', '乳腺切除术后'],
      pickType: '',
      curItem: '',
      readonly: true,
      orgColumns: ['', '厦门市妇幼保健院', '厦门市第一医院', '厦门市中山医院', '厦门市中医院', '复旦中山厦门医院', '厦门医学院附属第二医院', '其他(请说明)'],
      isShowDatePicker: false,
      isShowOrgsPicker: false,
      activeDateField: '',
      date: '',
      form: {
        screenId: '', //两癌筛查id
        receivePathologicalExamination: '2', //是否接收乳腺临床检查1拒绝2接收
        pathologicalExamTime: '',
        refusePathologicalExaminationReason: '医嘱取消',
        breastPathologyRefusalReason: [],
        breastPathologyRefusalReasonContent: '',
        list: [],
        id: ''
      },
      data: {
        value: [
          {
            id: 191,
            screenId: '808080f6837851d6018378ae0ddf0002',
            name: '乳腺病理学检查-20221026',
            refusePathologicalExaminationReason: '医嘱取消',
            leftPathologicalBiopsyMethod: '1',
            leftPathologicalConclusion: '5',
            leftPathologicalMalignanciesType: '3',
            leftPathologicalMalignanciesOtherType: '',
            rightPathologicalBiopsyMethod: '1',
            rightPathologicalConclusion: '5',
            rightPathologicalMalignanciesType: '1',
            rightPathologicalMalignanciesOtherType: '',
            breastCancerTreatmentResult: '1',
            pathologicalExaminationDiagnosisOrg: '厦门市中医院',
            pathologicalExaminationDiagnosisOrgType: null,
            pathologicalExaminationFollowupUser: '黄琴',
            pathologicalExaminationFollowupTime: '2022-10-26',
            doctor: null,
            inspectOrgCode: '3502110100',
            inspectUserCode: '361aef4891de492cb0e6a47cf9fe31f3',
            followupOrg: null,
            followupOrgCode: null,
            receivePathologicalExamination: '2',
            breastPathologyRefusalReason: null,
            breastPathologyRefusalReasonContent: null,
            pathologicalExamTime: null
          }
        ]
      }
    }
  },
  methods: {
    getPathologicalExaminationDiagnosisOrg: function (name) {
      if (name) {
        return _.contains(this.orgColumns, name) ? name : this.orgColumns[7]
      }
      return ''
    },
    difference: function (field, excludes) {
      return _.difference(field, excludes)
    }
  },
  created() {
    var vm = this
    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 : ''
      this.form.receivePathologicalExamination = first.receivePathologicalExamination
      this.form.refusePathologicalExaminationReason = first.refusePathologicalExaminationReason
      this.form.breastPathologyRefusalReason = first.breastPathologyRefusalReason ? first.breastPathologyRefusalReason.split(',') : []
      this.form.breastPathologyRefusalReasonContent = first.breastPathologyRefusalReasonContent
      this.form.pathologicalExamTime = first.pathologicalExamTime
      var formData = JSON.parse(JSON.stringify(this.data.value))
      formData.forEach(function (v) {
        var left = { boxShow: false, name: '左乳' },
          right = { boxShow: false, name: '右乳' }
        for (var k in v) {
          if (k.indexOf('right') === 0) {
            right[k] = v[k]
            if (k == 'rightPathologicalBiopsyMethod') {
              right[k] = right[k] ? right[k].split(',') : []
            }
            if (k == 'rightPathologicalMalignanciesType') {
              right[k] = right[k] ? right[k].split(',') : []
            }
          } else if (k.indexOf('left') === 0) {
            left['right' + k.substring(4)] = v[k]
            if (k == 'leftPathologicalBiopsyMethod') {
              left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : ''
            }
            if (k == 'leftPathologicalMalignanciesType') {
              left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : ''
            }
          }
        }
        v.breastList = [right, left]
        v.pathologicalExaminationDiagnosisOrgPick = vm.getPathologicalExaminationDiagnosisOrg(v.pathologicalExaminationDiagnosisOrg)
      })
      this.form.list = formData
    }
  }
})

+ 86 - 0
component/statistics/LascBreastSurgeryInspectEntity/index.html

@ -0,0 +1,86 @@
<div id="app">
  <van-form>
    <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.receiveBreastSurgeryClinic" 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-field
            :readonly="readonly"
            label-width="6rem"
            v-if="form.receiveBreastSurgeryClinic == '6' "
            clearable
            required
            v-model="form.surgeryClinicRefuseContent"
            name=""
            label=""
            placeholder="请输入说明"
            input-align="left"></van-field>
        </van-radio-group>
      </div>
    </van-field>
    <div>
      <template v-if="form.receiveBreastSurgeryClinic==2">
        <van-field :readonly="readonly" required label-width="4rem" class="" name="治疗建议" label="治疗建议" input-align="right">
          <div slot="input">
            <van-checkbox-group :disabled="readonly" v-model="form.surgicalClinicTreatmentSuggestions" direction="horizontal">
              <van-checkbox name="1">12个月复查</van-checkbox>
              <van-checkbox name="2">3-6个月复查</van-checkbox>
              <van-checkbox name="3">手术</van-checkbox>
              <van-checkbox name="4" class="pt5">空心针穿刺活检</van-checkbox>
              <van-checkbox name="5" class="pt5">他莫昔芬/托瑞米芬治疗</van-checkbox>
              <van-checkbox name="6" class="pt5">其他</van-checkbox>
              <van-field
                :readonly="readonly"
                required
                label-width="6rem"
                v-if='form.surgicalClinicTreatmentSuggestions.indexOf("6")!=-1'
                clearable
                v-model="form.surgicalClinicTreatmentOther"
                name=""
                label=""
                placeholder="请输入"
                input-align="left"></van-field>
            </van-checkbox-group>
          </div>
        </van-field>
      </template>
      <van-field
        :readonly="readonly"
        required
        label-width="4rem"
        clearable
        v-model="form.breastSurgeryClinicOrg"
        name="检查机构"
        label="检查机构"
        placeholder="请输入检查机构"
        input-align="right"></van-field>
      <van-field
        :readonly="readonly"
        required
        label-width="4rem"
        clearable
        v-model="form.breastSurgeryClinicUser"
        name="检查人员"
        label="检查人员"
        placeholder="请输入检查人员"
        input-align="right"></van-field>
      <van-field
        :readonly="readonly"
        required
        label-width="4rem"
        readonly
        clickable
        name="检查时间"
        :value="form.breastSurgeryClinicTime?form.breastSurgeryClinicTime:''"
        label="检查时间"
        placeholder="请选择检查时间"
        input-align="right"
        :is-link="!readonly"></van-field>
    </div>
  </van-form>
</div>

+ 65 - 0
component/statistics/LascBreastSurgeryInspectEntity/index.js

@ -0,0 +1,65 @@
var template = ''
var docInfo = JSON.parse(window.localStorage.getItem('wlyyAgent'))
$.ajax('../../../component/statistics/LascBreastSurgeryInspectEntity/index.html', {
  data: {},
  dataType: 'html',
  cache: false,
  timeout: 60000,
  async: false,
  error: function (res) {},
  success: function (res) {
    template = res
  }
})
Vue.component('lasc-breast-surgery-inspect-entity', {
  template: template,
  props: [],
  data: function () {
    return {
      isShowPicker: false,
      columns: ['非对称性腺体增厚', '乳头凹陷', '腋窝淋巴结肿大', '副乳腺', '乳腺切除术后'],
      pickType: '',
      curItem: '',
      isShowDatePicker: false,
      activeDateField: '',
      date: '',
      form: {
        screenId: '', //两癌筛查id
        receiveBreastSurgeryClinic: '2', //是否接收乳腺临床检查1拒绝2接收
        surgeryClinicRefuseContent: '',
        surgicalClinicTreatmentSuggestions: [], //
        surgicalClinicTreatmentOther: '', //
        breastSurgeryClinicOrg: docInfo.hospitalName, //检查机构
        breastSurgeryClinicUser: docInfo.name, //检查人员
        breastSurgeryClinicTime: '' //检查时间
      },
      readonly: true,
      data: {
        value: [
          {
            id: 28,
            screenId: '808080f683cb15560183cb3dfadb0000',
            name: null,
            surgicalClinicTreatmentSuggestions: '3',
            surgicalClinicTreatmentOther: '',
            breastSurgeryClinicOrg: '思明区嘉莲街道社区卫生服务中心',
            breastSurgeryClinicUser: '王清秀',
            breastSurgeryClinicTime: '2022-10-12',
            doctor: '361aef4891de492cb0e6a47cf9fe31f3',
            inspectOrgCode: '3502110100',
            inspectUserCode: '361aef4891de492cb0e6a47cf9fe31f3',
            receiveBreastSurgeryClinic: '1',
            surgeryClinicRefuseContent: null
          }
        ]
      }
    }
  },
  methods: {},
  mounted() {
    var form = JSON.parse(JSON.stringify(this.data.value))
    form.surgicalClinicTreatmentSuggestions = (form.surgicalClinicTreatmentSuggestions && form.surgicalClinicTreatmentSuggestions.split(',')) || []
    this.form = _.assign(this.form, form)
  }
})

+ 4 - 1
component/statistics/LascPatient/index.html

@ -93,6 +93,9 @@
  </el-dialog>
  <el-dialog title="记录" :visible.sync="formDialogVisible" width="50%">
    <!-- <lasc-lascClinical-examination></lasc-lascClinical-examination> -->
    <lasc-breast-cduInspect-entity-list></lasc-breast-cduInspect-entity-list>
    <!-- <lasc-breast-cduInspect-entity-list></lasc-breast-cduInspect-entity-list> -->
    <!-- <lasc-breast-molybdenum-inspect-list></lasc-breast-molybdenum-inspect-list> -->
    <!-- <lasc-breast-pathology-inspect-entity-list></lasc-breast-pathology-inspect-entity-list> -->
    <!-- <lasc-breast-surgery-inspect-entity></lasc-breast-surgery-inspect-entity> -->
  </el-dialog>
</div>