wjt
2024-06-26 59f4dc012a2c42eebd31301444e0f8df9af088e0
qiye/record/details.vue
@@ -7,9 +7,9 @@
      </u-navbar>
      <view class="donw-box"></view>
      <view class="page-main">
         <view class="title">
            <template v-if="msg.isEva==0">未评价</template>
            <template v-if="msg.isEva==1">已评价</template>
         <view class="title">
            <template v-if="msg.isEva==0">未评价</template>
            <template v-if="msg.isEva==1">已评价</template>
            <template v-if="msg.orderStatus==2">待执法</template>
         </view>
         <view class="wbox">
@@ -64,10 +64,10 @@
                  {{msg.regionReason || '执法过程待上报'}}
               </view>
            </view>
            <view class="imgbox"  v-if="img.length">
            <view class="imgbox"  v-if="img.length">
               <template >
                  <img v-for="(item,index) in img" :key="index" :src="item" class="more" alt="" @click="imgclick(item)" />
               </template>
               </template>
               
               <!-- <img src="/static/i01.png" class="more" @click="imgclick('/static/i01.png')" alt="" />
               <img src="/static/i02.png" class="more" alt="" />
@@ -95,66 +95,66 @@
         <view class="wbox2" v-if="msg.isEva==1">
            <view class="t">
               执法评价
            </view>
            <template v-for="(item,index) in qlist">
               <view class="sbox" v-if="item.questionType==2">
                  <view class="t2">
                     {{item.questionName}}
                  </view>
                  <view class="xbox">
                     <view>
                        <img src="/static/qiye/xing1.png" alt="" />
                        <view>
                           很糟糕
                        </view>
                     </view>
                     <view>
                        <img v-if="item.getScore>=2" src="/static/qiye/xing1.png" alt="" />
                        <img v-else src="/static/qiye/xing2.png" alt="" />
                        <view :class="item.getScore==2?'hei':''">
                           不满意
                        </view>
                     </view>
                     <view>
                        <img v-if="item.getScore>=3" src="/static/qiye/xing1.png" alt="" />
                        <img v-else src="/static/qiye/xing2.png" alt="" />
                        <view :class="item.getScore==3?'hei':''">
                           一般般
                        </view>
                     </view>
                     <view>
                        <img v-if="item.getScore>=4" src="/static/qiye/xing1.png" alt="" />
                        <img v-else src="/static/qiye/xing2.png" alt="" />
                        <view :class="item.getScore==4?'hei':''">
                           满意
                        </view>
                     </view>
                     <view>
                        <img v-if="item.getScore>=5" src="/static/qiye/xing1.png" alt="" />
                        <img v-else src="/static/qiye/xing2.png" alt="" />
                        <view :class="item.getScore==5?'hei':''">
                           非常满意
                        </view>
                     </view>
                  </view>
                  <view class="line"></view>
               </view>
               <view class="sbox" v-if="item.questionType==1">
                  <view class="t2">
                     {{item.questionName}}
                  </view>
                  <u-radio-group v-model="item.remark">
                     <u-radio v-for="(aa, ii) in item.answerList" :key="ii" :name="aa.answerId"
                     :disabled="item.remark!=aa.answerId">
                        {{aa.answerName}}
                     </u-radio>
                  </u-radio-group>
                  <!-- <u-radio-group v-model="value">
                     <u-radio name="orange">选中</u-radio>
                     <u-radio name="1" :disabled="true">未选中</u-radio>
                  </u-radio-group> -->
                  <view class="line"></view>
               </view>
            </view>
            <template v-for="(item,index) in qlist">
               <view class="sbox" v-if="item.questionType==2">
                  <view class="t2">
                     {{item.questionName}}
                  </view>
                  <view class="xbox">
                     <view>
                        <img src="/static/qiye/xing1.png" alt="" />
                        <view>
                           很糟糕
                        </view>
                     </view>
                     <view>
                        <img v-if="item.getScore>=2" src="/static/qiye/xing1.png" alt="" />
                        <img v-else src="/static/qiye/xing2.png" alt="" />
                        <view :class="item.getScore==2?'hei':''">
                           不满意
                        </view>
                     </view>
                     <view>
                        <img v-if="item.getScore>=3" src="/static/qiye/xing1.png" alt="" />
                        <img v-else src="/static/qiye/xing2.png" alt="" />
                        <view :class="item.getScore==3?'hei':''">
                           一般般
                        </view>
                     </view>
                     <view>
                        <img v-if="item.getScore>=4" src="/static/qiye/xing1.png" alt="" />
                        <img v-else src="/static/qiye/xing2.png" alt="" />
                        <view :class="item.getScore==4?'hei':''">
                           满意
                        </view>
                     </view>
                     <view>
                        <img v-if="item.getScore>=5" src="/static/qiye/xing1.png" alt="" />
                        <img v-else src="/static/qiye/xing2.png" alt="" />
                        <view :class="item.getScore==5?'hei':''">
                           非常满意
                        </view>
                     </view>
                  </view>
                  <view class="line"></view>
               </view>
               <view class="sbox" v-if="item.questionType==1">
                  <view class="t2">
                     {{item.questionName}}
                  </view>
                  <u-radio-group v-model="item.remark">
                     <u-radio v-for="(aa, ii) in item.answerList" :key="ii" :name="aa.answerId"
                     :disabled="item.remark!=aa.answerId">
                        {{aa.answerName}}
                     </u-radio>
                  </u-radio-group>
                  <!-- <u-radio-group v-model="value">
                     <u-radio name="orange">选中</u-radio>
                     <u-radio name="1" :disabled="true">未选中</u-radio>
                  </u-radio-group> -->
                  <view class="line"></view>
               </view>
            </template>
            
            
