Browse Source

顶管工程校验、民用导出

wang_xy 9 months ago
parent
commit
2c37166076

+ 16 - 9
src/components/ConstructionDetails/index.vue

@@ -155,7 +155,7 @@
                       :prop="i.materialQuality"
                       :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
                       :label="activeNames == '阀管' ? '灶具管厂家': '材质'"
-                      v-show="i.materialQuality != null || (enginClassification != null && !enginClassification.includes('pressure_regulating')) && node !== '阀井'&& node !== '调压柜'&& node !== '管道施工记录'"
+                      v-show="i.materialQuality != null "
                       label-width="95px"
                     >
                       <el-select v-model="i.materialQuality" placeholder="请选择材质" style="width: 100%"
@@ -172,7 +172,7 @@
                       :prop="i.specifications"
                       :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
                       label="规格"
-                      v-show="i.materialQuality != null || (enginClassification != null && !enginClassification.includes('pressure_regulating')) && node !== '阀井'&& node !== '调压柜'&& node !== '管道施工记录'"
+                      v-show="i.materialQuality != null "
                       label-width="95px"
 
                     >
@@ -245,7 +245,7 @@
                       :prop="i.number + ''"
                       :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
                       label="数量"
-                      v-show="i.number != null || (enginClassification != null && !enginClassification.includes('pressure_regulating'))"
+                      v-show="i.number != null"
                       label-width="95px"
                     >
                       <div class="block" style="display: inline-block; margin-right: 20px;">
@@ -684,7 +684,7 @@
                 </div>
                 <div style="display: flex;width: 100%;height: 100%;" v-if="node==='下沟'">
                   <h3 style="width: 95px;font-weight: 600;text-align: center;text-indent: 25px;">视频</h3>
-                  <ObsVideoUpload
+                  <obs-image-upload-to-video
                     :class=" status == 'read-only' ? 'obsImageUploads' : '' "
                     ref="obsImageUpload"
                     :limit="11"
@@ -692,7 +692,7 @@
                     @input="getVideoUrl(arguments,idx)"
                     :value="e.video"
                     :disabled="status == 'read-only' "
-                  ></ObsVideoUpload>
+                  ></obs-image-upload-to-video>
                 </div>
                 <div style="display: flex;width: 100%;height: 100%;" v-if="node==='阀井'">
                   <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">套管</h3>
@@ -1016,7 +1016,6 @@ import {
 
 } from '@/api/zdsz/enginee'
 import {selectUserByUserName} from '@/api/system/user'
-import ObsVideoUpload from "@/components/ObsVideoUpload/index.vue";
 import ObsImageUploadToVideo from "@/components/ObsImageUpload/indexToVideo.vue";
 import {delEngineeringCivil} from "@/api/zdsz/engineeringCivil";
 
@@ -1028,7 +1027,7 @@ export default {
     'brand',
     'construct_addre'
   ],
