车间能级提升-智能设备管理系统
zhuguifei
2025-05-13 14681dfe7052cb76eefcc0c17d0a0d708e1ac9dd
eims-ui-mobile/src/pages/repair/repair-fb.vue
ÎļþÃû´Ó eims-ui-mobile/src/pages/repair/feedback.vue ÐÞ¸Ä
@@ -33,7 +33,7 @@
        </view>
      </template>
      <wd-steps :active="repairRecordList.length" vertical class="px-4">
        <wd-step v-for="(item,index) in repairRecordList"   >
        <wd-step v-for="(item, index) in repairRecordList">
          <template #title>
            <view class="flex items-center menu-title-box">
              <view class="ml-1 text-xs">{{ item?.operaResult }}</view>
@@ -46,7 +46,6 @@
            </view>
          </template>
        </wd-step>
      </wd-steps>
    </wd-card>
@@ -96,10 +95,18 @@
  </view>
</template>
<script setup lang="ts">
import { getRepairRes, getRepairFb, getRepairRecordList } from '@/service/repair'
import {
  getRepairRes,
  getRepairFb,
  getRepairRecordList,
  addRepairFb,
  updateRepairFb,
} from '@/service/repair'
import { reactive } from 'vue'
import { isLeader, isOperatorOrRepair } from '@/utils/RoleUtils'
import { RepairResVO, RepairFbVO, RepairRecordVO } from '@/service/repair.d'
const isUpdate = ref(false)
const repairRes = reactive<RepairResVO>({
  id: '',
  resCode: '',
@@ -118,6 +125,7 @@
const repairFb = reactive<RepairFbVO>({
  id: '',
  resId: '',
  resCode: '',
  fbResult: '',
  suggestions: '',
@@ -134,8 +142,8 @@
}
function getRepairRecord() {
  if(!repairRes.id){
     return false
  if (!repairRes.id) {
    return false
  }
  const params = {
    resId: repairRes.id,
@@ -143,7 +151,7 @@
  getRepairRecordList(params)
    .then((res: any) => {
      console.error(res)
      if(res?.code === 200){
      if (res?.code === 200) {
        repairRecordList.value = res?.rows?.sort((a, b) => {
          if (a.handleTime < b.handleTime) {
            return -1
@@ -157,7 +165,6 @@
    })
    .catch((res) => {})
}
function initRepairRes(id: any) {
  getRepairRes(id)
@@ -174,15 +181,62 @@
function getFeedBack(id: any) {
  getRepairFb(id)
    .then((res: any) => {
      // åœ¨è¿™é‡Œè¿›è¡Œæ•°æ®ç±»åž‹è½¬æ¢
      res.repairSatisfaction = Number(res?.repairSatisfaction)
      res.repairTimeliness = Number(res?.repairTimeliness)
      res.serviceAttitude = Number(res?.serviceAttitude)
      res.repairSs = Number(res?.repairSs)
      Object.assign(repairFb, res)
    })
    .catch((res) => {})
}
async function initData(options: any) {
  initRepairRes(options.id)
function handleRepairFb() {
  if(isOperatorOrRepair()){
    uni.showToast({
      title: '无权限,请登录管理员账号操作',
      icon: 'none',
    })
    return false
  }
  const id = repairFb.id
  isUpdate.value = !!id
  if (isUpdate.value) {
    updateRepairFb(repairFb)
      .then((res: any) => {
        if (res?.code === 200) {
          uni.showToast({
            title: '修改成功',
            icon: 'none',
          })
        }
      })
      .catch((res) => {})
  } else {
    addRepairFb(repairFb)
      .then((res: any) => {
        if (res?.code === 200) {
          uni.showToast({
            title: '评价成功',
            icon: 'none',
          })
        }
      })
      .catch((res) => {})
  }
}
async function initData(options: any) {
  repairFb.resId = options.id
  initRepairRes(options.id)
}
onNavigationBarButtonTap((e) => {
  if (e.index === 0) {
    handleRepairFb()
  }
})
onLoad((options) => {
  initData(options)
})