linwe
2024-08-08 3c738f4fe2762bba8087e5a22fc0dc06560eab0e
subPackage/workbench/views/cscj.vue
@@ -2,7 +2,6 @@
   <view class="container">
      <view class="wrap">
         <u-form labelWidth="70" :model="form" :rules="rules" ref="form">
            <view class="top item flex j-c-s-b a-i-c" @click="onScan()" v-if="!currentId">
               <view class="flex a-i-c">
                  <u-icon name="/static/icon/nav-05.png" width="90rpx" height="90rpx"></u-icon>
@@ -64,8 +63,8 @@
                  <view class="f-30" v-if="currentId">
                     {{nineTypeValue}}
                  </view>
               </u-form-item>
               <u-form-item label="阵地:" labelWidth="100" prop="isFront" :required="isRequired">
                  <u-radio-group v-model="form.isFront" v-if="!currentId">
                     <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList"
@@ -98,6 +97,19 @@
                  </u-radio-group>
                  <view class="f-30" v-if="currentId">
                     {{form.threeFireProtection == 1?"否":"是"}}
                  </view>
               </u-form-item>
               <u-form-item class="form-item" labelWidth="100" label="无诈类别:" :required="isRequired"
                  :disabled="isDisabled" prop="noExplosionCategory">
                  <view class="flex j-c-s-b a-i-c" v-if="!currentId" @click="showNotSwindleTypePicker= true">
                     <u-input border="none" v-model="notSwindleValue" disabled disabledColor="#ffffff"
                        placeholder="请选择">
                     </u-input>
                     <u-icon slot="right" name="arrow-right"></u-icon>
                  </view>
                  <view class="f-30" v-if="currentId">
                     {{notSwindleValue}}
                  </view>
               </u-form-item>
@@ -148,13 +160,15 @@
                  <view class="box-title" style="width:50%;">
                     <box-title title="负责人信息"></box-title>
                  </view>
                  <ocr-navigator v-if="!currentId" @onSuccess="recognizeSuccess($event,'legal')"
                  <!-- #ifdef MP-WEIXIN -->
                  <ocr-navigator v-if="!currentId" @onSuccess="recognizeSuccess($event,'principal')"
                     certificateType="idCard" :opposite="false">
                     <view class="recognize-btn flex a-i-c">
                        <u-icon name="scan" color="#fff" size="24"></u-icon>
                        <text class="f-26 c-ff" style="margin-left: 10rpx;">身份证信息识别</text>
                     </view>
                  </ocr-navigator>
                  <!-- #endif-->
               </view>
               <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                  label="场所负责人:" prop="principal">
@@ -179,6 +193,7 @@
                  <view class="box-title" style="width:50%;">
                     <box-title title="法人信息"></box-title>
                  </view>
                  <!-- #ifdef MP-WEIXIN -->
                  <ocr-navigator @onSuccess="recognizeSuccess($event,'legal')" certificateType="idCard"
                     :opposite="false">
                     <view class="recognize-btn flex a-i-c">
@@ -186,6 +201,7 @@
                        <text class="f-26 c-ff" style="margin-left: 10rpx;">身份证信息识别</text>
                     </view>
                  </ocr-navigator>
                  <!-- #endif-->
               </view>
@@ -209,12 +225,11 @@
            <view class="item">
               <view class="flex j-c-s-b a-i-c">
                  <view class="box-title" style="width:50%;">
                     <box-title title="房东信息"></box-title>
                  </view>
                  <!-- #ifdef MP-WEIXIN -->
                  <ocr-navigator v-if="!currentId" @onSuccess="recognizeSuccess($event)" certificateType="idCard"
                     :opposite="false">
                     <view class="recognize-btn flex a-i-c">
@@ -222,9 +237,8 @@
                        <text class="f-26 c-ff" style="margin-left: 10rpx;">身份证信息识别</text>
                     </view>
                  </ocr-navigator>
                  <!--#endif-->
               </view>
               <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                  label="姓名:" prop="landlordName">
                  <u--input border="none" v-model="form.placeExtEntity.landlordName" placeholder="请输入">
@@ -249,8 +263,61 @@
               </u-form-item>
            </view>
            <view class="item" v-if="form.label == 160102  ||  form.label == 160103">
               <view class="flex j-c-s-b a-i-c">
                  <view class="box-title" style="width:50%;">
                     <box-title title="学校信息"></box-title>
                  </view>
               </view>
               <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                  label="学生人数:" prop="studentNumber">
                  <u--input border="none" type="number" v-model="form.placeExtEntity.studentNumber"
                     placeholder="请输入">
                  </u--input>
               </u-form-item>
               <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                  label="教职工人数:" prop="workersNumber">
                  <u--input border="none" type="number" v-model="form.placeExtEntity.workersNumber"
                     placeholder="请输入">
                  </u--input>
               </u-form-item>
               <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                  label="专职保安:" prop="securityNumber">
                  <u--input border="none" type="number" v-model="form.placeExtEntity.securityNumber"
                     placeholder="请输入">
                  </u--input>
               </u-form-item>
               <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                  label="专职门卫:" prop="guardNumber">
                  <u--input border="none" type="number" v-model="form.placeExtEntity.guardNumber"
                     placeholder="请输入">
                  </u--input>
               </u-form-item>
               <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                  label="专兼职保卫人员:" prop="temporarySecurityNumber">
                  <u--input border="none" type="number" v-model="form.placeExtEntity.temporarySecurityNumber"
                     placeholder="请输入">
                  </u--input>
               </u-form-item>
               <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                  label="走读/寄宿:" prop="dayStudentsNumber">
                  <u--input border="none" type="number" v-model="form.placeExtEntity.dayStudentsNumber"
                     placeholder="请输入">
                  </u--input>
               </u-form-item>
               <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                  label="住校生人数:" prop="residentialStudentsNumber">
                  <u--input border="none" type="number" v-model="form.placeExtEntity.residentialStudentsNumber"
                     placeholder="请输入">
                  </u--input>
               </u-form-item>
               <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
                  label="宿舍管理人员:" prop="housemasterNumber">
                  <u--input border="none" type="number" v-model="form.placeExtEntity.housemasterNumber"
                     placeholder="请输入">
                  </u--input>
               </u-form-item>
            </view>
            <view class="item pic" v-if="(currentId && form.images.length) || !currentId ">
               <view class="box-title">
