evaluatePlan.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <!-- @rightClick 只有存在右边部分的情况下才使用,
  3. 右边默认为空,可以使用slot="right" 自定义右边内容
  4. @ok 是单选或多选最终返回的结果
  5. types 类型 radio或checkbox
  6. titleKeys 标题对应的字段名称key,默认是name
  7. listData 是数据
  8. showArrow 是否显示右边箭头
  9. backValue 设置返回的数据是[id,id,...] 或 [obj,obj,...]
  10. defValue 设置已选择的数据,格式和backValue 一致
  11. checkIconPositon 选择图标显示左边还是右边 left or right
  12. -->
  13. <uni-check-list :listData="list" :defValue="value" types="radio" @ok="chooseOk" @rightClick="viewDetail">
  14. <view slot="right">
  15. 详情
  16. </view>
  17. </uni-check-list>
  18. </template>
  19. <script>
  20. import {findScheme} from '@/api/assess'
  21. export default {
  22. data() {
  23. return {
  24. list: [],
  25. value: [],
  26. }
  27. },
  28. onLoad(opts) {
  29. this.value[0]=opts.id
  30. // 查询方案
  31. findScheme({status:1}).then(res=>{
  32. console.log(res.data)
  33. if(res.status == 200){
  34. this.list = res.data
  35. }
  36. })
  37. },
  38. methods: {
  39. // 选中方案,item 返回的是数组
  40. chooseOk(item) {
  41. console.log(item)
  42. if(item.length==0){
  43. uni.showToast({
  44. icon:'none',
  45. title:'请选择考评方案'
  46. })
  47. }else{
  48. //关闭当前页面,这里处理数据逻辑
  49. let row = this.list.find(k=> k.id == item[0])
  50. uni.$emit("resetTaskKpItem",row)
  51. uni.navigateBack()
  52. }
  53. },
  54. // 查看详情
  55. viewDetail(item){
  56. uni.navigateTo({
  57. url:"/pages/evaluatePlan/planDetail?id="+item.id
  58. })
  59. }
  60. }
  61. }
  62. </script>
  63. <style lang="scss">
  64. page{
  65. height: 100%;
  66. }
  67. </style>