wjt
2024-06-25 244d89b41c0e0e995d38f635a126a0959b9ba25b
policy/policyApply/policyApply.vue
@@ -6,16 +6,17 @@
               <view class="form-label require">
                  执法主题
               </view>
               <input type="text" placeholder="请输入" v-model="form.enforceReason"/>
               <input type="text" placeholder="请输入" v-model.trim="form.enforceReason"/>
            </view>
            <view class="form-item">
               <view class="form-label require">
                  执法对象
               </view>
               <view class="input">
                  <input type="text"  placeholder="请输入" v-model="form.companyName"/>
                  <!-- <u-icon name="arrow-right"></u-icon> -->
                  <u-text text='搜索' type="primary" @click="search"></u-text>
               <view class="input" @click="search">
                  <input type="text" style="width: 80%;" disabled  placeholder="请输入" :value="form.companyName"/>
                  <u-icon name="arrow-right"></u-icon>
                  <!-- <u-text text='搜索' type="primary" style="width: 20%;" @click="search"></u-text> -->
               </view>
            </view>
            <view class="form-item">
@@ -23,7 +24,7 @@
                  执法时间
               </view>
               <view class="input" @click="showTimeFun">
                  <input type="text" placeholder="请输入" disabled v-model="form.planTimeStr"/>
                  <input type="text" placeholder="请输入" disabled v-model.trim="form.planTimeStr"/>
                  <u-icon name="arrow-right"></u-icon>
               </view>
            </view>
@@ -32,7 +33,7 @@
                  执法类型
               </view>
               <view class="input">
                  <input type="text" placeholder="请输入" v-model="form.enforceTypeName" disabled/>
                  <input type="text" placeholder="请输入" v-model.trim="form.enforceTypeName" disabled/>
                  <u-icon name="arrow-right"></u-icon>
               </view>
            </view>
@@ -41,7 +42,7 @@
                  执法内容
               </view>
               <view class="back">
                  <u--textarea :height="120" v-model="form.enforceContent" placeholder="请输入" count maxlength="500"></u--textarea>
                  <u--textarea :height="120" v-model.trim="form.enforceContent" placeholder="请输入" count maxlength="500"></u--textarea>
               </view>
            </view>
         </view>
@@ -52,13 +53,13 @@
               <view class="form-label">
                  执法人员
               </view>
               <input type="text" placeholder="请输入" v-model="form.applyUser" disabled/>
               <input type="text" placeholder="请输入" v-model.trim="form.applyUser" disabled/>
            </view>
            <view class="form-item">
               <view class="form-label">
                  执法部门
               </view>
               <input type="text" placeholder="请输入" v-model="form.applyDeptName" disabled/>
               <input type="text" placeholder="请输入" v-model.trim="form.applyDeptName" disabled/>
            </view>
            <view class="form-item sui" style="align-items: flex-start;" @click="openPer">
               <view class="form-label require ">
@@ -122,24 +123,17 @@
      </u-form> -->
<!--       <u-button @click="submitApply">提交申请</u-button>
      <u-button @click="applyRecord">申请记录</u-button> -->
      <u-picker :show="show" @close="show = false" @confirm="confirmSearch" @cancel="show = false" :columns="columns" keyName="companyName"></u-picker>
      <!-- <u-datetime-picker
         :show="showTime"
         @close="showTime = false"
         @cancel="showTime = false"
         @confirm="confirmTime"
         :minDate="minDate"
         v-model="currentTime"
         @change="changeValue"
         mode="datetime"
         ref="datetimePicker"
         ></u-datetime-picker> -->
      <!-- <u-picker :show="show"   @close="show = false" :immediateChange="true" @confirm="confirmSearch" @cancel="show = false" :columns="columns" keyName="companyName">
      </u-picker> -->
      <perPicker ref="perPicker" :immediateChange="true" @confirm="confirmSearch" @cancel="show = false" :columns="columns" keyName="companyName"></perPicker>
          <yt-dateTimePicker
               ref="myPicker"
               @submit="confirmTime"
               :start-year="year"
               :end-year="endYear"
               :time-init="timeInit"
              :start-year="year"
              :startMonth="month"
               :time-hide="[true, true, true, true, false, false]"
             />
         <u-picker :show="showType" @close="showType = false" @confirm="confirmType" @cancel="showType = false" :columns="columnsType" keyName="dictLabel"></u-picker>