-  components: {ObsVideoUpload,ObsImageUploadToVideo},
+  components: {ObsImageUploadToVideo},
   props: ['currentCollapses', 'nodeDetailType', 'enginType', 'status', 'zEngineeringNodeBo'],
   data() {
     return {
@@ -1094,7 +1093,8 @@ export default {
         reviewContent: [
           {required: true, message: "审核内容不能为空", trigger: "change"}
         ],
-      }, node: null
+      },
+      node: null
     }
   },
   created() {
@@ -1163,6 +1163,12 @@ export default {
   },
   methods: {
     singleReview(e){
+      if(this.checkingInfo.reviewStatus == '0'){
+        if(this.checkingInfo.reviewContent=='' || this.checkingInfo.reviewContent==undefined || this.checkingInfo.reviewContent==null){
+          this.$modal.alertWarning("请输入审核内容!");
+          return;
+        }
+      }
       this.checkingInfo.delInfoIdList = [];
       this.checkingInfo.delInfoIdList = (this.enginClassification=='indoor_engin'?this.currentCollapses.filter(item => item.id != e.id).map(item => item.id):[]);
       this.checkingInfo.checkList = [];
@@ -1199,7 +1205,8 @@ export default {
       for (let i = 0; i < this.$refs.obsImageUpload.length; i++) {
         this.$refs.obsImageUpload[i].videodialogVisible = false
       }
-      this.dialogVisible = false
+      this.dialogVisible = false;
+      this.node = null;
     },
     getSpecificationsList(id) {
       getEnginSpecificationsList({materId: id}).then(res => {

+ 43 - 43
src/components/EngineePipe/index.vue

@@ -132,18 +132,18 @@
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row :gutter="20">
-            <el-col :span="24">
-              <el-form-item label="文件" prop="" v-if="currentType=='put'">
-                <ObsFileUpload ref="obsFileUpload" :file-size="100" :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg','mp4']" :limit="9999"  :value="queryParams.pics" :disabled="title == '添加用料' "
-                ></ObsFileUpload>
-              </el-form-item>
-              <el-form-item label="文件" prop="" v-if="currentType=='add'">
-                <ObsFileUpload ref="obsFileUpload" :file-size="100" :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg','mp4']" :limit="9999"  :value="queryParams.files" :disabled="title == '添加用料' "
-                ></ObsFileUpload>
-              </el-form-item>
-            </el-col>
-          </el-row>
+<!--          <el-row :gutter="20">-->
+<!--            <el-col :span="24">-->
+<!--              <el-form-item label="文件" prop="" v-if="currentType=='put'">-->
+<!--                <ObsFileUpload ref="obsFileUpload" :file-size="100" :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg','mp4']" :limit="9999"  :value="queryParams.pics" :disabled="title == '添加用料' "-->
+<!--                ></ObsFileUpload>-->
+<!--              </el-form-item>-->
+<!--              <el-form-item label="文件" prop="" v-if="currentType=='add'">-->
+<!--                <ObsFileUpload ref="obsFileUpload" :file-size="100" :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg','mp4']" :limit="9999"  :value="queryParams.files" :disabled="title == '添加用料' "-->
+<!--                ></ObsFileUpload>-->
+<!--              </el-form-item>-->
+<!--            </el-col>-->
+<!--          </el-row>-->
           <el-form-item label="节点" style="width: 100%;margin-left: 0;" v-if="title!=='修改顶管信息' ">
             <el-checkbox-group v-model="currentCheckList">
               <el-checkbox
@@ -277,30 +277,30 @@ export default {
         isDone: [
           {required: true, message: "完工状态不能为空", trigger: "blur"}
         ],
-        constructSchedule: [
-          {required: true, message: "施工进度不能为空", trigger: 'blur'}
-        ],
-        constructQuality: [
-          {required: true, message: "施工质量不能为空", trigger: 'blur'}
-        ],
-        constructUnit: [
-          {required: true, message: "施工单位不能为空", trigger: 'blur'}
-        ],
+        // constructSchedule: [
+        //   {required: true, message: "施工进度不能为空", trigger: 'blur'}
+        // ],
+        // constructQuality: [
+        //   {required: true, message: "施工质量不能为空", trigger: 'blur'}
+        // ],
+        // constructUnit: [
+        //   {required: true, message: "施工单位不能为空", trigger: 'blur'}
+        // ],
         enginName: [
           {required: true, message: "工程名称不能为空", trigger: 'blur'}
         ],
-        enginAddre: [
-          {required: true, message: "工程地址不能为空", trigger: 'blur'}
-        ],
-        enginScale: [
-          {required: true, message: "工程规模不能为空", trigger: 'blur'}
-        ],
-        enginCode: [
-          {required: true, message: "工程编码不能为空", trigger: 'blur'}
-        ],
-        files: [
-          { required: false, message: '必须上传文件!', trigger: 'change' },
-        ]
+        // enginAddre: [
+        //   {required: true, message: "工程地址不能为空", trigger: 'blur'}
+        // ],
+        // enginScale: [
+        //   {required: true, message: "工程规模不能为空", trigger: 'blur'}
+        // ],
+        // enginCode: [
+        //   {required: true, message: "工程编码不能为空", trigger: 'blur'}
+        // ],
+        // files: [
+        //   { required: false, message: '必须上传文件!', trigger: 'change' },
+        // ]
 
 
       },
@@ -465,11 +465,11 @@ export default {
       if (this.enginNodeStatus == '修改') {
         this.$refs["form"].validate(valid => {
           if (valid) {
-            this.queryParams.files = this.$refs.obsFileUpload.fileList;
-            if (this.$refs.obsFileUpload.fileList==null||this.$refs.obsFileUpload.fileList.length===0){
-              this.$message.warning('必须上传文件!')
-              return
-            }
+            // this.queryParams.files = this.$refs.obsFileUpload.fileList;
+            // if (this.$refs.obsFileUpload.fileList==null||this.$refs.obsFileUpload.fileList.length===0){
+            //   this.$message.warning('必须上传文件!')
+            //   return
+            // }
             if (this.queryParams.id != null) {
               putEngineeringPipeJacking(this.queryParams).then(response => {
                 this.$modal.msgSuccess("修改成功");
@@ -498,11 +498,11 @@ export default {
       else {
         this.$refs["form"].validate(valid => {
           if (valid) {
-            this.queryParams.files = this.$refs.obsFileUpload.fileList;
-            if (this.$refs.obsFileUpload.fileList==null||this.$refs.obsFileUpload.fileList.length===0){
-              this.$message.warning('必须上传文件!')
-              return
-            }
+            // this.queryParams.files = this.$refs.obsFileUpload.fileList;
+            // if (this.$refs.obsFileUpload.fileList==null||this.$refs.obsFileUpload.fileList.length===0){
+            //   this.$message.warning('必须上传文件!')
+            //   return
+            // }
             // if (this.queryParams!=null){
             //   delete this.queryParams.zEngineeringNodeBoList
             //   delete this.queryParams.zEngineeringNodeBo

+ 210 - 0
src/views/index1.vue

@@ -0,0 +1,210 @@
+<template>
+  <div class="app-container home">
+    <div id="echart_china" ref="echart_china" style="width: 100%;height: 750px"></div>
+  </div>
+</template>
+
+<script>
+import * as echarts from 'echarts'
+import changchunmap from "@/utils/changchunmap.json";
+export default {
+  name: "Index",
+  data() {
+    return {
+      // 版本号
+      version: "4.8.2",
+      myChart: null,
+    };
+  },
+  mounted() {
+    // 1. 创建一个 ECharts 实例,返回 echartsInstance,不能在单个容器上初始化多个 ECharts 实例
+    this.myChart = echarts.init(this.$refs.echart_china);
+    this.init();
+  },
+  methods: {
+    goTarget(href) {
+      window.open(href, "_blank");
+    },
+    init() {
+      // 2. 注册可用的地图,只在 geo 组件或者map图表类型中使用
+      echarts.registerMap("changchun", changchunmap); //用导入的json文件注册一个name:china的地图组件
+      var data = [
+        {name: '南关区', value: [125.432301,43.725267, 0]},
+        {name: '宽城区', value: [125.326657,44.108569, 5]},
+        {name: '朝阳区', value: [125.318042,43.82491, 15]},
+        {name: '二道区', value: [125.656605,43.906861, 25]},
+        {name: '绿园区', value: [125.205055,43.890116, 35]},
+        {name: '双阳区', value: [125.70623,43.52608, 3744]},
+        {name: '九台区', value: [125.979165,44.204262, 40]},
+        {name: '农安县', value: [125.08508,44.472531, 77]},
+        {name: '榆树市', value: [126.595959,44.873204, 77]},
+        {name: '德惠市', value: [125.810373,44.554404, 77]},
+        {name: '公主岭市', value: [124.685107,43.926324, 77]},
+      ];
+      const provinceColors = {
+        '南关区': '#ff0000',
+        '宽城区': '#00ff00',
+        '朝阳区': '#abcc32',
+        '二道区': '#763dd7',
+        '绿园区': '#a713e1',
+        '双阳区': '#857464',
+        '九台区': '#cb991b',
+        '农安县': '#4f937b',
+        '榆树市': '#5d1d3f',
+        '德惠市': '#d25123',
+        '公主岭市': '#0000ff',
+      };
+    // ECharts 地图的初始化配置
+      var option = {
+        // 定义为地图类型
+        tooltip : {
+          trigger: 'item',
+          formatter: function (params) {
+            return params.name+":"+params.value;
+          }
+        },
+        //左侧小导航图标
+        series: [
+          {
+            type: 'map',
+            mapType: 'changchun', // 中国地图,确保已经引入了中国地图的 geoJSON 数据
+            // 设置地图的样式
+            label: {
+              normal: {
+                show: true,  //省份名称
+                color:'#ffffff'
+              },
+              emphasis: {
+                show: false
+              }
+            },
+            // 数据集
+            data: data.map(function (item) {
+              let provinceName = item.name; // 省份名称
+              return {
+                name: item.name,
+                value: item.value[2],
+                itemStyle: {
+                  normal: {
+                    areaColor: provinceColors[provinceName] || '#ffffff'
+                  },
+                  emphasis: {
+                    areaColor: '#fdebd0' // 高亮时的颜色
+                  }
+                },
+              };
+            }),
+            // 数据点
+            markPoint: {
+              symbolSize: [40, 60],
+              symbol: 'image://'+require('@/assets/logo/qi.png'), // 图标路径
+              data: data.map(function (item) {
+                return {
+                  name: item.name,
+                  coord: item.value.slice(0, 2),
+                  value: item.value[2],
+                };
+              }),
+              itemStyle: {
+                normal: {
+                  opacity: 1,
+                },
+              },
+              label: {
+                show: true,
+                formatter: function (val) {
+                  return val.value; // 根据数量大小设置点的大小
+                },
+                position: ['25%', '8%'],
+              },
+            }
+          },
+          // 数据数量的散点图
+          {
+            type: 'scatter',
+            coordinateSystem: 'geo',
+            symbolSize: function (val) {
+              return val[2] / 10; // 根据数量大小设置点的大小
+            },
+            label: {
+              formatter: '{b}: {c}',
+              position: 'top',
+              show: true
+            },
+            itemStyle: {
+              color: 'purple'
+            }
+          }
+        ]
+      };
+      // 4. 显示地图
+      this.myChart.setOption(option); // 用 option 和 option2 效果一样
+    }
+  },
+};
+</script>
+
+<style scoped lang="scss">
+.home {
+  blockquote {
+    padding: 10px 20px;
+    margin: 0 0 20px;
+    font-size: 17.5px;
+    border-left: 5px solid #eee;
+  }
+  hr {
+    margin-top: 20px;
+    margin-bottom: 20px;
+    border: 0;
+    border-top: 1px solid #eee;
+  }
+  .col-item {
+    margin-bottom: 20px;
+  }
+
+  ul {
+    padding: 0;
+    margin: 0;
+  }
+
+  font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 13px;
+  color: #676a6c;
+  overflow-x: hidden;
+
+  ul {
+    list-style-type: none;
+  }
+
+  h4 {
+    margin-top: 0px;
+  }
+
+  h2 {
+    margin-top: 10px;
+    font-size: 26px;
+    font-weight: 100;
+  }
+
+  p {
+    margin-top: 10px;
+
+    b {
+      font-weight: 700;
+    }
+  }
+
+  .update-log {
+    ol {
+      display: block;
+      list-style-type: decimal;
+      margin-block-start: 1em;
+      margin-block-end: 1em;
+      margin-inline-start: 0;
+      margin-inline-end: 0;
+      padding-inline-start: 40px;
+    }
+  }
+}
+</style>
+

+ 26 - 21
src/views/zdsz/engineeringCivil/index.vue

@@ -124,15 +124,6 @@
         </el-date-picker>
       </el-form-item>
       <el-form-item label="施工人" prop="completionStatus">
-        <!--        <el-select v-model="queryParams1.createBy" placeholder="请选择施工人" filterable clearable-->
-        <!--                   @clear="">-->
-        <!--          <el-option-->
-        <!--            v-for="dict in userList"-->
-        <!--            :key="dict.userName"-->
-        <!--            :label="dict.userName"-->
-        <!--            :value="dict.userName"-->
-        <!--          />-->
-        <!--        </el-select>-->
         <el-autocomplete
           popper-class="my-autocomplete"
           v-model="queryParams1.createBy"
@@ -145,9 +136,18 @@
             <div class="name">{{ item.nickName }}</div>
             <span class="addr">{{ item.userName }}</span>
           </template>
-
         </el-autocomplete>
       </el-form-item>
+      <el-form-item label="屏蔽小区名称" prop="areaId" label-width="100px">
+        <el-select v-model="queryParams1.notAreaId" filterable clearable multiple placeholder="请选择小区" style="width: 400px">
+          <el-option
+            v-for="item in notAreaList"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id">
+          </el-option>
+        </el-select>
+      </el-form-item>
       <!--      <el-form-item label="工程周期" prop="enginCycle">-->
       <!--        <el-select v-model="queryParams1.enginCycle" placeholder="请选择工程周期" clearable-->
       <!--                   @clear="">-->
@@ -159,7 +159,6 @@
       <!--          />-->
       <!--        </el-select>-->
       <!--      </el-form-item>-->
-
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -1231,9 +1230,9 @@ export default {
           name: '焊接',
           components: [
             [
-              'materialQuality',                       // 材质
-              'specifications',                        // 规格
-              'number',                                // 数量
+              // 'materialQuality',                       // 材质
+              // 'specifications',                        // 规格
+              // 'number',                                // 数量
             ],
             'constructTime',                           // 施工时间
             'zEngiineeringPhotoBoList',                // 照片
@@ -1244,9 +1243,9 @@ export default {
           name: '打磨',
           components: [
             [
-              'materialQuality',                       // 材质
-              'specifications',                        // 规格
-              'number',                                // 数量
+              // 'materialQuality',                       // 材质
+              // 'specifications',                        // 规格
+              // 'number',                                // 数量
             ],
             'constructTime',                           // 施工时间
             'zEngiineeringPhotoBoList',                // 照片
@@ -1410,6 +1409,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
         district: undefined,
+        notAreaId:[],
         areaId: undefined,
         buildingId: undefined,
         unitId: undefined,
@@ -1453,9 +1453,9 @@ export default {
         areaId: [
           {required: true, message: "小区不能为空", trigger: "change"}
         ],
-        buildingId: [
-          {required: true, message: "楼宇不能为空", trigger: "change"}
-        ],
+        // buildingId: [
+        //   {required: true, message: "楼宇不能为空", trigger: "change"}
+        // ],
         // unitId: [
         //   {required: true, message: "单元不能为空", trigger: "change"}
         // ],
@@ -1481,6 +1481,7 @@ export default {
           {required: true, message: "备注不能为空", trigger: "blur"}
         ],
       },
+      notAreaList: [],
       areaList: [],
       buildingList: [],
       unitList: [],
@@ -1549,6 +1550,7 @@ export default {
   },
   created() {
     this.getAreaList();
+    this.getAllAreaList();
   },
   mounted() {
     this.listAll()
@@ -1923,6 +1925,9 @@ export default {
     closeToSucceed() {
       this.open = false;
     },
+    getAllAreaList(){
+      getAreaList({}).then(res => this.notAreaList = res.data)
+    },
     getAreaList(district) {
       // if (district === undefined || district == null || district === '')
       //   return
@@ -2025,6 +2030,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
         district: undefined,
+        notAreaId: [],
         areaId: undefined,
         buildingId: undefined,
         unitId: undefined,
@@ -2071,7 +2077,6 @@ export default {
               console.log('nodeCollection:', nodeItem)
               console.log('nodeCollection:', this.$refs['EnginNodeInfo' + idx][0])
             }, 2000)
-
           })
           this.queryParams.zEngineeringNodeBoList = nodeCollection
           if (this.enginNodeStatus == '修改') {