@@ -169,16 +169,21 @@
         </view>
      </view>
      <view class="bottom" v-if="msg.orderStatus==3 || msg.orderStatus== 4">
         <view class="one" v-if="msg.isEva==1">
         <view class="one" v-if="msg.isComplaint != 1 && msg.isEva == 1">
            <view class="b1" @click="open()">
               投诉
            </view>
         </view>
         <view class="two" v-if="msg.isEva==0">
            <view class="b2" @click="open()">
         <view class="two" v-if="msg.isComplaint != 1 && msg.isEva != 1">
            <view class="b2" @click="open()" >
               投诉
            </view>
            <view class="b3" @click="pingjia()">
               我要评价
            </view>
         </view>
         <view class="one" v-if="msg.isComplaint == 1 && msg.isEva != 1">
            <view class="b1" @click="pingjia()">
               我要评价
            </view>
         </view>
@@ -193,11 +198,11 @@
               <view class="font">
                  投诉主题
               </view>
               <view>
                  <u-radio-group v-model="complaintType">
                                       <u-radio v-for="(aa, ii) in list" :key="ii" :name="aa.dictCode">
                                          {{aa.dictLabel}}
                                       </u-radio>
               <view>
                  <u-radio-group v-model="complaintType">
                                       <u-radio v-for="(aa, ii) in list" :key="ii" :name="aa.dictCode">
                                          {{aa.dictLabel}}
                                       </u-radio>
                                    </u-radio-group>
               </view>
               <view class="font">
@@ -215,65 +220,65 @@
   </view>
</template>
<script>
   import { order } from '@/api/index.js'
   import { getDicts } from '@/api/data.js'
   import { config } from '@/common/config'