@@ -152,11 +146,13 @@
   import { getInfo } from '@/api/auth.js'
   import { getDicts } from '@/api/data'
   import perPage from './perPage'
   import perPicker from './perPicker'
   import YtDateTimePicker from "uni_modules/yt-dateTimePicker/components/yt-dateTimePicker/yt-dateTimePicker.vue"
   export default {
      components: {
         YtDateTimePicker,
         perPage
         perPage,
         perPicker
      },
      data() {
         return {
@@ -170,7 +166,8 @@
               planTimeStr: '',
               peers: [],
               orderStatus: 1,
               enforceContent: ""
               enforceContent: "",
               companyName: ""
            },
            show: false,
            columns: [],
@@ -181,14 +178,18 @@
            year: '',
            endYear: '',
            timeInit: '',
            list: []
            list: [],
            startTime: "",
            month: ''
         }
      },
      onLoad() {
         this.year = new Date().getFullYear()
         this.month = new Date().getMonth() + 1
         this.endYear = this.year + 5
         this.minDate = new Date().valueOf()
         this.timeInit = this.$u.timeFormat(new Date(), 'yyyy-mm-dd')
         this.timeInit = this.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM')
         this.startTime =this.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM')
         this.getInfo()
         this.getDicts()
         this.enforceList()
@@ -233,11 +234,11 @@
            return options;
         },
         authFile() {
            if(!this.form.enforceReason){
            if(!this.form.enforceReason || !this.form.enforceReason.replace(/\s+/g, "")){
               return '请填写主题'
            }
            if(!this.form.companyName){
               return '请填写确认执法对象'
            if(!this.form.companyName || !this.form.companyName.replace(/\s+/g, "")){
               return '请选择执法对象'
            }
            if(!this.form.companyId) {
               return '请点击搜索确认执法对象'
@@ -248,11 +249,12 @@
            if(!this.form.enforceTypeName){
               return '请选择执法类型'
            }
            if(!this.form.enforceContent) {
            console.log(!this.form.enforceContent.replace(/\s+/g, ""))
            if(!this.form.enforceContent || !this.form.enforceContent.replace(/\s+/g, "")) {
               return '请填写执法内容'
            }
            if(!this.form.peers.length){
               return '请添加同行人'
               return '请选择随行人员'
            }
            return ''
         },
@@ -283,35 +285,38 @@
            })
         },
         search() {
            companyList({companyName: this.form.companyName}).then(val => {
               if(val.data.code == 200){
                  if(!val.data.rows.length || !val.data.rows){
                     uni.showToast({
                        title: '没有符合的数据,请检查输入的执法对象',
                        icon: 'none',
                        duration: 3000
                     })
                  } else {
                     this.columns = [val.data.rows]
                     this.show = true
                  }
            // companyList({companyName: this.form.companyName}).then(val => {
            //    if(val.data.code == 200){
            //       if(!val.data.rows.length || !val.data.rows){
            //          uni.showToast({
            //             title: '没有符合的数据,请检查输入的执法对象',
            //             icon: 'none',
            //             duration: 3000
            //          })
            //       } else {
            //       }
                  
               }
            })
            //    }
            // })
            this.$refs.perPicker.open()
         },
         confirmSearch(e){
            const value =   this.columns[0].find(item => item.companyName == e.value[0].companyName)
            this.form.companyName = e.value[0].companyName
            let value = e
            // const value =   this.columns[0].find(item => item.companyName == e.value[0].companyName)
            this.form.companyName = e.companyName
            this.form.companyCode = value.companyCode
            this.form.companyId    = value.companyId   
            this.form.companyPhone = value.companyPhone
            this.form.companyUser = value.companyUser
            this.form.companyAddress = value.companyAddress
            this.show = false
            console.log(this.form.companyName)
         },
         confirmTime(e) {
            this.form.planTime = e.year + '-' + e.month+ '-' + + e.day + ' ' + e.hour + ":" + "00:00"
            this.form.planTimeStr = e.year + '-' + e.month+ '-' + + e.day + ' ' + e.hour
            this.form.planTimeStr = e.year + '-' + e.month+ '-' + + e.day + ' ' + e.hour + ":" + "00"
            this.timeInit = this.$u.timeFormat(new Date(this.form.planTimeStr), 'yyyy-mm-dd hh:MM')
         },
         showTimeFun() {
            // this.showTime = true
@@ -333,6 +338,7 @@
            this.$refs.perpage.open(this.list)
         },
         selectValue(value) {
            this.form.peers = []
            this.list.forEach(item => {
               if(value.includes(item.userId)) {
                  this.form.peers.push({