scanchebox.vue 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <template>
  2. <view>
  3. <!-- 选择类巡检操作 -->
  4. <u-checkbox-group size="40" wrap="true" width="690">
  5. <u-checkbox icon-size="28" label-size="28" shape="circle" active-color="orange" @change="checkboxChange"
  6. v-model="item.checked" v-for="(item, index) in list" :key="index" :name="item.id">{{item.name}}
  7. </u-checkbox>
  8. </u-checkbox-group>
  9. <!-- <u-toast ref="sacast" /> -->
  10. </view>
  11. </template>
  12. <script>
  13. export default {
  14. props: {
  15. // 巡检项规则
  16. options: {
  17. type: Array
  18. },
  19. //拍照选项项目巡检id
  20. scan_id: {
  21. type: Number
  22. },
  23. },
  24. data() {
  25. return {
  26. list: [],
  27. value: ''
  28. }
  29. },
  30. created() {
  31. // console.log("option", this.options)
  32. this.setData()
  33. },
  34. methods: {
  35. //处理选项数据
  36. setData() {
  37. this.options.forEach(j => {
  38. let obj = {}
  39. obj.name = j.optionName
  40. obj.id = j.id
  41. obj.checked = j.defaultSelect
  42. this.list.push(obj)
  43. })
  44. },
  45. //选中某个复选框时,由checkbox时触发
  46. checkboxChange(e) {
  47. },
  48. //巡检数据处理
  49. submit() {
  50. let item = {
  51. id: this.scan_id,
  52. value: null
  53. } //提交数据
  54. let newarr = JSON.parse(JSON.stringify(this.list))
  55. newarr.forEach(i => {
  56. if(i.checked === true) {
  57. if(item.value) {
  58. item.value =item.value + "," + `${i.id}`
  59. } else {
  60. item.value = `${i.id}`
  61. }
  62. }
  63. })
  64. this.$store.state.user.items.push(item)
  65. },
  66. //重置表单
  67. reset() {
  68. this.list = []
  69. }
  70. }
  71. }
  72. </script>
  73. <style>
  74. </style>