<script>
   import { order } from '@/api/index.js'
   import { getDicts } from '@/api/data.js'
   import { config } from '@/common/config'
   import { orderComplaint } from '@/api/qiye.js'
   export default {
      data() {
         return {
            complaintType:'',
            complaintReason:'',
            id:'',
            msg:{},
            type:'',
            img:[],
         return {
            complaintType:'',
            complaintReason:'',
            id:'',
            msg:{},
            type:'',
            img:[],
            baseUrl: config.baseUrl,
            xing: 5,
            value: 'orange',
            //type: 2,
            show: false,
            list: [
            ],
            ],
            qlist:[]
         }
      },
      onLoad(options) {
         this.id = options.id
         //this.getdata(options.id)
         getDicts('complaint_type').then(val => {
            this.list = val.data.data
            console.log(this.list)
             // const value = val.data.data.find(item => item.dictCode == this.msg.enforceType)
             // this.type = value.dictLabel
         })
         this.getdata()
      },
      onShow(options) {
      },
      methods: {
         getdata(){
      onLoad(options) {
         this.id = options.id
         //this.getdata(options.id)
         getDicts('complaint_type').then(val => {
            this.list = val.data.data
            console.log(this.list)
             // const value = val.data.data.find(item => item.dictCode == this.msg.enforceType)
             // this.type = value.dictLabel
         })
         // this.getdata()
      },
      onShow(options) {
         this.getdata()
      },
      methods: {
         getdata(){
            order(this.id).then(val => {
               this.msg = val.data.data
               getDicts('enforce_type').then(val => {
                   const value = val.data.data.find(item => item.dictCode == this.msg.enforceType)
                   this.type = value.dictLabel
               })
               let arr = this.msg.regionImgs.split(",");
               for(let i = 0;i<arr.length;i++){
                  this.img.push(this.baseUrl+arr[i])
               }
               this.qlist = this.msg.evaluateVo.questionList
               for(let i = 0;i<this.qlist.length;i++){
                  if(this.qlist[i].questionType==1&&this.qlist[i].remark){
                     this.qlist[i].remark = Number(this.qlist[i].remark)
                  }
               }
            })
               })
               let arr = this.msg.regionImgs.split(",");
               for(let i = 0;i<arr.length;i++){
                  this.img.push(this.baseUrl+arr[i])
               }
               this.qlist = this.msg.evaluateVo.questionList
               for(let i = 0;i<this.qlist.length;i++){
                  if(this.qlist[i].questionType==1&&this.qlist[i].remark){
                     this.qlist[i].remark = Number(this.qlist[i].remark)
                  }
               }
            })
         },
         daxing(a) {
            this.xing = a
@@ -282,11 +287,11 @@
            uni.previewImage({
               urls: [url]
            })
         },
         pingjia(){
            uni.navigateTo({
               url: `/qiye/record/evaluate?id=${this.msg.orderId}`
            })
         },
         pingjia(){
            uni.navigateTo({
               url: `/qiye/record/evaluate?id=${this.msg.orderId}`
            })
         },
         open() {
            this.show = true
@@ -296,34 +301,34 @@
            this.$emit('cancel')
         },
         entery() {
            this.$emit('entery')
            if(this.complaintType==''){
               uni.showToast({
                  title: '请选择投诉主题',
                  icon: 'none'
               })
               return
            }
            if(this.complaintReason==''){
               uni.showToast({
                  title: '请输入投诉内容',
                  icon: 'none'
               })
               return
            }
            let data = {
               orderId:Number(this.id),
               complaintType:this.complaintType,
               complaintReason:this.complaintReason
            }
            console.log(data)
            //return;
            orderComplaint(data).then(val => {
               uni.showToast({
                  title: '提交成功',
                  icon: 'none'
               })
               this.show = false
            this.$emit('entery')
            if(this.complaintType==''){
               uni.showToast({
                  title: '请选择投诉主题',
                  icon: 'none'
               })
               return
            }
            if(this.complaintReason==''){
               uni.showToast({
                  title: '请输入投诉内容',
                  icon: 'none'
               })
               return
            }
            let data = {
               orderId:Number(this.id),
               complaintType:this.complaintType,
               complaintReason:this.complaintReason
            }
            console.log(data)
            //return;
            orderComplaint(data).then(val => {
               uni.showToast({
                  title: '提交成功',
                  icon: 'none'
               })
               this.show = false
            })
         },
@@ -379,16 +384,19 @@
      }
      .imgbox {
         display: flex;
         flex-wrap: wrap;
         justify-content: space-between;
         display: grid;
         grid-template-columns: 1fr 1fr 1fr;
         grid-gap: 10rpx;
         // display: flex;
         // flex-wrap: wrap;
         // justify-content: space-between;
         border-radius: 10rpx;
         img {
            width: 198rpx;
            height: 198rpx;
            margin-bottom: 20rpx;
            border-radius: 10rpx;
         }
      }
   }
@@ -458,7 +466,7 @@
      margin-top: 20rpx;
      flex-wrap: wrap;
      .u-radio {
         margin-right: 20rpx;
         margin-right: 20rpx;
         margin-bottom: 20rpx;
      }
   }
@@ -521,10 +529,10 @@
   .page-box {
      padding: 24rpx 0;
      .font{
         color: #4a4e60;
         font-size: 32rpx;
         margin-top: 20rpx;
      .font{
         color: #4a4e60;
         font-size: 32rpx;
         margin-top: 20rpx;
      }
      .title1 {
         font-size: 36rpx;