wang_xy преди 1 година
родител
ревизия
77fd36d0b3

+ 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>

+ 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:[],

+ 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>