@@ -274,6 +341,7 @@
               <view class="flex a-i-c j-c-s-b" style="padding:20rpx;">
                  <view class="flex j-c-s-b a-i-c">
                     <view class="title fw" style="text-align:center; mr-20">人员信息-#{{ index*1 + 1 }}</view>
                     <!-- #ifdef MP-WEIXIN -->
                     <ocr-navigator v-if="!currentId" @onSuccess="recognizePersonSuccess($event,index)"
                        certificateType="idCard" :opposite="false">
                        <view class="recognize-btn flex a-i-c">
@@ -281,6 +349,7 @@
                           <text class="f-26 c-ff" style="margin-left: 10rpx;">身份证信息识别</text>
                        </view>
                     </ocr-navigator>
                     <!-- #endif -->
                  </view>
@@ -384,6 +453,12 @@
         @close="showGenderPicker = false" @cancel="showGenderPicker = false" keyName="name"
         @confirm="confirmGender"></u-picker>
      <u-picker :defaultIndex="notSwindleTypeIndex" :closeOnClickOverlay="true" :show="showNotSwindleTypePicker"
         :columns="[notSwindleTypeList]" @close="showNotSwindleTypePicker = false"
         @cancel="showNotSwindleTypePicker = false" keyName="name" @confirm="confirmNotSwindleType"></u-picker>
      <cate-selector ref="selector" @comfirm="comfirmNineType" />
   </view>
</template>
@@ -438,9 +513,7 @@
            pickerLoading: false,
            pickColumns: [],
            defaultIndex: [0, 0, 0, 0, 0],
            selectValue: [],
            form: {
               // buildingCode: "",
               images: [],
@@ -459,6 +532,7 @@
               frontType: "",
               nineType: "",
               threeFireProtection: "",
               noExplosionCategory: "",
               placeExtEntity: {
                  landlordName: "",
                  landlordIdCard: "",
@@ -469,6 +543,14 @@
                  legalIdCard: "",
                  placeId: "",
                  studentNumber: "",
                  workersNumber: "",
                  securityNumber: "",
                  guardNumber: "",
                  temporarySecurityNumber: "",
                  dayStudentsNumber: "",
                  residentialStudentsNumber: "",
                  housemasterNumber: ""
               }
            },
            rules: {
@@ -679,7 +761,6 @@
            frontTypeValue: "",
            isView: false,
            source: "",
            nationTypeList: [], //民族
            nationTypeIndex: [0],
            nationValue: "",
@@ -698,7 +779,11 @@
            showGenderPicker: false,
            personNum: 0,
            personNumArr: [],
            isLegalSame: 1 //法人信息是否与负责人一致  1是  2否
            isLegalSame: 1, //法人信息是否与负责人一致  1是  2否
            notSwindleTypeList: [],
            notSwindleIndex: [0],
            notSwindleValue: "",
            showNotSwindleTypePicker: false
         }
      },
@@ -735,8 +820,6 @@
            })
         }
         this.getCurrentLocation();
      },
      watch: {
@@ -763,6 +846,8 @@
            await this.getBizDict('frontType', this.frontTypeList)
            // 获取民族
            await this.getBizDict('nationType', this.nationTypeList);
            //反诈类别
            await this.getBizDict('noExplosionCategory', this.notSwindleTypeList);
         },
         // 获取业务字典
@@ -928,6 +1013,15 @@
                           legalTel: "",
                           legalIdCard: "",
                           placeId: "",
                           studentNumber: "",
                           workersNumber: "",
                           securityNumber: "",
                           guardNumber: "",
                           temporarySecurityNumber: "",
                           dayStudentsNumber: "",
                           residentialStudentsNumber: "",
                           housemasterNumber: ""
                        }
                     }
                  } else {
@@ -1005,7 +1099,15 @@
                     this.nationValue = name;
                  }
                  if (key == "noExplosionCategory" && data.noExplosionCategory) {
                     let {
                        index,
                        name
                     } = this.$getIndex(this.notSwindleTypeList, data.noExplosionCategory, "value",
                        "name")
                     this.notSwindleIndex = [index];
                     this.notSwindleValue = name;
                  }
               })
               this.$set(this.form, "jwd", `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`)
               this.form.building = arr.join("")
@@ -1155,6 +1257,8 @@
               this.form.placeExtEntity.legalIdCard = this.form.principalIdCard;
            }
            add(this.form).then(res => {
               uni.showToast({
                  icon: 'success',
@@ -1261,6 +1365,13 @@
            this.showGenderPicker = false;
         },
         //选择无诈类别
         confirmNotSwindleType(e) {
            this.notSwindleIndex = e.indexs;
            this.notSwindleValue = e.value[0].name;
            this.form.noExplosionCategory = e.value[0].value;
            this.showNotSwindleTypePicker = false;
         },
         //弹出层打开
         popup() {