Browse Source

Merge remote-tracking branch 'origin/zdsz3.0' into zdsz3.0

wangtong 1 năm trước cách đây
mục cha
commit
f89fd48ece

+ 2 - 0
public/index.html

@@ -6,6 +6,8 @@
     <meta name="renderer" content="webkit">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <script src="https://cdn.staticfile.org/FileSaver.js/2014-11-29/FileSaver.min.js"></script>
+    <script src="https://cdn.staticfile.org/xlsx/0.18.2/xlsx.full.min.js"></script>
     <title><%= webpackConfig.name %></title>
     <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
     <style>

+ 4 - 0
src/main.js

@@ -40,6 +40,9 @@ import VueMeta from 'vue-meta'
 // 字典数据组件
 import DictData from '@/components/DictData'
 
+import Avue from '@smallwei/avue';
+import '@smallwei/avue/lib/index.css';
+
 // 全局方法挂载
 Vue.prototype.getDicts = getDicts
 Vue.prototype.getConfigKey = getConfigKey
@@ -67,6 +70,7 @@ Vue.component('ImagePreview', ImagePreview)
 Vue.use(directive)
 Vue.use(plugins)
 Vue.use(VueMeta)
+Vue.use(Avue);
 DictData.install()
 
 /**

+ 1 - 1
src/views/login.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="login">
     <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
-      <h3 class="title">贞达市政后台管理系统</h3>
+      <h3 class="title">市政施工管理数据统计平台系统V1.0</h3>
       <el-form-item prop="username">
         <el-input
           v-model="loginForm.username"

+ 162 - 285
src/views/system/config/index.vue

@@ -1,189 +1,48 @@
 <template>
-  <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="参数名称" prop="configName">
-        <el-input
-          v-model="queryParams.configName"
-          placeholder="请输入参数名称"
-          clearable
-          style="width: 240px"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="参数键名" prop="configKey">
-        <el-input
-          v-model="queryParams.configKey"
-          placeholder="请输入参数键名"
-          clearable
-          style="width: 240px"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="系统内置" prop="configType">
-        <el-select v-model="queryParams.configType" placeholder="系统内置" clearable>
-          <el-option
-            v-for="dict in dict.type.sys_yes_no"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="创建时间">
-        <el-date-picker
-          v-model="dateRange"
-          style="width: 240px"
-          value-format="yyyy-MM-dd HH:mm:ss"
-          type="daterange"
-          range-separator="-"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :default-time="['00:00:00', '23:59:59']"
-        ></el-date-picker>
-      </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>
-      </el-form-item>
-    </el-form>
-
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['system:config:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['system:config:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['system:config:remove']"
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['system:config:export']"
-        >导出</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-refresh"
-          size="mini"
-          @click="handleRefreshCache"
-          v-hasPermi="['system:config:remove']"
-        >刷新缓存</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="参数主键" align="center" prop="configId" />
-      <el-table-column label="参数名称" align="center" prop="configName" :show-overflow-tooltip="true" />
-      <el-table-column label="参数键名" align="center" prop="configKey" :show-overflow-tooltip="true" />
-      <el-table-column label="参数键值" align="center" prop="configValue" :show-overflow-tooltip="true" />
-      <el-table-column label="系统内置" align="center" prop="configType">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.configType"/>
-        </template>
-      </el-table-column>
-      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
-      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime) }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:config:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['system:config:remove']"
-          >删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
-
-    <!-- 添加或修改参数配置对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="参数名称" prop="configName">
-          <el-input v-model="form.configName" placeholder="请输入参数名称" />
-        </el-form-item>
-        <el-form-item label="参数键名" prop="configKey">
-          <el-input v-model="form.configKey" placeholder="请输入参数键名" />
-        </el-form-item>
-        <el-form-item label="参数键值" prop="configValue">
-          <el-input v-model="form.configValue" placeholder="请输入参数键值" />
-        </el-form-item>
-        <el-form-item label="系统内置" prop="configType">
-          <el-radio-group v-model="form.configType">
-            <el-radio
-              v-for="dict in dict.type.sys_yes_no"
-              :key="dict.value"
-              :label="dict.value"
-            >{{dict.label}}</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
-  </div>
+  <avue-crud
+    ref="crud"
+    :option="option"
+    :data="configList"
+    :page="page"
+    @on-load="getList"
+    @row-save="addForm"
+    @row-update="updateForm"
+    @row-del="handleDelete"
+    @refresh-change="getList"
+    @search-change="getList"
+    @search-reset="handleQuery"
+  >
+    <template slot="menuLeft">
+      <el-button type="primary"
+                 icon="el-icon-plus"
+                 @click="$refs.crud.rowAdd()">新增</el-button>
+      <el-button type="warning"
+                 plain
+                 icon="el-icon-download"
+                 @click="handleExport"
+                 v-hasPermi="['system:config:export']"
+                 >导出</el-button>
+      <el-button type="danger"
+                 plain
+                 icon="el-icon-refresh"
+                 @click="handleRefreshCache"
+                 v-hasPermi="['system:config:remove']"
+      >刷新缓存</el-button>
+      <el-button type="primary"
+                 @click="handleGet">下载模版</el-button>
+      <el-upload :auto-upload="false"
+                 :show-file-list="false"
+                 action="action"
+                 :on-change="handleChange"
+                  style="float: right;">
+        <el-button type="primary">导入 excel</el-button>
+      </el-upload>
+    </template>
+  </avue-crud>
 </template>
 
 <script>
-import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config";
-
+import { listConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config";
 export default {
   name: "Config",
   dicts: ['sys_yes_no'],
@@ -193,137 +52,155 @@ export default {
       loading: true,
       // 选中数组
       ids: [],
-      // 非单个禁用
-      single: true,
-      // 非多个禁用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
       // 总条数
-      total: 0,
-      // 参数表格数据
-      configList: [],
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-      // 日期范围
-      dateRange: [],
-      // 查询参数
-      queryParams: {
-        pageNum: 1,
+      page: {
+        total: 1000,
+        currentPage: 1,
         pageSize: 10,
-        configName: undefined,
-        configKey: undefined,
-        configType: undefined
       },
-      // 表单参数
-      form: {},
-      // 表单校验
-      rules: {
-        configName: [
-          { required: true, message: "参数名称不能为空", trigger: "blur" }
-        ],
-        configKey: [
-          { required: true, message: "参数键名不能为空", trigger: "blur" }
-        ],
-        configValue: [
-          { required: true, message: "参数键值不能为空", trigger: "blur" }
+      // 参数表格数据
+      configList: [],
+      sys_yes_noDict:[],
+      option:{
+        border:true,//边框
+        dialogClickModal: true,//弹窗可点击外部关闭
+        addBtn: false,//新增按钮隐藏 使用自定义按钮
+        viewBtn: true,//行内查看按钮
+        delBtn:true, // 行内删除按钮
+        editBtn:true, // 行内编辑按钮
+        excelBtn:true,
+        column: [{
+          label: '参数主键',
+          prop: 'configId',
+          hide: true, //是否隐藏
+          addDisplay: false,//新增弹窗不要此字段
+          editDisplay: false,//修改按钮不显示此字段
+        },{
+          label: '参数名称',
+          prop: 'configName',
+          search:true,//是否为搜索项
+          rules: [{
+            required: true,
+            message: "请输入参数名称",
+            trigger: "blur"
+          }]
+        },{
+          label: '参数键名',
+          prop: 'configKey',
+          search:true,
+          rules: [{
+            required: true,
+            message: "请输入参数键名",
+            trigger: "blur"
+          }]
+        },{
+          label: '参数键值',
+          prop: 'configValue',
+          search:true,
+          rules: [{
+            required: true,
+            message: "请输入参数键值",
+            trigger: "blur"
+          }]
+        },{
+          label: '系统内置',
+          prop: 'configType',
+          type:'select',
+          dicUrl: process.env.VUE_APP_BASE_API+`/system/dict/data/type/sys_yes_no`,//数据字典接口
+          props: {//数据字典返回项解析
+            label: 'dictLabel',
+            value: 'dictValue'
+          },
+          rules: [{
+            required: true,
+            message: "请选择系统内置",
+            trigger: "blur"
+          }]
+        },{
+          label: '备注',
+          prop: 'remark',
+        },{
+          label: '创建时间',
+          prop: 'createTime',
+          type: 'datetime',
+          format: 'yyyy-MM-dd HH:mm:ss', //时间类型转换
+          valueFormat: 'yyyy-MM-dd HH:mm:ss',//时间类型转换
+          searchRange: true,
+          addDisplay: false,//新增弹窗不要此字段
+          editDisplay: false,
+          search:true,
+        },
+          {
+            label: '照片墙',
+            prop: 'imgUrl',
+            listType: 'picture-card',
+            type: 'upload',
+            span: 24,
+          },
         ]
-      }
+      },
     };
   },
   created() {
     this.getList();
   },
   methods: {
+    handleGet () {
+      window.open('/cdn/demo.xlsx')
+    },
+    handleChange (file, fileLis) {
+      this.$Export.xlsx(file.raw)
+        .then(data => {
+          this.data = data.results;
+          /**
+           * 业务逻辑后续处理
+           */
+        })
+    },
     /** 查询参数列表 */
