|  | @@ -1,383 +1,311 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  | -    <van-nav-bar
 | 
	
		
			
				|  |  | -      title="信息上报中心"
 | 
	
		
			
				|  |  | -      left-text=""
 | 
	
		
			
				|  |  | -      left-arrow
 | 
	
		
			
				|  |  | -      @click-left="onClickLeft"
 | 
	
		
			
				|  |  | -    />
 | 
	
		
			
				|  |  | -    <div class="main">
 | 
	
		
			
				|  |  | -      <p class="title">场所检查情况上报</p>
 | 
	
		
			
				|  |  | -      <div class="formArea">
 | 
	
		
			
				|  |  | -        <p class="miniTitle">基础信息</p>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.activity"
 | 
	
		
			
				|  |  | -            center
 | 
	
		
			
				|  |  | -            label="活动名称:"
 | 
	
		
			
				|  |  | -            placeholder="请填写活动名称"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -          />
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.place"
 | 
	
		
			
				|  |  | -            readonly
 | 
	
		
			
				|  |  | -            required
 | 
	
		
			
				|  |  | -            label="场所名称:"
 | 
	
		
			
				|  |  | -            placeholder="请选择"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -            right-icon="arrow-down"
 | 
	
		
			
				|  |  | -            @click="showPlace = true"
 | 
	
		
			
				|  |  | -          />
 | 
	
		
			
				|  |  | -          <van-popup v-model:show="showPlace" round position="bottom">
 | 
	
		
			
				|  |  | -            <van-picker
 | 
	
		
			
				|  |  | -              title="活动场所"
 | 
	
		
			
				|  |  | -              :columns="places"
 | 
	
		
			
				|  |  | -              @cancel="showPlace = false"
 | 
	
		
			
				|  |  | -              @confirm="getPlace"
 | 
	
		
			
				|  |  | -            />
 | 
	
		
			
				|  |  | -          </van-popup>
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.activityTime"
 | 
	
		
			
				|  |  | -            center
 | 
	
		
			
				|  |  | -            readonly
 | 
	
		
			
				|  |  | -            label="活动时间:"
 | 
	
		
			
				|  |  | -            placeholder="请选择时间"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -            right-icon="arrow-down"
 | 
	
		
			
				|  |  | -            @click="showAct = true"
 | 
	
		
			
				|  |  | -          />
 | 
	
		
			
				|  |  | -          <van-popup v-model:show="showAct" round position="bottom">
 | 
	
		
			
				|  |  | -            <van-picker-group
 | 
	
		
			
				|  |  | -              title="活动时间"
 | 
	
		
			
				|  |  | -              :tabs="['选择日期', '选择时间']"
 | 
	
		
			
				|  |  | -              next-step-text="下一步"
 | 
	
		
			
				|  |  | -              @confirm="getTime"
 | 
	
		
			
				|  |  | -              @cancel="showAct = false"
 | 
	
		
			
				|  |  | -            >
 | 
	
		
			
				|  |  | -              <van-date-picker v-model="currentDate" />
 | 
	
		
			
				|  |  | -              <van-time-picker v-model="currentTime" />
 | 
	
		
			
				|  |  | -            </van-picker-group>
 | 
	
		
			
				|  |  | -          </van-popup>
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.countPerson"
 | 
	
		
			
				|  |  | -            center
 | 
	
		
			
				|  |  | -            label="参会人数:"
 | 
	
		
			
				|  |  | -            placeholder="请填写参会人数"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -            type="digit"
 | 
	
		
			
				|  |  | +  <van-nav-bar
 | 
	
		
			
				|  |  | +    title="信息上报中心"
 | 
	
		
			
				|  |  | +    left-text=""
 | 
	
		
			
				|  |  | +    left-arrow
 | 
	
		
			
				|  |  | +    @click-left="onClickLeft"
 | 
	
		
			
				|  |  | +  />
 | 
	
		
			
				|  |  | +  <div class="main">
 | 
	
		
			
				|  |  | +    <p class="title">场所检查情况上报</p>
 | 
	
		
			
				|  |  | +    <div class="formArea">
 | 
	
		
			
				|  |  | +      <p class="miniTitle">基础信息</p>
 | 
	
		
			
				|  |  | +      <van-cell-group>
 | 
	
		
			
				|  |  | +        <van-field
 | 
	
		
			
				|  |  | +          v-model="siteInspection.siteName.name"
 | 
	
		
			
				|  |  | +          readonly
 | 
	
		
			
				|  |  | +          required
 | 
	
		
			
				|  |  | +          label="场所名称:"
 | 
	
		
			
				|  |  | +          placeholder="请选择"
 | 
	
		
			
				|  |  | +          input-align="right"
 | 
	
		
			
				|  |  | +          right-icon="arrow-down"
 | 
	
		
			
				|  |  | +          @click="showPlace = true"
 | 
	
		
			
				|  |  | +        />
 | 
	
		
			
				|  |  | +        <van-popup v-model:show="showPlace" round position="bottom">
 | 
	
		
			
				|  |  | +          <van-picker
 | 
	
		
			
				|  |  | +            title="场所选择"
 | 
	
		
			
				|  |  | +            :columns="places"
 | 
	
		
			
				|  |  | +            :columns-field-names="customFieldName"
 | 
	
		
			
				|  |  | +            @cancel="showPlace = false"
 | 
	
		
			
				|  |  | +            @confirm="getPlace"
 | 
	
		
			
				|  |  |            />
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.list"
 | 
	
		
			
				|  |  | -            center
 | 
	
		
			
				|  |  | -            required
 | 
	
		
			
				|  |  | -            label="已知名单:"
 | 
	
		
			
				|  |  | -            placeholder="请选择参会已知名单"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -            right-icon="arrow-down"
 | 
	
		
			
				|  |  | -            @click="showPerson = true"
 | 
	
		
			
				|  |  | +        </van-popup>
 | 
	
		
			
				|  |  | +      </van-cell-group>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <van-cell-group>
 | 
	
		
			
				|  |  | +        <!-- <van-field
 | 
	
		
			
				|  |  | +          v-model="siteInspection.place"
 | 
	
		
			
				|  |  | +          center
 | 
	
		
			
				|  |  | +          readonly
 | 
	
		
			
				|  |  | +          label="地点:"
 | 
	
		
			
				|  |  | +          placeholder="请填写地点"
 | 
	
		
			
				|  |  | +          input-align="right"
 | 
	
		
			
				|  |  | +          right-icon="arrow-down"
 | 
	
		
			
				|  |  | +          @click="showArea = true"
 | 
	
		
			
				|  |  | +        /> -->
 | 
	
		
			
				|  |  | +        <van-field
 | 
	
		
			
				|  |  | +          v-model="siteInspection.place"
 | 
	
		
			
				|  |  | +          center
 | 
	
		
			
				|  |  | +          readonly
 | 
	
		
			
				|  |  | +          label="地点:"
 | 
	
		
			
				|  |  | +          placeholder="请填写地点"
 | 
	
		
			
				|  |  | +          input-align="right"
 | 
	
		
			
				|  |  | +          right-icon="arrow-down"
 | 
	
		
			
				|  |  | +        />
 | 
	
		
			
				|  |  | +        <van-popup v-model:show="showArea" round position="bottom">
 | 
	
		
			
				|  |  | +          <van-cascader
 | 
	
		
			
				|  |  | +            v-model="cascaderValue"
 | 
	
		
			
				|  |  | +            title="请选择所在地区"
 | 
	
		
			
				|  |  | +            :options="options"
 | 
	
		
			
				|  |  | +            @close="showArea = false"
 | 
	
		
			
				|  |  | +            @finish="onFinish"
 | 
	
		
			
				|  |  | +            :field-names="fieldNames"
 | 
	
		
			
				|  |  |            />
 | 
	
		
			
				|  |  | -          <van-dialog
 | 
	
		
			
				|  |  | -            v-model:show="showPerson"
 | 
	
		
			
				|  |  | -            title="选择人员名单"
 | 
	
		
			
				|  |  | -            show-cancel-button
 | 
	
		
			
				|  |  | -            @confirm="reselected"
 | 
	
		
			
				|  |  | +        </van-popup>
 | 
	
		
			
				|  |  | +      </van-cell-group>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <van-cell-group>
 | 
	
		
			
				|  |  | +        <van-field
 | 
	
		
			
				|  |  | +          v-model="siteInspection.placeDel"
 | 
	
		
			
				|  |  | +          center
 | 
	
		
			
				|  |  | +          label="详细地点:"
 | 
	
		
			
				|  |  | +          placeholder="请填写详细地点"
 | 
	
		
			
				|  |  | +          input-align="right"
 | 
	
		
			
				|  |  | +          right-icon="location"
 | 
	
		
			
				|  |  | +        />
 | 
	
		
			
				|  |  | +      </van-cell-group>
 | 
	
		
			
				|  |  | +      <van-cell-group>
 | 
	
		
			
				|  |  | +        <van-field
 | 
	
		
			
				|  |  | +          v-model="siteInspection.supervisionTime"
 | 
	
		
			
				|  |  | +          center
 | 
	
		
			
				|  |  | +          readonly
 | 
	
		
			
				|  |  | +          label="督查时间:"
 | 
	
		
			
				|  |  | +          placeholder="请选择督查时间"
 | 
	
		
			
				|  |  | +          input-align="right"
 | 
	
		
			
				|  |  | +          right-icon="arrow-down"
 | 
	
		
			
				|  |  | +          @click="showAct = true"
 | 
	
		
			
				|  |  | +        />
 | 
	
		
			
				|  |  | +        <van-popup v-model:show="showAct" round position="bottom">
 | 
	
		
			
				|  |  | +          <van-picker-group
 | 
	
		
			
				|  |  | +            title="督查时间"
 | 
	
		
			
				|  |  | +            :tabs="['选择日期', '选择时间']"
 | 
	
		
			
				|  |  | +            next-step-text="下一步"
 | 
	
		
			
				|  |  | +            @confirm="getTime"
 | 
	
		
			
				|  |  | +            @cancel="showAct = false"
 | 
	
		
			
				|  |  |            >
 | 
	
		
			
				|  |  | -            <person-list @selected="selected"></person-list>
 | 
	
		
			
				|  |  | -          </van-dialog>
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.portname"
 | 
	
		
			
				|  |  | -            center
 | 
	
		
			
				|  |  | -            label="报告人:"
 | 
	
		
			
				|  |  | -            placeholder="请选择报告人"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -            right-icon="arrow-down"
 | 
	
		
			
				|  |  | -          />
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.area"
 | 
	
		
			
				|  |  | -            center
 | 
	
		
			
				|  |  | -            label="参加范围:"
 | 
	
		
			
				|  |  | -            placeholder="请填写参加范围"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -          />
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | +            <van-date-picker v-model="currentDate" />
 | 
	
		
			
				|  |  | +            <van-time-picker v-model="currentTime" :columns-type="columnsType" />
 | 
	
		
			
				|  |  | +          </van-picker-group>
 | 
	
		
			
				|  |  | +        </van-popup>
 | 
	
		
			
				|  |  | +      </van-cell-group>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <van-cell-group>
 | 
	
		
			
				|  |  | +        <van-field name="uploader" label="附件:">
 | 
	
		
			
				|  |  | +          <template #input>
 | 
	
		
			
				|  |  | +            <van-uploader>
 | 
	
		
			
				|  |  | +              <van-button icon="plus">上传文件</van-button>
 | 
	
		
			
				|  |  | +            </van-uploader>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </van-field>
 | 
	
		
			
				|  |  | +      </van-cell-group>
 | 
	
		
			
				|  |  | +      <van-cell-group>
 | 
	
		
			
				|  |  | +        <div class="rowTextArea">
 | 
	
		
			
				|  |  |            <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.activityPlace"
 | 
	
		
			
				|  |  | +            v-model="siteInspection.supervisionContent"
 | 
	
		
			
				|  |  |              center
 | 
	
		
			
				|  |  | -            readonly
 | 
	
		
			
				|  |  | -            label="活动地点:"
 | 
	
		
			
				|  |  | -            placeholder="请填写参加地点"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -            right-icon="arrow-down"
 | 
	
		
			
				|  |  | -            @click="showArea = true"
 | 
	
		
			
				|  |  | +            rows="2"
 | 
	
		
			
				|  |  | +            type="textarea"
 | 
	
		
			
				|  |  | +            label="督查内容:"
 | 
	
		
			
				|  |  | +            label-align="top"
 | 
	
		
			
				|  |  |            />
 | 
	
		
			
				|  |  | -          <van-popup v-model:show="showArea" round position="bottom">
 | 
	
		
			
				|  |  | -            <van-cascader
 | 
	
		
			
				|  |  | -              v-model="cascaderValue"
 | 
	
		
			
				|  |  | -              title="请选择所在地区"
 | 
	
		
			
				|  |  | -              :options="options"
 | 
	
		
			
				|  |  | -              @close="showArea = false"
 | 
	
		
			
				|  |  | -              @finish="onFinish"
 | 
	
		
			
				|  |  | -            />
 | 
	
		
			
				|  |  | -          </van-popup>
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.address"
 | 
	
		
			
				|  |  | -            center
 | 
	
		
			
				|  |  | -            label="详细地址:"
 | 
	
		
			
				|  |  | -            placeholder="请填写活参加地点"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -            right-icon="location"
 | 
	
		
			
				|  |  | -          />
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.money"
 | 
	
		
			
				|  |  | -            center
 | 
	
		
			
				|  |  | -            label="经费来源:"
 | 
	
		
			
				|  |  | -            placeholder="请选择"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -          />
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.activityName"
 | 
	
		
			
				|  |  | -            center
 | 
	
		
			
				|  |  | -            label="活动负责人:"
 | 
	
		
			
				|  |  | -            placeholder="请选择活动负责人"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -            right-icon="arrow-down"
 | 
	
		
			
				|  |  | -            @click="showReport = true"
 | 
	
		
			
				|  |  | -          />
 | 
	
		
			
				|  |  | -          <van-dialog
 | 
	
		
			
				|  |  | -            v-model:show="showReport"
 | 
	
		
			
				|  |  | -            title="选择活动负责人"
 | 
	
		
			
				|  |  | -            show-cancel-button
 | 
	
		
			
				|  |  | -          >
 | 
	
		
			
				|  |  | -            <person-list></person-list>
 | 
	
		
			
				|  |  | -          </van-dialog>
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field
 | 
	
		
			
				|  |  | -            v-model="placeActivity.tel"
 | 
	
		
			
				|  |  | -            center
 | 
	
		
			
				|  |  | -            type="tel"
 | 
	
		
			
				|  |  | -            label="联系方式:"
 | 
	
		
			
				|  |  | -            placeholder="请填写联系方式"
 | 
	
		
			
				|  |  | -            input-align="right"
 | 
	
		
			
				|  |  | -          />
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <van-field name="uploader" label="安全预案:">
 | 
	
		
			
				|  |  | -            <template #input>
 | 
	
		
			
				|  |  | -              <van-uploader>
 | 
	
		
			
				|  |  | -                <van-button icon="plus">上传文件</van-button>
 | 
	
		
			
				|  |  | -              </van-uploader>
 | 
	
		
			
				|  |  | -            </template>
 | 
	
		
			
				|  |  | -          </van-field>
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -        <van-cell-group>
 | 
	
		
			
				|  |  | -          <div class="rowTextArea">
 | 
	
		
			
				|  |  | -            <van-field
 | 
	
		
			
				|  |  | -              v-model="placeActivity.into"
 | 
	
		
			
				|  |  | -              center
 | 
	
		
			
				|  |  | -              rows="2"
 | 
	
		
			
				|  |  | -              type="textarea"
 | 
	
		
			
				|  |  | -              label="主题内容:"
 | 
	
		
			
				|  |  | -              label-align="top"
 | 
	
		
			
				|  |  | -            />
 | 
	
		
			
				|  |  | -          </div>
 | 
	
		
			
				|  |  | -        </van-cell-group>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | -      <div class="subbtn">
 | 
	
		
			
				|  |  | -        <van-button type="primary">提交</van-button>
 | 
	
		
			
				|  |  | -        <van-button type="default" hairline>取消</van-button>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +      </van-cell-group>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  | -  </template>
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -  <script>
 | 
	
		
			
				|  |  | -  import { reactive, ref } from "vue";
 | 
	
		
			
				|  |  | -  import personList from "../personList.vue";
 | 
	
		
			
				|  |  | -  export default {
 | 
	
		
			
				|  |  | -    components: { personList },
 | 
	
		
			
				|  |  | -    setup() {
 | 
	
		
			
				|  |  | -      // 返回
 | 
	
		
			
				|  |  | -      const onClickLeft = () => {
 | 
	
		
			
				|  |  | -        history.back();
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | -      // 活动信息
 | 
	
		
			
				|  |  | -      const placeActivity = reactive({
 | 
	
		
			
				|  |  | -        activity: "",
 | 
	
		
			
				|  |  | -        place: "",
 | 
	
		
			
				|  |  | -        activityTime: "",
 | 
	
		
			
				|  |  | -        countPerson: "",
 | 
	
		
			
				|  |  | -        list: "",
 | 
	
		
			
				|  |  | -        portname: "",
 | 
	
		
			
				|  |  | -        area: "",
 | 
	
		
			
				|  |  | -        activityPlace: "",
 | 
	
		
			
				|  |  | -        address: "",
 | 
	
		
			
				|  |  | -        money: "",
 | 
	
		
			
				|  |  | -        activityName: "",
 | 
	
		
			
				|  |  | -        tel: "",
 | 
	
		
			
				|  |  | -        file: "",
 | 
	
		
			
				|  |  | -        into: "",
 | 
	
		
			
				|  |  | +    <div class="subbtn">
 | 
	
		
			
				|  |  | +      <van-button type="primary" @click="submit">提交</van-button>
 | 
	
		
			
				|  |  | +      <van-button type="default" hairline>取消</van-button>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import { reactive, ref } from "vue";
 | 
	
		
			
				|  |  | +import personList from "../personList.vue";
 | 
	
		
			
				|  |  | +import siteInspectionServer from "@/api/siteInspection/siteInspectionServer";
 | 
	
		
			
				|  |  | +import tools from "@/api/sys/tools";
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  components: { personList },
 | 
	
		
			
				|  |  | +  setup() {
 | 
	
		
			
				|  |  | +    const onClickLeft = () => {
 | 
	
		
			
				|  |  | +      history.back();
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +    const siteInspection = reactive({
 | 
	
		
			
				|  |  | +      id: "",
 | 
	
		
			
				|  |  | +      siteName: {
 | 
	
		
			
				|  |  | +        id: "",
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      place: "",
 | 
	
		
			
				|  |  | +      placeDel: "",
 | 
	
		
			
				|  |  | +      supervisionTime: "",
 | 
	
		
			
				|  |  | +      supervisionContent: "",
 | 
	
		
			
				|  |  | +      //附件
 | 
	
		
			
				|  |  | +      enclosure: "",
 | 
	
		
			
				|  |  | +      state: "0",
 | 
	
		
			
				|  |  | +      assessment: "0",
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    // 场所名称
 | 
	
		
			
				|  |  | +    let places = ref([]);
 | 
	
		
			
				|  |  | +    const customFieldName = {
 | 
	
		
			
				|  |  | +      text: "name",
 | 
	
		
			
				|  |  | +      value: "id",
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +    new tools()
 | 
	
		
			
				|  |  | +      .placeList({
 | 
	
		
			
				|  |  | +        current: 1,
 | 
	
		
			
				|  |  | +        size: 10000,
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +      .then(({ records }) => {
 | 
	
		
			
				|  |  | +        places.value.push(...records);
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  | -      // 场所名称
 | 
	
		
			
				|  |  | -      const places = [
 | 
	
		
			
				|  |  | -        { text: "杭州", value: "Hangzhou" },
 | 
	
		
			
				|  |  | -        { text: "宁波", value: "Ningbo" },
 | 
	
		
			
				|  |  | -        { text: "温州", value: "Wenzhou" },
 | 
	
		
			
				|  |  | -        { text: "绍兴", value: "Shaoxing" },
 | 
	
		
			
				|  |  | -        { text: "湖州", value: "Huzhou" },
 | 
	
		
			
				|  |  | -      ];
 | 
	
		
			
				|  |  | -      let showPlace = ref(false);
 | 
	
		
			
				|  |  | -      const getPlace = ({ selectedOptions }) => {
 | 
	
		
			
				|  |  | -        showPlace.value = false;
 | 
	
		
			
				|  |  | -        placeActivity.place = selectedOptions[0].text;
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | -      // 获取活动时间
 | 
	
		
			
				|  |  | -      let showAct = ref(false);
 | 
	
		
			
				|  |  | -      let currentDate = ref(["" + new Date().getFullYear(), "01", "01"]);
 | 
	
		
			
				|  |  | -      let currentTime = ref(["00", "00"]);
 | 
	
		
			
				|  |  | -      const getTime = () => {
 | 
	
		
			
				|  |  | -        showAct.value = false;
 | 
	
		
			
				|  |  | -        placeActivity.activityTime = `${currentDate.value.join(
 | 
	
		
			
				|  |  | -          "-"
 | 
	
		
			
				|  |  | -        )} ${currentTime.value.join(":")}`;
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | -      // 已知名单
 | 
	
		
			
				|  |  | -      let showPerson = ref(false);
 | 
	
		
			
				|  |  | -      // 活动负责人
 | 
	
		
			
				|  |  | -      let showReport = ref(false);
 | 
	
		
			
				|  |  | -      const show = () => {
 | 
	
		
			
				|  |  | -        showPerson = true;
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | -      let list = "";
 | 
	
		
			
				|  |  | -      const selected = (val) => {
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | -        list = val;
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | -      const reselected = () => {
 | 
	
		
			
				|  |  | -        placeActivity.list = list;
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | +    let showPlace = ref(false);
 | 
	
		
			
				|  |  | +    const getPlace = ({ selectedOptions }) => {
 | 
	
		
			
				|  |  | +      showPlace.value = false;
 | 
	
		
			
				|  |  | +      siteInspection.siteName = selectedOptions[0];
 | 
	
		
			
				|  |  | +      console.log(selectedOptions[0].placeSelectName);
 | 
	
		
			
				|  |  | +      siteInspection.place = selectedOptions[0].placeSelectName
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +    // 获取督查时间
 | 
	
		
			
				|  |  | +    let showAct = ref(false);
 | 
	
		
			
				|  |  | +    let currentDate = ref(["" + new Date().getFullYear(), "01", "01"]);
 | 
	
		
			
				|  |  | +    let currentTime = ref(["00", "00"]);
 | 
	
		
			
				|  |  | +    const columnsType = ['hour', 'minute', 'second'];
 | 
	
		
			
				|  |  | +    const getTime = () => {
 | 
	
		
			
				|  |  | +      showAct.value = false;
 | 
	
		
			
				|  |  | +      siteInspection.supervisionTime = `${currentDate.value.join(
 | 
	
		
			
				|  |  | +        "-"
 | 
	
		
			
				|  |  | +      )} ${currentTime.value.join(":")}`;
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +    let list = {
 | 
	
		
			
				|  |  | +      value: [],
 | 
	
		
			
				|  |  | +      type: "",
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // 地区选择
 | 
	
		
			
				|  |  | +    let showArea = ref(false);
 | 
	
		
			
				|  |  | +    const cascaderValue = ref("");
 | 
	
		
			
				|  |  | +    const fieldNames = {
 | 
	
		
			
				|  |  | +      text: "name",
 | 
	
		
			
				|  |  | +      value: "code",
 | 
	
		
			
				|  |  | +      children: "children",
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +    // 选项列表,children 代表子选项,支持多级嵌套
 | 
	
		
			
				|  |  | +    let options = ref([]);
 | 
	
		
			
				|  |  | +    new tools().treeData().then((res) => {
 | 
	
		
			
				|  |  | +      options.value.push(res[0]);
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    // 全部选项选择完毕后,会触发 finish 事件
 | 
	
		
			
				|  |  | +    const onFinish = ({ selectedOptions }) => {
 | 
	
		
			
				|  |  | +      showArea.value = false;
 | 
	
		
			
				|  |  | +      siteInspection.place = selectedOptions
 | 
	
		
			
				|  |  | +        .map((option) => option.name)
 | 
	
		
			
				|  |  | +        .join("/");
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +    // 提交数据
 | 
	
		
			
				|  |  | +    const submit = () => {
 | 
	
		
			
				|  |  | +      //添加保存前判断
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      new siteInspectionServer().save(siteInspection).then((res) => {
 | 
	
		
			
				|  |  | +        if(res.data=="保存场所检查情况成功"){
 | 
	
		
			
				|  |  | +          console.log("保存成功");
 | 
	
		
			
				|  |  | +          //添加保存后跳转
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      siteInspection,
 | 
	
		
			
				|  |  | +      // 场所
 | 
	
		
			
				|  |  | +      customFieldName,
 | 
	
		
			
				|  |  | +      showPlace,
 | 
	
		
			
				|  |  | +      places,
 | 
	
		
			
				|  |  | +      getPlace,
 | 
	
		
			
				|  |  | +      // 时间
 | 
	
		
			
				|  |  | +      showAct,
 | 
	
		
			
				|  |  | +      currentDate,
 | 
	
		
			
				|  |  | +      currentTime,
 | 
	
		
			
				|  |  | +      columnsType,
 | 
	
		
			
				|  |  | +      getTime,
 | 
	
		
			
				|  |  | +      // 返回
 | 
	
		
			
				|  |  | +      onClickLeft,
 | 
	
		
			
				|  |  |        // 地区选择
 | 
	
		
			
				|  |  | -      let showArea = ref(false);
 | 
	
		
			
				|  |  | -      const cascaderValue = ref("");
 | 
	
		
			
				|  |  | -      // 选项列表,children 代表子选项,支持多级嵌套
 | 
	
		
			
				|  |  | -      const options = [
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -          text: "浙江省",
 | 
	
		
			
				|  |  | -          value: "330000",
 | 
	
		
			
				|  |  | -          children: [{ text: "杭州市", value: "330100" }],
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -          text: "江苏省",
 | 
	
		
			
				|  |  | -          value: "320000",
 | 
	
		
			
				|  |  | -          children: [{ text: "南京市", value: "320100" }],
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -      ];
 | 
	
		
			
				|  |  | -      // 全部选项选择完毕后,会触发 finish 事件
 | 
	
		
			
				|  |  | -      const onFinish = ({ selectedOptions }) => {
 | 
	
		
			
				|  |  | -        showArea.value = false;
 | 
	
		
			
				|  |  | -        placeActivity.activityPlace = selectedOptions
 | 
	
		
			
				|  |  | -          .map((option) => option.text)
 | 
	
		
			
				|  |  | -          .join("/");
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | -      return {
 | 
	
		
			
				|  |  | -        placeActivity,
 | 
	
		
			
				|  |  | -        // 活动场所
 | 
	
		
			
				|  |  | -        showPlace,
 | 
	
		
			
				|  |  | -        places,
 | 
	
		
			
				|  |  | -        getPlace,
 | 
	
		
			
				|  |  | -        // 活动时间
 | 
	
		
			
				|  |  | -        showAct,
 | 
	
		
			
				|  |  | -        currentDate,
 | 
	
		
			
				|  |  | -        currentTime,
 | 
	
		
			
				|  |  | -        getTime,
 | 
	
		
			
				|  |  | -        // 返回
 | 
	
		
			
				|  |  | -        onClickLeft,
 | 
	
		
			
				|  |  | -        // 人员选择
 | 
	
		
			
				|  |  | -        showPerson,
 | 
	
		
			
				|  |  | -        showReport,
 | 
	
		
			
				|  |  | -        selected,
 | 
	
		
			
				|  |  | -        reselected,
 | 
	
		
			
				|  |  | -        // 地区选择
 | 
	
		
			
				|  |  | -        showArea,
 | 
	
		
			
				|  |  | -        options,
 | 
	
		
			
				|  |  | -        onFinish,
 | 
	
		
			
				|  |  | -        cascaderValue,
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -  };
 | 
	
		
			
				|  |  | -  </script>
 | 
	
		
			
				|  |  | -  
 | 
	
		
			
				|  |  | -  <style scoped>
 | 
	
		
			
				|  |  | -  * {
 | 
	
		
			
				|  |  | -    margin: 0;
 | 
	
		
			
				|  |  | -    padding: 0;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .main p {
 | 
	
		
			
				|  |  | -    height: 40px;
 | 
	
		
			
				|  |  | -    line-height: 40px;
 | 
	
		
			
				|  |  | -    color: #36a7f3;
 | 
	
		
			
				|  |  | -    border-bottom: 1px solid #eee;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .title {
 | 
	
		
			
				|  |  | -    font-size: 20px;
 | 
	
		
			
				|  |  | -    font-weight: 700;
 | 
	
		
			
				|  |  | -    padding-left: 20px;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .miniTitle {
 | 
	
		
			
				|  |  | -    font-size: 16px;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .formArea {
 | 
	
		
			
				|  |  | -    padding: 0px 20px;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .formArea .van-cell-group .van-field__label {
 | 
	
		
			
				|  |  | -    height: 40px;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .formArea .van-cell-group .van-cell {
 | 
	
		
			
				|  |  | -    line-height: 40px;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .van-cell__value .van-field__right-icon .van-icon-location {
 | 
	
		
			
				|  |  | -    color: #36a7f3!important;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .rowTextArea::v-deep .van-field__value {
 | 
	
		
			
				|  |  | -    width: 98%;
 | 
	
		
			
				|  |  | -    border: 2px solid #ccc;
 | 
	
		
			
				|  |  | -    border-radius: 10px;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .rowTextArea::v-deep .van-cell {
 | 
	
		
			
				|  |  | -    display: flow-root;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .subbtn {
 | 
	
		
			
				|  |  | -    margin: 20px;
 | 
	
		
			
				|  |  | -    text-align: center;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .subbtn .van-button {
 | 
	
		
			
				|  |  | -    width: 40%;
 | 
	
		
			
				|  |  | -    margin: 5px;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .van-uploader .van-button {
 | 
	
		
			
				|  |  | -    border: none;
 | 
	
		
			
				|  |  | -    color: #36a7f3;
 | 
	
		
			
				|  |  | -    top: -4px;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .van-dialog {
 | 
	
		
			
				|  |  | -    width: 80%;
 | 
	
		
			
				|  |  | -    top: 50%;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  </style>
 | 
	
		
			
				|  |  | +      showArea,
 | 
	
		
			
				|  |  | +      fieldNames,
 | 
	
		
			
				|  |  | +      options,
 | 
	
		
			
				|  |  | +      onFinish,
 | 
	
		
			
				|  |  | +      cascaderValue,
 | 
	
		
			
				|  |  | +      submit,
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<style scoped>
 | 
	
		
			
				|  |  | +* {
 | 
	
		
			
				|  |  | +  margin: 0;
 | 
	
		
			
				|  |  | +  padding: 0;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.main {
 | 
	
		
			
				|  |  | +  background: #fff;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.main p {
 | 
	
		
			
				|  |  | +  height: 40px;
 | 
	
		
			
				|  |  | +  line-height: 40px;
 | 
	
		
			
				|  |  | +  color: #36a7f3;
 | 
	
		
			
				|  |  | +  border-bottom: 1px solid #eee;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.title {
 | 
	
		
			
				|  |  | +  font-size: 20px;
 | 
	
		
			
				|  |  | +  font-weight: 700;
 | 
	
		
			
				|  |  | +  padding-left: 20px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.miniTitle {
 | 
	
		
			
				|  |  | +  font-size: 16px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.formArea {
 | 
	
		
			
				|  |  | +  padding: 0px 20px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.formArea .van-cell-group .van-field__label {
 | 
	
		
			
				|  |  | +  height: 40px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.formArea .van-cell-group .van-cell {
 | 
	
		
			
				|  |  | +  line-height: 40px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.van-cell__value .van-field__right-icon .van-icon-location {
 | 
	
		
			
				|  |  | +  color: #36a7f3 !important;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.rowTextArea::v-deep .van-field__value {
 | 
	
		
			
				|  |  | +  width: 94%;
 | 
	
		
			
				|  |  | +  border: 2px solid #ccc;
 | 
	
		
			
				|  |  | +  border-radius: 10px;
 | 
	
		
			
				|  |  | +  padding: 10px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.rowTextArea::v-deep .van-cell {
 | 
	
		
			
				|  |  | +  display: flow-root;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.subbtn {
 | 
	
		
			
				|  |  | +  margin: 20px;
 | 
	
		
			
				|  |  | +  text-align: center;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.subbtn .van-button {
 | 
	
		
			
				|  |  | +  width: 40%;
 | 
	
		
			
				|  |  | +  margin: 5px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.van-uploader .van-button {
 | 
	
		
			
				|  |  | +  border: none;
 | 
	
		
			
				|  |  | +  color: #36a7f3;
 | 
	
		
			
				|  |  | +  top: -4px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.van-dialog {
 | 
	
		
			
				|  |  | +  width: 80%;
 | 
	
		
			
				|  |  | +  top: 50%;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 |