locationPointMsg.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <template>
  2. <div id="locationPointMsg" style="width:100%;border:1px solid rgb(204,204,204)">
  3. <div style="padding:5px 10px;border-bottom:1px solid rgb(204,204,204);">
  4. <label class="item">位置标签名称:{{pointObj.Name}}</label>
  5. <label class="item">本地编码:{{pointObj.Id}}</label>
  6. <label class="item">备注:{{pointObj.Name}}</label>
  7. </div>
  8. <div style="padding:5px 10px;">
  9. <p>勾选需要补充到业务空间的图片信息</p>
  10. <div v-if="pointObj.ImageList && pointObj.ImageList.length">
  11. <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange"><span style="padding-left:20px">全选</span></el-checkbox>
  12. <div style="margin: 15px 0;"></div>
  13. <el-checkbox-group v-model="choImg" @change="handleCheckedCitiesChange">
  14. <el-checkbox v-for="item in pointObj.ImageList" :label="item" :key="item.key">
  15. <div style="max-width:250px;height:250px;float:left;">
  16. <el-image :src="`/image-service/common/image_get?systemId=dataPlatform&key=${item.Key}`" style="height:250px;"></el-image>
  17. </div>
  18. </el-checkbox>
  19. </el-checkbox-group>
  20. </div>
  21. </div>
  22. </div>
  23. </template>
  24. <script>
  25. export default {
  26. data() {
  27. return {
  28. isIndeterminate: false,
  29. checkAll: false,
  30. choImg: [],//选中的图片
  31. }
  32. },
  33. props: {
  34. pointObj: {},//标签对象
  35. },
  36. created() {
  37. },
  38. methods: {
  39. //是否全选
  40. handleCheckAllChange(val) {
  41. this.choImg = val ? this.pointObj.ImageList : [];
  42. this.isIndeterminate = false;
  43. },
  44. //选中
  45. handleCheckedCitiesChange(value) {
  46. let checkedCount = value.length;
  47. this.checkAll = checkedCount === this.pointObj.ImageList.length;
  48. this.isIndeterminate = checkedCount > 0 && checkedCount < this.pointObj.ImageList.length;
  49. },
  50. //清空选项
  51. clearImg(){
  52. this.choImg = [];
  53. this.isIndeterminate = false;
  54. }
  55. }
  56. }
  57. </script>
  58. <style lang="less" scoped>
  59. #locationPointMsg {
  60. /deep/ .el-checkbox__input {
  61. position: absolute;
  62. left: 10px;
  63. }
  64. /deep/ .el-checkbox__inner {
  65. width: 20px;
  66. height: 20px;
  67. }
  68. /deep/ .el-checkbox__inner::after {
  69. left: 7px;
  70. top: 4px;
  71. }
  72. .item{
  73. padding-right:20px;
  74. }
  75. }
  76. </style>