-    getList() {
+    getList(page,done) {
       this.loading = true;
-      listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+      page.pageNum = page.currentPage;
+      listConfig(this.addDateRangeAvue(page,'createTime')).then(response => {
           this.configList = response.rows;
-          this.total = response.total;
+          this.page.total = response.total;
           this.loading = false;
+          done();
         }
       );
     },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    // 表单重置
-    reset() {
-      this.form = {
-        configId: undefined,
-        configName: undefined,
-        configKey: undefined,
-        configValue: undefined,
-        configType: "Y",
-        remark: undefined
-      };
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
     /** 重置按钮操作 */
-    resetQuery() {
-      this.dateRange = [];
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加参数";
-    },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.configId)
-      this.single = selection.length!=1
-      this.multiple = !selection.length
+    handleQuery() {
+      this.page= {
+        total: 1000,
+        currentPage: 1,
+        pageSize: 10,
+      },
+      this.getList(this.page);
     },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      const configId = row.configId || this.ids
-      getConfig(configId).then(response => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改参数";
+    /** 提交按钮 */
+    addForm(form,done){
+      addConfig(form).then(response => {
+        this.$modal.msgSuccess("新增成功");
+        this.getList(this.page);
+        done();
       });
     },
-    /** 提交按钮 */
-    submitForm: function() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if (this.form.configId != undefined) {
-            updateConfig(this.form).then(response => {
-              this.$modal.msgSuccess("修改成功");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addConfig(this.form).then(response => {
-              this.$modal.msgSuccess("新增成功");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
+    updateForm(form, done, loading){
+      updateConfig(form).then(response => {
+        this.$modal.msgSuccess("修改成功");
+        this.getList(this.page);
+        loading();
+        done(form);
       });
     },
     /** 删除按钮操作 */
     handleDelete(row) {
       const configIds = row.configId || this.ids;
-      this.$modal.confirm('是否确认删除参数编号为"' + configIds + '"的数据项?').then(function() {
+      this.$modal.confirm('是否确认删除当前数据项?').then(function() {
           return delConfig(configIds);
         }).then(() => {
-          this.getList();
+          this.getList(this.page);
           this.$modal.msgSuccess("删除成功");
         }).catch(() => {});
     },

+ 344 - 0
src/views/system/config/index00.vue

@@ -0,0 +1,344 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="参数名称" prop="configName">
+        <el-input
+          v-model="queryParams.configName"
+          placeholder="请输入参数名称"
+          clearable
+          style="width: 240px"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="参数键名" prop="configKey">
+        <el-input
+          v-model="queryParams.configKey"
+          placeholder="请输入参数键名"
+          clearable
+          style="width: 240px"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="系统内置" prop="configType">
+        <el-select v-model="queryParams.configType" placeholder="系统内置" clearable>
+          <el-option
+            v-for="dict in dict.type.sys_yes_no"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="创建时间">
+        <el-date-picker
+          v-model="dateRange"
+          style="width: 240px"
+          value-format="yyyy-MM-dd HH:mm:ss"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+          :default-time="['00:00:00', '23:59:59']"
+        ></el-date-picker>
+      </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>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:config:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:config:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:config:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:config:export']"
+        >导出</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-refresh"
+          size="mini"
+          @click="handleRefreshCache"
+          v-hasPermi="['system:config:remove']"
+        >刷新缓存</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="参数主键" align="center" prop="configId" />
+      <el-table-column label="参数名称" align="center" prop="configName" :show-overflow-tooltip="true" />
+      <el-table-column label="参数键名" align="center" prop="configKey" :show-overflow-tooltip="true" />
+      <el-table-column label="参数键值" align="center" prop="configValue" :show-overflow-tooltip="true" />
+      <el-table-column label="系统内置" align="center" prop="configType">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.configType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
+      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.createTime) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:config:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:config:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改参数配置对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="参数名称" prop="configName">
+          <el-input v-model="form.configName" placeholder="请输入参数名称" />
+        </el-form-item>
+        <el-form-item label="参数键名" prop="configKey">
+          <el-input v-model="form.configKey" placeholder="请输入参数键名" />
+        </el-form-item>
+        <el-form-item label="参数键值" prop="configValue">
+          <el-input v-model="form.configValue" placeholder="请输入参数键值" />
+        </el-form-item>
+        <el-form-item label="系统内置" prop="configType">
+          <el-radio-group v-model="form.configType">
+            <el-radio
+              v-for="dict in dict.type.sys_yes_no"
+              :key="dict.value"
+              :label="dict.value"
+            >{{dict.label}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config";
+
+export default {
+  name: "Config",
+  dicts: ['sys_yes_no'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 参数表格数据
+      configList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 日期范围
+      dateRange: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        configName: undefined,
+        configKey: undefined,
+        configType: undefined
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        configName: [
+          { required: true, message: "参数名称不能为空", trigger: "blur" }
+        ],
+        configKey: [
+          { required: true, message: "参数键名不能为空", trigger: "blur" }
+        ],
+        configValue: [
+          { required: true, message: "参数键值不能为空", trigger: "blur" }
+        ]
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询参数列表 */
+    getList() {
+      this.loading = true;
+      listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+          this.configList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        configId: undefined,
+        configName: undefined,
+        configKey: undefined,
+        configValue: undefined,
+        configType: "Y",
+        remark: undefined
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加参数";
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.configId)
+      this.single = selection.length!=1
+      this.multiple = !selection.length
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const configId = row.configId || this.ids
+      getConfig(configId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改参数";
+      });
+    },
+    /** 提交按钮 */
+    submitForm: function() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.configId != undefined) {
+            updateConfig(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addConfig(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const configIds = row.configId || this.ids;
+      this.$modal.confirm('是否确认删除参数编号为"' + configIds + '"的数据项?').then(function() {
+          return delConfig(configIds);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/config/export', {
+        ...this.queryParams
+      }, `config_${new Date().getTime()}.xlsx`)
+    },
+    /** 刷新缓存按钮操作 */
+    handleRefreshCache() {
+      refreshCache().then(() => {
+        this.$modal.msgSuccess("刷新成功");
+      });
+    }
+  }
+};
+</script>

+ 5 - 0
src/views/zdsz/enginee/material/material_statistics/index.vue

@@ -134,6 +134,11 @@
         >
         </el-table-column>
         <el-table-column
+          prop="notInstall"
+          label="未安装(户)"
+        >
+        </el-table-column>
+        <el-table-column
           prop="notstart"
           label="未施工(户)"
         >

+ 27 - 2
src/views/zdsz/enginee/material/progres_statistics/progres_statistics.vue

@@ -34,6 +34,17 @@
                 </el-option>
               </el-select>
             </el-form-item>
+            <el-form-item label="工程类型" prop="enginType">
+              <el-select v-model="queryParams.enginType" placeholder="请选择工程类型"  filterable clearable
+              >
+                <el-option
+                  v-for="dict in enginTypeOption"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
 <!--            <el-form-item label="工程周期" prop="enginCycle" label-width="80px">-->
 <!--              <el-select v-model="queryParams.enginCycle" filterable clearable placeholder="请选择规格">-->
 <!--                <el-option-->
@@ -89,6 +100,11 @@
           >
           </el-table-column>
             <el-table-column
+            prop="notInstall"
+            label="未安装(户)"
+            >
+            </el-table-column>
+            <el-table-column
             prop="notstart"
             label="未施工(户)"
             >
@@ -129,7 +145,16 @@ export default {
           areaList:[],
           unitList: [],
           total:0,
-          queryParams:{pageNum:1,pageSize:10, areaId:undefined,enginCycle:"0"},
+          enginTypeOption: [
+            {
+              value: 'old_renovation',
+              label: '旧改'
+            }, {
+              value: 'new_built',
+              label: '新建'
+            },
+          ],
+          queryParams:{pageNum:1,pageSize:10, areaId:undefined,enginCycle:"0",enginType:'old_renovation'},
             currentMenu:1,   // 0:用料管理 1:进度统计 2:可视化进度
             typeOptions:[
 
@@ -191,7 +216,7 @@ export default {
     resetQuery() {
       this.resetForm("queryForm");
       this.tableData=[]
-      this.queryParams = {pageNum:1,pageSize:10, areaId:undefined,enginCycle:"0"};
+      this.queryParams = {pageNum:1,pageSize:10, areaId:undefined,enginCycle:"0",enginType:'old_renovation'};
       this.getList();
     },
       getList()

+ 8 - 4
src/views/zdsz/enginee/material/progres_visual/index.vue

@@ -192,8 +192,8 @@
             :key="kdx"
             class="room"
             @click="toDetail(k)"
-            :style="`background-color:${k.roomStatus == '未施工' ? '#fec880' : k.roomStatus == '施工中' ? '#5ad3fe' : '#81d9af'};
-             border: solid 1px ${k.roomStatus == '未施工' ? '#ffa938' : k.roomStatus == '施工中' ? '#30b3e1' : '#62b98f'}`"
+            :style="`background-color:${k.roomStatus == '未施工' ? '#fec880' : k.roomStatus == '施工中' ? '#5ad3fe' : k.roomStatus == '竣工' ? '#81d9af':'#dc2e82'};
+             border: solid 1px ${k.roomStatus == '未施工' ? '#fec880' : k.roomStatus == '施工中' ? '#5ad3fe' : k.roomStatus == '竣工' ? '#81d9af':'#dc2e82'}`"
           >
             {{ k.roomName || '' }}
           </div>
@@ -299,9 +299,13 @@ export default {
           color: '#5ad3fe'
         },
         {
-          label: '未安装',
+          label: '未施工',
           color: '#fec880'
         },
+        {
+          label: '未安装',
+          color: '#dc2e82'
+        },
       ],
       areaName:'',
       currentType: null,
@@ -321,7 +325,7 @@ export default {
         buildingId: null,
         unitId: null,
         enginClassification:null,
-
+        enginType:'old_renovation',
       },
       roomsInfo: [],
       AreaCompletionInformationList:[],

+ 192 - 179
src/views/zdsz/engineeringCivil/index.vue

@@ -100,17 +100,17 @@
           />
         </el-select>
       </el-form-item>
-        <el-form-item label="审核状态" prop="completionStatus">
-          <el-select v-model="queryParams1.completionStatus" placeholder="请选择审核状态" clearable
-                     :disabled="queryParams1.type==undefined||queryParams1.type==''"
-                     @clear="">
-            <el-option
-              v-for="dict in StateOptions"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            />
-          </el-select>
+      <el-form-item label="审核状态" prop="completionStatus">
+        <el-select v-model="queryParams1.completionStatus" placeholder="请选择审核状态" clearable
+                   :disabled="queryParams1.type==undefined||queryParams1.type==''"
+                   @clear="">
+          <el-option
+            v-for="dict in StateOptions"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </el-form-item>
       <el-form-item label="施工时间" prop="completionStatus">
         <el-date-picker
@@ -120,19 +120,19 @@
           start-placeholder="开始日期"
           end-placeholder="结束日期"
           value-format="yyyy-MM-dd"
-          >
+        >
         </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-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"
@@ -143,7 +143,7 @@
         >
           <template slot-scope="{ item }">
             <div class="name">{{ item.nickName }}</div>
-            <span class="addr">{{item.userName }}</span>
+            <span class="addr">{{ item.userName }}</span>
           </template>
 
         </el-autocomplete>
@@ -177,18 +177,18 @@
         >新增
         </el-button>
       </el-col>
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="success"-->
-<!--          plain-->
-<!--          icon="el-icon-edit"-->
-<!--          size="mini"-->
-<!--          :disabled="single"-->
-<!--          @click="handleUpdate"-->
-<!--          v-hasPermi="['zdsz:engineeringCivil:edit']"-->
-<!--        >修改工程信息-->
-<!--        </el-button>-->
-<!--      </el-col>-->
+      <!--      <el-col :span="1.5">-->
+      <!--        <el-button-->
+      <!--          type="success"-->
+      <!--          plain-->
+      <!--          icon="el-icon-edit"-->
+      <!--          size="mini"-->
+      <!--          :disabled="single"-->
+      <!--          @click="handleUpdate"-->
+      <!--          v-hasPermi="['zdsz:engineeringCivil:edit']"-->
+      <!--        >修改工程信息-->
+      <!--        </el-button>-->
+      <!--      </el-col>-->
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -266,9 +266,12 @@
               placement="top-start"
               trigger="hover"
               :content="item.Type">
-              <span slot="reference" v-if="(item.state == '1'||item.state == '2')" style="height: 20px;margin-right: 5px;width: 20px; border-radius: 50%; display: inline-block; background-color: #30B08F;"></span>
-              <span slot="reference" v-if="item.state == '0' && item.Type != '开栓'" style="height: 20px;margin-right: 5px;width: 20px; border-radius: 50%; display: inline-block; background-color: #C03639;"></span>
-              <span slot="reference" v-if="item.state == '0' && item.Type == '开栓'" style="height: 20px;margin-right: 5px;width: 20px; border-radius: 50%; display: inline-block; background-color: yellow;"></span>
+              <span slot="reference" v-if="(item.state == '1'||item.state == '2')"
+                    style="height: 20px;margin-right: 5px;width: 20px; border-radius: 50%; display: inline-block; background-color: #30B08F;"></span>
+              <span slot="reference" v-if="item.state == '0' && item.Type != '开栓'"
+                    style="height: 20px;margin-right: 5px;width: 20px; border-radius: 50%; display: inline-block; background-color: #C03639;"></span>
+              <span slot="reference" v-if="item.state == '0' && item.Type == '开栓'"
+                    style="height: 20px;margin-right: 5px;width: 20px; border-radius: 50%; display: inline-block; background-color: yellow;"></span>
             </el-popover>
           </div>
         </template>
@@ -291,14 +294,14 @@
             v-hasPermi="['zdsz:engineeringCivil:xgsg']"
           >修改施工信息
           </el-button>
-<!--          <el-button-->
-<!--            size="mini"-->
-<!--            type="text"-->
-<!--            icon="el-icon-delete"-->
-<!--            @click="handleDelete(scope.row)"-->
-<!--            v-hasPermi="['zdsz:engineeringCivil:remove']"-->
-<!--          >删除-->
-<!--          </el-button>-->
+          <!--          <el-button-->
+          <!--            size="mini"-->
+          <!--            type="text"-->
+          <!--            icon="el-icon-delete"-->
+          <!--            @click="handleDelete(scope.row)"-->
+          <!--            v-hasPermi="['zdsz:engineeringCivil:remove']"-->
+          <!--          >删除-->
+          <!--          </el-button>-->
           <el-button
             size="mini"
             type="text"
@@ -645,7 +648,7 @@
 
       @close="checkingAllFormClosed"
     >
-      <el-form :model="batchForm" :rules="batchFormRules" ref="batchFormAll"  label-width="auto" label-position="right">
+      <el-form :model="batchForm" :rules="batchFormRules" ref="batchFormAll" label-width="auto" label-position="right">
         <el-row :gutter="24">
           <el-col :span="12">
             <el-form-item label="行政区" prop="district">
@@ -681,63 +684,63 @@
         </el-row>
         <el-row :gutter="24">
           <el-col :span="12">
-        <el-form-item label="工程类型" prop="enginType">
-          <el-select
-            v-model="batchForm.enginType"
-            placeholder="请选择工程类型"
-            @change="enginTypeHasChanged"
-          >
-            <el-option
-              v-for="e in enginTypeOption"
-              :key="e.value"
-              :label="e.label"
-              :value="e.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
+            <el-form-item label="工程类型" prop="enginType">
+              <el-select
+                v-model="batchForm.enginType"
+                placeholder="请选择工程类型"
+                @change="enginTypeHasChanged"
+              >
+                <el-option
+                  v-for="e in enginTypeOption"
+                  :key="e.value"
+                  :label="e.label"
+                  :value="e.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
           </el-col>
           <el-col :span="12">
-        <el-form-item label="工程分类" prop="enginClassification">
-          <el-select
-            v-model="batchForm.enginClassification"
-            placeholder="请选择工程分类"
-            @change="currentCheckingAll"
-          >
-            <el-option
-              v-for="e in currentEnginTypeChangeOptions"
-              :key="e.dictValue"
-              :label="e.dictLabel"
-              :value="e.dictValue"
-            ></el-option>
-          </el-select>
-        </el-form-item>
+            <el-form-item label="工程分类" prop="enginClassification">
+              <el-select
+                v-model="batchForm.enginClassification"
+                placeholder="请选择工程分类"
+                @change="currentCheckingAll"
+              >
+                <el-option
+                  v-for="e in currentEnginTypeChangeOptions"
+                  :key="e.dictValue"
+                  :label="e.dictLabel"
+                  :value="e.dictValue"
+                ></el-option>
+              </el-select>
+            </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="24">
           <el-col :span="12">
-        <el-form-item label="环节" label-width="78px" prop="type">
-          <el-select
-            v-model="batchForm.type"
-            placeholder="请选择工程分类"
-          >
-            <el-option
-              v-for="e in checkingAllList"
-              :key="e.dictValue"
-              :label="e.dictLabel"
-              :value="e.dictValue"
-            ></el-option>
-          </el-select>
-        </el-form-item>
+            <el-form-item label="环节" label-width="78px" prop="type">
+              <el-select
+                v-model="batchForm.type"
+                placeholder="请选择工程分类"
+              >
+                <el-option
+                  v-for="e in checkingAllList"
+                  :key="e.dictValue"
+                  :label="e.dictLabel"
+                  :value="e.dictValue"
+                ></el-option>
+              </el-select>
+            </el-form-item>
           </el-col>
           <el-col :span="12">
-<!--        <el-form-item prop="reviewTime" label="工程创建时间" style="margin-left: -5%;">-->
-<!--          <el-date-picker-->
-<!--            v-model="batchForm.reviewTime"-->
-<!--            type="month"-->
-<!--            value-format="yyyy-MM"-->
-<!--            placeholder="选择月">-->
-<!--          </el-date-picker>-->
-<!--        </el-form-item>-->
+            <!--        <el-form-item prop="reviewTime" label="工程创建时间" style="margin-left: -5%;">-->
+            <!--          <el-date-picker-->
+            <!--            v-model="batchForm.reviewTime"-->
+            <!--            type="month"-->
+            <!--            value-format="yyyy-MM"-->
+            <!--            placeholder="选择月">-->
+            <!--          </el-date-picker>-->
+            <!--        </el-form-item>-->
             <el-form-item
               label-width="78px"
               label="节点开关"
@@ -756,24 +759,24 @@
           </el-col>
         </el-row>
         <el-row :gutter="24" style="text-align: center">
-        <el-col :span="20">
-        <el-form-item
-          label-width="78px"
-          label="内容"
-          prop="reviewContent"
-        >
-<!--          <div class="block" style="display: inline-block; margin-right: 20px;">-->
-            <el-input
-              v-model="batchForm.reviewContent"
-              placeholder="请输入内容"
-              type="textarea"
-              maxlength="255"
-              show-word-limit
-              :autosize="{ minRows: 4}"
-              style="width: 100%"/>
-<!--          </div>-->
-        </el-form-item>
-        </el-col>
+          <el-col :span="20">
+            <el-form-item
+              label-width="78px"
+              label="内容"
+              prop="reviewContent"
+            >
+              <!--          <div class="block" style="display: inline-block; margin-right: 20px;">-->
+              <el-input
+                v-model="batchForm.reviewContent"
+                placeholder="请输入内容"
+                type="textarea"
+                maxlength="255"
+                show-word-limit
+                :autosize="{ minRows: 4}"
+                style="width: 100%"/>
+              <!--          </div>-->
+            </el-form-item>
+          </el-col>
         </el-row>
       </el-form>
       <span slot="footer" class="dialog-footer">
@@ -862,9 +865,9 @@ export default {
       currentCollapses: [],
       enginId: undefined,
       checkingsVisible: false,
-      batchVisible:false,
+      batchVisible: false,
       updateOption: [],
-      batchFormRules:{
+      batchFormRules: {
         enginType: [
           {required: true, message: "工程类型不能为空", trigger: ['change']}
         ],
@@ -1140,7 +1143,7 @@ export default {
           name: '底腿',
           components: [
             [
-              'caliber' ,// 管径
+              'caliber',// 管径
               'specificConstruction', //具体施工位置
               'constructAddre'//位置
             ],
@@ -1161,7 +1164,7 @@ export default {
         // }
       ],
       currentCheckList: [],
-      enginType:'',
+      enginType: '',
       enginClassificationinfo: '',
       enginClassification: '',
       enginClassificationOption: [],
@@ -1251,8 +1254,8 @@ export default {
         completionStatus: undefined,
         imgUrl: undefined,
         type: undefined,
-        beginTime:[],
-        createBy:''
+        beginTime: [],
+        createBy: ''
       },
       zEngineeringInfoBo: {
         constructAddre: '',        // 施工地址
@@ -1338,18 +1341,18 @@ export default {
         reviewTime: '',
         type: '',
       },
-      batchForm:{
+      batchForm: {
         completionStatus: '',               // 审核状态
         reviewContent: '',              // 审核内容
         enginType: null,
         enginClassification: null,
         reviewTime: '',
         type: '',
-        district:'',
-        buildingId:'',
-        unitId:'',
-        areaId:'',
-        enginCycle:0
+        district: '',
+        buildingId: '',
+        unitId: '',
+        areaId: '',
+        enginCycle: 0
       },
       checkingAllList: [],
       reviewStatusList: [
@@ -1375,7 +1378,7 @@ export default {
       zEngineeringNodeBo: {},
       currentEnginName: null,
       currentCheckingEnginList: [],
-      userList:[]
+      userList: []
     };
   },
   created() {
@@ -1418,41 +1421,40 @@ export default {
     validateCHanged(e) {
       this.reviewStatusList[e].label == '通过' ? this.checkingFormRules.reviewContent[0].required = true : this.checkingFormRules.reviewContent[0].required = false
     },
-    batchAllSubmit(){
+    batchAllSubmit() {
       this.$refs.batchFormAll.validate(valid => {
-          if (valid) {
-            batchNode(this.batchForm).then(res=>{
-              if (res.code == 200) {
-                this.batchVisible = false
-                this.batchForm = {
-                  completionStatus: '',               // 审核状态
-                  reviewContent: '',              // 审核内容
-                  enginType: null,
-                  enginClassification: null,
-                  reviewTime: '',
-                  type: '',
-                  district:'',
-                  buildingId:'',
-                  unitId:'',
-                  areaId:'',
-                  enginCycle:0
-                }
-                setTimeout(()=>this.getList(),1000)
-                this.$refs.batchFormAll.resetFields()
+        if (valid) {
+          batchNode(this.batchForm).then(res => {
+            if (res.code == 200) {
+              this.batchVisible = false
+              this.batchForm = {
+                completionStatus: '',               // 审核状态
+                reviewContent: '',              // 审核内容
+                enginType: null,
+                enginClassification: null,
+                reviewTime: '',
+                type: '',
+                district: '',
+                buildingId: '',
+                unitId: '',
+                areaId: '',
+                enginCycle: 0
               }
-            })
-          } else {
-            this.$message.error('请填写必填项!')
-          }
+              setTimeout(() => this.getList(), 1000)
+              this.$refs.batchFormAll.resetFields()
+            }
+          })
+        } else {
+          this.$message.error('请填写必填项!')
+        }
       })
     },
-    listAll()
-    {
-      listAll({status:0}).then(res=>{
-        this.userList=res.data
+    listAll() {
+      listAll({status: 0}).then(res => {
+        this.userList = res.data
       })
     },
-  checkingAllSubmit() {
+    checkingAllSubmit() {
       this.$refs.checkingFormAll.validate(valid => {
         if (valid) {
           // this.checkingForm.createTime = formatDate(this.checkingForm.createTime)
@@ -1535,8 +1537,8 @@ export default {
             "value": res.data[i].dictValue,
           })
         }
-        this.zEngineeringNodeBo=e
-        this.$refs.ConstructionDetails.open(dict, null, null, '民用', title,this.zEngineeringNodeBo.enginClassification,this.zEngineeringNodeBo.enginType,"民用工程")
+        this.zEngineeringNodeBo = e
+        this.$refs.ConstructionDetails.open(dict, null, null, '民用', title, this.zEngineeringNodeBo.enginClassification, this.zEngineeringNodeBo.enginType, "民用工程")
       })
     },
     viewNodeSource(e = null) {
@@ -1578,7 +1580,7 @@ export default {
         }
         this.zEngineeringNodeBo = e
         console.log(this.zEngineeringNodeBo)
-        this.$refs.ConstructionDetails.open(dict, _, type, '民用', title,this.zEngineeringNodeBo.enginClassification,this.enginType)
+        this.$refs.ConstructionDetails.open(dict, _, type, '民用', title, this.zEngineeringNodeBo.enginClassification, this.enginType)
         this.status = 'read-only'
       })
     },
@@ -1850,22 +1852,22 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
-           this.queryParams1={
+      this.queryParams1 = {
         pageNum: 1,
-          pageSize: 10,
-          district: undefined,
-          areaId: undefined,
-          buildingId: undefined,
-          unitId: undefined,
-          houseId: undefined,
-          enginType: undefined,
-          enginClassification: undefined,
-          enginCycle: 0,
-          completionStatus: undefined,
-          imgUrl: undefined,
-          type: undefined,
-          beginTime:[],
-          createBy:''
+        pageSize: 10,
+        district: undefined,
+        areaId: undefined,
+        buildingId: undefined,
+        unitId: undefined,
+        houseId: undefined,
+        enginType: undefined,
+        enginClassification: undefined,
+        enginCycle: 0,
+        completionStatus: undefined,
+        imgUrl: undefined,
+        type: undefined,
+        beginTime: [],
+        createBy: ''
       }
       this.areaList = []
       this.buildingList = []
@@ -2069,17 +2071,26 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      if (this.queryParams1.district!=undefined&&this.queryParams1.district!=null&&this.queryParams1.district!='')
+      debugger
+      if (this.queryParams1.district == undefined || this.queryParams1.district == null || this.queryParams1.district == '') {
+        this.$message.warning("请选择行政区")
+        return
+      }
+      if (this.queryParams1.enginType == undefined || this.queryParams1.enginType == null || this.queryParams1.enginType == '') {
+        this.$message.warning("请选择工程类型")
+        return
+      }
+      if (this.queryParams1.enginClassification == undefined || this.queryParams1.enginClassification == null || this.queryParams1.enginClassification == '') {
+        this.$message.warning("请选择工程分类")
+        return
+      }
       this.download('zdsz/engineeringCivil/export', {
         ...this.queryParams1
       }, `民用工程-${new Date().getTime()}.xlsx`)
-      else
-      {
-        this.$message.warning("请选择行政区")
-      }
     }
   }
-};
+}
+;
 </script>
 <style lang="scss" scoped>
 
@@ -2167,6 +2178,7 @@ export default {
     height: 115px;
   }
 }
+
 .my-autocomplete {
   li {
     line-height: normal;
@@ -2176,6 +2188,7 @@ export default {
       text-overflow: ellipsis;
       overflow: hidden;
     }
+
     .addr {
       font-size: 12px;
       color: #b4b4b4;

+ 29 - 2
src/views/zdsz/enginnotInstalled/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="85px">
       <el-form-item label="行政区" prop="district">
         <el-select v-model="queryParams.district" placeholder="请选择行政区" clearable
                    @change="queryParams.areaId = undefined;areaList=[];
@@ -75,6 +75,17 @@
           />
         </el-select>
       </el-form-item>
+      <el-form-item label="工程类型" prop="enginType">
+        <el-select v-model="queryParams.enginType" placeholder="请选择工程类型"  filterable clearable
+        >
+          <el-option
+            v-for="dict in enginTypeOption"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </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>
@@ -95,6 +106,11 @@
       <el-table-column label="楼宇名称" align="center" prop="buildingName"/>
       <el-table-column label="单元名称" align="center" prop="unitName"/>
       <el-table-column label="房间名称" align="center" prop="houseName"/>
+      <el-table-column label="工程" align="center" prop="enginType">
+        <template slot-scope="scope">
+          {{ scope.row.enginType === 'old_renovation' ? "旧改工程" : "新建" }}
+        </template>
+      </el-table-column>
       <el-table-column label="未安装类型" align="center" prop="type">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.not_installed_type" :value="scope.row.type"/>
@@ -154,8 +170,18 @@
           unitId: undefined,
           houseId: undefined,
           type: undefined,
+          enginType: undefined,
         },
         enginNotInstalledList:[],
+        enginTypeOption: [
+          {
+            value: 'old_renovation',
+            label: '旧改'
+          }, {
+            value: 'new_built',
+            label: '新建'
+          },
+        ],
         // 表单参数
         form: {},
         value: [],
@@ -216,7 +242,8 @@
           buildingId: undefined,
           unitId: undefined,
           houseId: undefined,
-          type: undefined
+          type: undefined,
+          enginType: undefined
         }
         this.areaList = []
         this.buildingList = []

+ 10 - 10
src/views/zdsz/openbolt/index.vue

@@ -113,16 +113,16 @@
           v-hasPermi="['zdsz:openbolt:remove']"
         >删除</el-button>
       </el-col>
-      <!--      <el-col :span="1.5">-->
-      <!--        <el-button-->
-      <!--          type="warning"-->
-      <!--          plain-->
-      <!--          icon="el-icon-download"-->
-      <!--          size="mini"-->
-      <!--          @click="handleExport"-->
-      <!--          v-hasPermi="['zdsz:openbolt:export']"-->
-      <!--        >导出</el-button>-->
-      <!--      </el-col>-->
+            <el-col :span="1.5">
+              <el-button
+                type="warning"
+                plain
+                icon="el-icon-download"
+                size="mini"
+                @click="handleExport"
+                v-hasPermi="['zdsz:openbolt:export']"
+              >导出</el-button>
+            </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>