Lou
2023-11-10 197f13dbcf007eac8dd9a307aae992df677ea8f6
subPackage/workbench/views/reportAudit.vue
@@ -15,7 +15,7 @@
            <view class="text">事件照片</view>
         </view>
         <view class="pic-data">
            <u-image class="img" v-for="i in 1" src="" width="80" height="80"></u-image>
            <u-image class="img" :src="imgUrls" width="80" height="80"></u-image>
         </view>
      </view>
      <view class="audit-box">
@@ -27,7 +27,7 @@
            <u-form labelWidth="70" :model="form" class="form" ref="form">
               <u-form-item label="事件状态" @click="isPickerShow = true" class="form-item">
                  <u--input v-model="form.confirmFlag" disabled disabledColor="#ffffff" placeholder="请选择审核状态"
                     border="none"></u--input>
                     border="none" :placeholder="defaultPlaceholder"></u--input>
                  <u-icon slot="right" name="arrow-right"></u-icon>
               </u-form-item>
               <u-form-item label="备注" class="form-item">
@@ -39,14 +39,16 @@
      <view class="bottom">
         <u-button type="primary" @click="submit">提交处理</u-button>
      </view>
      <u-picker :closeOnClickOverlay="true" @close="isPickerShow = false" :show="isPickerShow" ref="uPicker"
      <u-picker :defaultIndex="[defaultColums]" :closeOnClickOverlay="true" @close="isPickerShow = false" :show="isPickerShow" ref="uPicker"
         :columns="columns" keyName="name" @cancel="isPickerShow = false" @confirm="handleConfirm"></u-picker>
   </view>
</template>
<script>
   import lineItem from '../components/lineItem.vue'
   import { checkReportForRepairsData } from '@/api/task/taskReportForRepairs.js'
   import lineItem from '../components/lineItem.vue'
   import {
      checkReportForRepairsData
   } from '@/api/task/taskReportForRepairs.js'
   export default {
      components: {
         lineItem
@@ -54,31 +56,61 @@
      data() {
         return {
            basicData: [{
                  label: '当前位置',
                  label: '当前位置',
                  name: 'address',
                  value: '未完善'
               },
               {
                  label: '业主',
                  label: '业主',
                  name: 'realName',
                  value: '未完善'
               },
               {
                  label: '手机号码',
                  label: '手机号码',
                  name: 'phone',
                  value: '未完善'
               },
               {
                  label: '事件类型',
                  label: '事件类型',
                  name: 'type',
                  value: '未完善'
               },
               {
                  label: '事件描述',
                  label: '事件描述',
                  name: 'confirmNotion',
                  value: '未完善'
               }
            ],
            typeList: [{
                  name: "公共维修",
                  type: 1
               },
               {
                  name: "居家维修",
                  type: 2
               },
               {
                  name: "矛盾纠纷",
                  type: 3
               },
               {
                  name: "投诉举报",
                  type: 4
               },
               {
                  name: "企业商户上报",
                  type: 5
               }
            ],
            form: {
               confirmFlag: '待审核',
               confirmFlag: '',
               confirmNotion: ''
            },
            defaultPlaceholder: "",
            defaultColums: 0,
            imgUrls: '',
            currentId: '',
            defaultData: {},
            isPickerShow: false,
            columns: [
               [{
@@ -96,52 +128,76 @@
               ]
            ]
         }
      },
      onLoad(option) {
         const { id } = option
         this.currentId = id
      },
      methods: {
         async checkReportForRepairs() {
            const { confirmFlag, confirmNotion } = this.form
            const res = await checkReportForRepairsData({
               id: this.currentId,
               confirmFlag: this.findObjValue(confirmFlag, this.columns[0]).status,
               confirmNotion
            })
            if (res.code !== 200) {
               uni.showToast({
                  title: "提交处理失败",
                  icon: "error"
               })
               return
            }
            uni.showToast({
               title: "处理事件成功",
               icon: "success",
               duration: 1500,
               complete() {
                  setTimeout(() =>{
                     uni.navigateBack()
                  }, 1500)
      onLoad(option) {
         // const { id } = option
         // this.currentId = id
         const {
            data
         } = option
         this.defaultData = JSON.parse(data)
      },
      onShow() {
         this.setDefaultValue()
      },
      methods: {
         async checkReportForRepairs() {
            const {
               confirmFlag,
               confirmNotion
            } = this.form
            const res = await checkReportForRepairsData({
               // id: this.currentId,
               id: this.defaultData.id,
               confirmFlag: this.findObjValue(confirmFlag, this.columns[0], 'name').status,
               confirmNotion
            })
            if (res.code !== 200) {
               uni.showToast({
                  title: "提交处理失败",
                  icon: "error"
               })
               return
            }
            uni.showToast({
               title: "处理事件成功",
               icon: "success",
               duration: 1500,
               complete() {
                  setTimeout(() => {
                     uni.navigateBack()
                  }, 1500)
               }
            })
         },
         setDefaultValue() {
            console.log(this.defaultData);
            this.basicData.forEach(item => {
               item.value = this.defaultData[item.name] || '未完善'
               if (item.name === 'type') {
                  item.value = this.findObjValue(item.value, this.typeList, 'type').name || '未完善'
               }
            })
            this.imgUrls = this.defaultData.imgUrls
            let columns = this.columns[0]
            this.defaultColums = columns.findIndex(item => item.status == this.defaultData.confirmFlag)
            this.defaultPlaceholder = columns[this.defaultColums].name
         },
         submit() {
            this.checkReportForRepairs()
         submit() {
            this.checkReportForRepairs()
         },
         handleConfirm(e) {
            this.form.confirmFlag = e.value[0].name
            this.isPickerShow = false
         },
         findObjValue(value, obj) {
            const res = obj.find(item => {
               return item.name == value
            })
            return res
         },
         findObjValue(value, obj, word) {
            const res = obj.find(item => {
               return item[word] == value
            })
            return res
         },
      }
   }