Browse Source

页面调整

qzy 11 months ago
parent
commit
60b9af5e3b

+ 53 - 0
src/api/report/RECORD.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询辅助决策列表
+export function listRECORD(query) {
+  return request({
+    url: '/report/RECORD/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询辅助决策所有列表
+export function listAllRECORD(query) {
+  return request({
+    url: '/report/RECORD/listAll',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询辅助决策详细
+export function getRECORD(id) {
+  return request({
+    url: '/report/RECORD/getInfo/' + id,
+    method: 'get'
+  })
+}
+
+// 新增辅助决策
+export function addRECORD(data) {
+  return request({
+    url: '/report/RECORD/add',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改辅助决策
+export function updateRECORD(data) {
+  return request({
+    url: '/report/RECORD/edit',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除辅助决策
+export function delRECORD(id) {
+  return request({
+    url: '/report/RECORD/remove/' + id,
+    method: 'get'
+  })
+}

+ 53 - 0
src/api/report/SETTING.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询报告设置列表
+export function listSETTING(query) {
+  return request({
+    url: '/report/SETTING/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询报告设置所有列表
+export function listAllSETTING(query) {
+  return request({
+    url: '/report/SETTING/listAll',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询报告设置详细
+export function getSETTING(id) {
+  return request({
+    url: '/report/SETTING/getInfo/' + id,
+    method: 'get'
+  })
+}
+
+// 新增报告设置
+export function addSETTING(data) {
+  return request({
+    url: '/report/SETTING/add',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改报告设置
+export function updateSETTING(data) {
+  return request({
+    url: '/report/SETTING/edit',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除报告设置
+export function delSETTING(id) {
+  return request({
+    url: '/report/SETTING/remove/' + id,
+    method: 'get'
+  })
+}

+ 53 - 0
src/api/template/inOutTotal.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询特定地区进出口总值(人民币)列表
+export function listOUTINTOTAL(query) {
+    return request({
+        url: '/business/OUTINTOTAL/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// 查询特定地区进出口总值(人民币)所有列表
+export function listAllOUTINTOTAL(query) {
+    return request({
+        url: '/business/OUTINTOTAL/listAll',
+        method: 'get',
+        params: query
+    })
+}
+
+// 查询特定地区进出口总值(人民币)详细
+export function getOUTINTOTAL(id) {
+    return request({
+        url: '/business/OUTINTOTAL/getInfo/' + id,
+        method: 'get'
+    })
+}
+
+// 新增特定地区进出口总值(人民币)
+export function addOUTINTOTAL(data) {
+    return request({
+        url: '/business/OUTINTOTAL/add',
+        method: 'post',
+        data: data
+    })
+}
+
+// 修改特定地区进出口总值(人民币)
+export function updateOUTINTOTAL(data) {
+    return request({
+        url: '/business/OUTINTOTAL/edit',
+        method: 'post',
+        data: data
+    })
+}
+
+// 删除特定地区进出口总值(人民币)
+export function delOUTINTOTAL(id) {
+    return request({
+        url: '/business/OUTINTOTAL/remove/' + id,
+        method: 'get'
+    })
+}

+ 345 - 0
src/views/report/RECORD/index.vue

@@ -0,0 +1,345 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item>
+        <el-date-picker
+            v-model="queryParams.reportMonth"
+            type="month"
+            placeholder="选择月">
+        </el-date-picker>
+        <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="['report:RECORD: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="['report:RECORD: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="['report:RECORD:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="RECORDList" @selection-change="handleSelectionChange" >
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column type="index" width="50" align="center" label="序号"/>
+      <el-table-column label="年份" align="center" prop="reportYear">
+      </el-table-column>
+      <el-table-column label="月份" align="center" prop="reportMonth">
+
+      </el-table-column>
+      <el-table-column label="创建时间" align="center" prop="createTime">
+
+      </el-table-column>
+      <el-table-column label="修改时间" align="center" prop="updateTime">
+
+      </el-table-column>
+
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
+        <template slot-scope="scope">
+          <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-paperclip"
+              @click="handleInfo(scope.row)"
+
+          >分析详情
+          </el-button>
+          <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-edit"
+              @click="handleUpdate(scope.row)"
+              v-hasPermi="['report:RECORD:edit']"
+          >修改
+          </el-button>
+          <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-delete"
+              @click="handleDelete(scope.row)"
+              v-hasPermi="['report:RECORD: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"
+    />
+    <div  v-if="detail.open">
+      <div>{{detail.title}}</div>
+      <div>一、主要指标运行情况</div>
+      <div>{?}</div>
+      <p v-html="detail.form.result"></p>
+    </div>
+
+    <!-- 添加或修改辅助决策对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body id="upload-win">
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <el-form-item label="进出口总值">
+          <el-upload
+              ref="upload"
+              :limit="1"
+              accept=".xlsx, .xls"
+              :headers="upload.headers"
+              :action="upload.url + '?updateSupport=' + upload.updateSupport"
+              :disabled="upload.isUploading"
+              :on-progress="handleFileUploadProgress"
+              :on-success="handleFileSuccess"
+              drag
+          >
+            <i class="el-icon-upload"></i>
+            <div class="el-upload__text">
+              将文件拖到此处,或
+              <em>点击上传</em>
+            </div>
+            <div class="el-upload__tip text-left" slot="tip">
+              <div class="el-upload__tip" slot="tip">
+                <label class="notice-tip">注意</label>
+                导入相同的统计数据会覆盖原来的数据
+              </div>
+              <span>仅允许导入xls、xlsx格式文件。</span>
+            </div>
+          </el-upload>
+        </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 {getRECORD, listRECORD, addRECORD, delRECORD, updateRECORD} from "@/api/report/RECORD";
+import {getToken} from "@/utils/auth";
+import {Loading} from 'element-ui';
+
+export default {
+  name: "RECORD",
+  data() {
+    return {
+      // 根路径
+      baseURL: process.env.VUE_APP_BASE_API,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 辅助决策表格数据
+      RECORDList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      upload: {
+        // 是否显示弹出层(用户导入)
+        open: false,
+        // 弹出层标题(用户导入)
+        title: '',
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        // 设置上传的请求头部
+        headers: {Authorization: 'Bearer ' + getToken()},
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + '/template/importExcel'
+      },
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        id: null,
+        reportYear: null,
+        reportMonth: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      detail:{
+        title:'详情',
+        open:false,
+       form:{
+          result:''
+       }
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    handleFileUploadProgress(event, file, fileList) {
+
+    },
+    handleFileSuccess(response, file, fileList) {
+      let code = response.code;
+      this.$refs.upload.clearFiles();
+      if (code !== 200) {
+        this.$message.error(response.msg);
+        return;
+      }
+      this.$message.success('处理成功');
+      this.reset();
+      this.open = false;
+      this.getList();
+    },
+    handleInfo(row){
+      this.detail={
+        title:row.reportYear+'年'+row.reportMonth+'月',
+        open: true,
+        form:row
+      }
+    },
+    /** 查询辅助决策列表 */
+    getList() {
+      console.log(document.querySelector('#upload-win'))
+      this.loading = true;
+      listRECORD(this.queryParams).then(response => {
+        this.RECORDList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        reportYear: null,
+        reportMonth: null,
+        result: null
+      };
+      this.resetForm("form");
+      this.queryParams.reportMonth = null;
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加辅助决策";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getRECORD(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改辅助决策";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateRECORD(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addRECORD(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除辅助决策编号为"' + ids + '"的数据项?').then(function () {
+        return delRECORD(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {
+      });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('report/RECORD/export', {
+        ...this.queryParams
+      }, `RECORD_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+<style>
+.el-upload-dragger {
+  width: 230px;
+}
+</style>

+ 319 - 0
src/views/reportsetting/index.vue

@@ -0,0 +1,319 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item>
+        <el-input
+            v-model="queryParams.operName"
+            placeholder="字典描述"
+            clearable
+            size="small"
+            style="width: 240px;"
+            @keyup.enter.native="description"
+        />
+      </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="['report:SETTING: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="['report:SETTING: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="['report:SETTING:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="SETTINGList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column type="index" width="50" align="center" label="序号"/>
+      <el-table-column label="字典描述" align="center" prop="description">
+      </el-table-column>
+      <el-table-column label="同比范围(%)" align="center">
+        <template slot-scope="scope">{{ scope.row.minNum }} ~ {{ scope.row.maxNum }}</template>
+      </el-table-column>
+      <el-table-column label="创建时间" align="center" prop="createTime">
+      </el-table-column>
+      <el-table-column label="修改时间" align="center" prop="updateTime">
+      </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="['report:SETTING:edit']"
+          >修改
+          </el-button>
+          <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-delete"
+              @click="handleDelete(scope.row)"
+              v-hasPermi="['report:SETTING: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="100px">
+        <el-divider content-position="left">同比范围(%)</el-divider>
+        <el-form-item prop="minNum" label="最小值">
+          <el-input-number
+              controls-position="right"
+              v-model="form.minNum"
+              placeholder="最小值"
+              clearable
+          />
+        </el-form-item>
+        <el-form-item prop="maxNum" label="最大值">
+          <el-input-number
+              controls-position="right"
+              v-model="form.maxNum"
+              placeholder="最大值"
+              clearable
+          />
+        </el-form-item>
+
+        <el-form-item label="描述" prop="description">
+          <el-input
+              v-model="form.description"
+              placeholder="描述"
+              clearable
+              type="textarea"
+              size="small"
+          />
+        </el-form-item>
+        <div class="notice-tip">注意:范围规定包含最小值,但是不包含最大值</div>
+      </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 {getSETTING, listSETTING, addSETTING,delSETTING,updateSETTING} from "@/api/report/SETTING";
+
+export default {
+  name: "SETTING",
+  data() {
+    return {
+      // 根路径
+      baseURL: process.env.VUE_APP_BASE_API,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 报告设置表格数据
+      SETTINGList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        description: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        minNum: [
+          {validator: this.checkMin, trigger: "change"},
+          {required: true}
+        ],
+        maxNum: [
+          {validator: this.checkMax, trigger: "change"},
+          {required: true}
+        ],
+        description: [
+          {required: true, message: "描述不能为空", trigger: "blur"}
+        ]
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    checkMin(rule, value, callback) {
+      if (this.form.maxNum != null && value > this.form.maxNum) {
+        callback(new Error('最小值不能大于最大值'));
+      } else {
+        callback();
+      }
+    },
+    checkMax(rule, value, callback) {
+      if (this.form.minNum != null && value < this.form.minNum) {
+        callback(new Error('最大值不能小于最小值'));
+      } else {
+        callback();
+      }
+    },
+    /** 查询报告设置列表 */
+    getList() {
+      this.loading = true;
+      listSETTING(this.queryParams).then(response => {
+        this.SETTINGList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        minNum: null,
+        maxNum: null,
+        description: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加字典";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSETTING(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改字典";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSETTING(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSETTING(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除数据?').then(function () {
+        return delSETTING(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {
+      });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('report/SETTING/export', {
+        ...this.queryParams
+      }, `SETTING_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
+<style>
+.notice-tip:before {
+  content: '*';
+  color: red;
+}
+
+.input-contain {
+  display: flex;
+}
+
+.input-item {
+
+}
+</style>

+ 278 - 358
src/views/template/import.vue

@@ -1,116 +1,174 @@
 <template>
   <div class="app-container">
-    <el-row :gutter="20">
-      <!--用户数据-->
-      <el-col :span="21" :xs="24">
-        <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5"><el-button type="warning" icon="el-icon-download" @click="handleImport" v-hasPermi="['business:template:import']">导入</el-button></el-col>
-          <!--<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
-        </el-row>
-        <!--<el-table border :data="userList" @selection-change="handleSelectionChange" height="calc(100vh - 273px)">
-          <el-table-column type="selection" align="center" width="50" />
-          <el-table-column label="账号" align="center" key="userName" prop="userName" :show-overflow-tooltip="true" width="110" />
-          <el-table-column label="姓名" align="center" key="nickName" prop="nickName" :show-overflow-tooltip="true" width="110" />
-          <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" :show-overflow-tooltip="true" width="170" />
-          <el-table-column label="角色" align="center" width="170">
-            <template slot-scope="scope">
-              <el-tag type="danger" size="mini" style="margin-top: 2px" v-if="scope.row.userName == 'admin'">超级管理员</el-tag>
-              <div v-else>
-                <span v-for="(item, index) in scope.row.rolesGroup.split(',')" style="padding-right: 5px">{{ item }}</span>
-              </div>
-            </template>
-          </el-table-column>
-          <el-table-column label="状态" align="center" key="status" width="100">
-            <template slot-scope="scope">
-              <div class="switch">
-                <el-switch v-model="scope.row.status" active-value="0" :width="50" inactive-value="1" @change="handleStatusChange(scope.row)"></el-switch>
-                <span class="zc" v-if="scope.row.status == 0">正常</span>
-                <span class="ty" v-else>停用</span>
-              </div>
-            </template>
-          </el-table-column>
-          <el-table-column label="创建时间" align="center" prop="createTime" width="175">
-            <template slot-scope="scope">
-              <span>{{ parseTime(scope.row.createTime) }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="操作" align="center">
-            <template slot-scope="scope" v-if="scope.row.userId !== 1">
-              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">修改</el-button>
-              <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
-              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
-                <span class="el-dropdown-link">
-                  <i class="el-icon-d-arrow-right el-icon&#45;&#45;right"></i>
-                  更多
-                </span>
-                <el-dropdown-menu slot="dropdown">
-                  <el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item>
-                  <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" v-hasPermi="['system:user:edit']">分配角色</el-dropdown-item>
-                </el-dropdown-menu>
-              </el-dropdown>
-            </template>
-          </el-table-column>
-          <template slot="empty">
-            <el-empty></el-empty>
-          </template>
-        </el-table>
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />-->
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <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="['business:OUTINTOTAL: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="['business:OUTINTOTAL: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="['business:OUTINTOTAL: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="['business:OUTINTOTAL:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
-    <el-row >
-      <p >
-        {{originalText}}
-      </p>
-    </el-row>
-    <!-- 用户导入对话框 -->
-    <el-dialog :title="upload.title" :visible.sync="upload.open" :close-on-click-modal="false" width="400px" append-to-body>
-      <el-upload
-        ref="upload"
-        :limit="1"
-        accept=".xlsx, .xls"
-        :headers="upload.headers"
-        :action="upload.url + '?updateSupport=' + upload.updateSupport"
-        :disabled="upload.isUploading"
-        :on-progress="handleFileUploadProgress"
-        :on-success="handleFileSuccess"
-        :auto-upload="false"
-        drag
-      >
-        <i class="el-icon-upload"></i>
-        <div class="el-upload__text">
-          将文件拖到此处,或
-          <em>点击上传</em>
-        </div>
-        <div class="el-upload__tip text-center" slot="tip">
-          <div class="el-upload__tip" slot="tip">
-            <el-checkbox v-model="upload.updateSupport" />
-            是否更新已经存在的用户数据
-          </div>
-          <span>仅允许导入xls、xlsx格式文件。</span>
-          <el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline" @click="importTemplate">下载模板</el-link>
-        </div>
-      </el-upload>
+
+    <el-table v-loading="loading" :data="OUTINTOTALList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="id" align="center" prop="id">
+
+      </el-table-column>
+      <el-table-column label="创建时间" align="center" prop="createTime">
+
+      </el-table-column>
+      <el-table-column label="创建人" align="center" prop="createBy">
+
+      </el-table-column>
+      <el-table-column label="修改时间" align="center" prop="updateTime">
+
+      </el-table-column>
+      <el-table-column label="修改人" align="center" prop="updateBy">
+
+      </el-table-column>
+      <el-table-column label="删除标识" align="center" prop="delFlag">
+
+      </el-table-column>
+      <el-table-column label="部门id" align="center" prop="deptId">
+
+      </el-table-column>
+      <el-table-column label="特定经济地区名称" align="center" prop="name">
+
+      </el-table-column>
+      <el-table-column label="当前月" align="center" prop="currentMonth">
+
+      </el-table-column>
+      <el-table-column label="累计月" align="center" prop="cumulativeMonth">
+
+      </el-table-column>
+      <el-table-column label="进出口当前月值" align="center" prop="totalCurrentMonth">
+
+      </el-table-column>
+      <el-table-column label="进出口累计月值" align="center" prop="totalCumulativeMonth">
+
+      </el-table-column>
+      <el-table-column label="出口当前月值" align="center" prop="outCurrentMonth">
+
+      </el-table-column>
+      <el-table-column label="出口累计月值" align="center" prop="outCumulativeMonth">
+
+      </el-table-column>
+      <el-table-column label="进口当前月值" align="center" prop="inCurrentMonth">
+
+      </el-table-column>
+      <el-table-column label="进口累计月值" align="center" prop="inCumulativeMonth">
+
+      </el-table-column>
+      <el-table-column label="进出口去年同期百分比" align="center" prop="totalInc">
+
+      </el-table-column>
+      <el-table-column label="出口去年同期百分比" align="center" prop="outInc">
+
+      </el-table-column>
+      <el-table-column label="进口去年同期百分比" align="center" prop="inInc">
+
+      </el-table-column>
+      <el-table-column label="排名" align="center" prop="index">
+
+      </el-table-column>
+      <el-table-column label="${comment}" align="center" prop="reportId">
+
+      </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="['business:OUTINTOTAL:edit']"
+          >修改</el-button>
+          <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-delete"
+              @click="handleDelete(scope.row)"
+              v-hasPermi="['business:OUTINTOTAL: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>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitFileForm">确 定</el-button>
-        <el-button @click="upload.open = false">取 消</el-button>
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
   </div>
 </template>
 
 <script>
-import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from '@/api/system/user';
-import { getToken } from '@/utils/auth';
-import Treeselect from '@riophae/vue-treeselect';
-import '@riophae/vue-treeselect/dist/vue-treeselect.css';
+import {getOUTINTOTAL, listOUTINTOTAL} from "@/api/template/inOutTotal";
 
 export default {
-  name: 'User',
-  dicts: ['sys_normal_disable'],
-  components: { Treeselect },
+  name: "OUTINTOTAL",
   data() {
     return {
-      originalText: '空',
+      // 根路径
+      baseURL: process.env.VUE_APP_BASE_API,
+      // 遮罩层
+      loading: true,
       // 选中数组
       ids: [],
       // 非单个禁用
@@ -121,172 +179,109 @@ export default {
       showSearch: true,
       // 总条数
       total: 0,
-      // 用户表格数据
-      userList: null,
+      // 特定地区进出口总值(人民币)表格数据
+      OUTINTOTALList: [],
       // 弹出层标题
-      title: '',
-      // 部门树选项
-      deptOptions: undefined,
+      title: "",
       // 是否显示弹出层
       open: false,
-      // 部门名称
-      deptName: undefined,
-      // 默认密码
-      initPassword: undefined,
-      // 日期范围
-      dateRange: [],
-      // 岗位选项
-      postOptions: [],
-      // 角色选项
-      roleOptions: [],
-      // 表单参数
-      form: {},
-      defaultProps: {
-        children: 'children',
-        label: 'label'
-      },
-      // 用户导入参数
-      upload: {
-        // 是否显示弹出层(用户导入)
-        open: false,
-        // 弹出层标题(用户导入)
-        title: '',
-        // 是否禁用上传
-        isUploading: false,
-        // 是否更新已经存在的用户数据
-        updateSupport: 0,
-        // 设置上传的请求头部
-        headers: { Authorization: 'Bearer ' + getToken() },
-        // 上传的地址
-        url: process.env.VUE_APP_BASE_API + '/template/importExcel'
-      },
       // 查询参数
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        userName: undefined,
-        phonenumber: undefined,
-        status: undefined,
-        deptId: undefined,
-        orderByColumn: 'create_time',
-        isAsc: 'desc'
+        id: null,
+        createTime: null,
+        createBy: null,
+        updateTime: null,
+        updateBy: null,
+        delFlag: null,
+        deptId: null,
+        name: null,
+        currentMonth: null,
+        cumulativeMonth: null,
+        totalCurrentMonth: null,
+        totalCumulativeMonth: null,
+        outCurrentMonth: null,
+        outCumulativeMonth: null,
+        inCurrentMonth: null,
+        inCumulativeMonth: null,
+        totalInc: null,
+        outInc: null,
+        inInc: null,
+        index: null,
+        reportId: null
       },
+      // 表单参数
+      form: {},
       // 表单校验
       rules: {
-        userName: [
-          { required: true, message: '账号不能为空', trigger: 'blur' },
-          { min: 2, max: 20, message: '账号长度必须介于 2 和 20 之间', trigger: 'blur' }
+        id: [
+          { required: true, message: "id不能为空", trigger: "blur" }
         ],
-        nickName: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
-        password: [
-          { required: true, message: '密码不能为空', trigger: 'blur' },
-          { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
+        delFlag: [
+          { required: true, message: "删除标识不能为空", trigger: "blur" }
         ],
-        email: [
-          {
-            type: 'email',
-            message: '请输入正确的邮箱地址',
-            trigger: ['blur', 'change']
-          }
+        deptId: [
+          { required: true, message: "部门id不能为空", trigger: "blur" }
         ],
-        phonenumber: [
-          {
-            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-            message: '请输入正确的手机号码',
-            trigger: 'blur'
-          }
+        name: [
+          { required: true, message: "特定经济地区名称不能为空", trigger: "blur" }
+        ],
+        currentMonth: [
+          { required: true, message: "当前月不能为空", trigger: "blur" }
+        ],
+        cumulativeMonth: [
+          { required: true, message: "累计月不能为空", trigger: "blur" }
+        ],
+        totalCurrentMonth: [
+          { required: true, message: "进出口当前月值不能为空", trigger: "blur" }
+        ],
+        totalCumulativeMonth: [
+          { required: true, message: "进出口累计月值不能为空", trigger: "blur" }
+        ],
+        outCurrentMonth: [
+          { required: true, message: "出口当前月值不能为空", trigger: "blur" }
+        ],
+        outCumulativeMonth: [
+          { required: true, message: "出口累计月值不能为空", trigger: "blur" }
+        ],
+        inCurrentMonth: [
+          { required: true, message: "进口当前月值不能为空", trigger: "blur" }
+        ],
+        inCumulativeMonth: [
+          { required: true, message: "进口累计月值不能为空", trigger: "blur" }
+        ],
+        totalInc: [
+          { required: true, message: "进出口去年同期百分比不能为空", trigger: "blur" }
+        ],
+        outInc: [
+          { required: true, message: "出口去年同期百分比不能为空", trigger: "blur" }
+        ],
+        inInc: [
+          { required: true, message: "进口去年同期百分比不能为空", trigger: "blur" }
+        ],
+        index: [
+          { required: true, message: "排名不能为空", trigger: "blur" }
+        ],
+        reportId: [
+          { required: true, message: "$comment不能为空", trigger: "blur" }
         ]
       }
     };
   },
-  watch: {
-    // 根据名称筛选部门树
-    deptName(val) {
-      this.$refs.tree.filter(val);
-    }
-  },
   created() {
-    this.replace();
     this.getList();
-    this.getDeptTree();
-    this.getConfigKey('sys.user.initPassword').then((response) => {
-      this.initPassword = response.msg;
-    });
   },
   methods: {
-
-    replace() {
-      console.log("-----------1---------")
-      const replaceTemplates = (text, data) => {
-        const pattern = /#(\w+)/g;
-        const result = text.replace(pattern, (match, dynamicWord) => {
-          return data.find((item) => item.key === dynamicWord)?.value || match;
-        });
-        return result;
-      };
-
-      //let str = '2024年#cumulativeMonth广西综合保税区经济运行分析';
-      let str = '(一)外贸进出口承压运行、总体平稳。' +
-        '#cumulativeMonth,全区综保区外贸进出口#total亿元,占全区外贸进出口#totalpercent,同比#amplitude#risepercent。' +
-        '其中,凭祥、南宁综保区分别同比增长46.5%、24%,钦州、北海综保区进出口分别下降20.5%、20.9%。' +
-        '受2023年下半年以来国际市场需求萎缩、加工贸易订单大幅减少以及今年年初海关总署统计规则调整等因素影响,下行压力依然较大,增幅将进一步缩减。';
-      let amplitude = "";
-      let risepercent = "22.7%";
-      if(risepercent.includes("-")) {
-        amplitude = "增长"
-      } else {
-        amplitude = "下降"
-      }
-      let data = [
-        { key: 'cumulativeMonth', value: '1-2月' },
-        { key: 'total', value: '332.9' },
-        { key: 'totalpercent', value: '30.5%' },
-        { key: 'amplitude', value: amplitude },
-        { key: 'risepercent', value: risepercent },
-      ];
-      this.originalText = replaceTemplates(str, data);
-
-    },
-
-
-    /** 查询用户列表 */
+    /** 查询特定地区进出口总值(人民币)列表 */
     getList() {
-      listUser(this.addDateRange(this.queryParams, this.dateRange)).then((response) => {
-        this.userList = response.rows;
+      this.loading = true;
+      listOUTINTOTAL(this.queryParams).then(response => {
+        this.OUTINTOTALList = response.rows;
         this.total = response.total;
+        this.loading = false;
       });
     },
-    /** 查询部门下拉树结构 */
-    getDeptTree() {
-      deptTreeSelect().then((response) => {
-        this.deptOptions = response.data;
-      });
-    },
-    // 筛选节点
-    filterNode(value, data) {
-      if (!value) return true;
-      return data.label.indexOf(value) !== -1;
-    },
-    // 节点单击事件
-    handleNodeClick(data) {
-      this.queryParams.deptId = data.id;
-      this.handleQuery();
-    },
-    // 用户状态修改
-    handleStatusChange(row) {
-      let text = row.status === '0' ? '启用' : '停用';
-      this.$modal
-        .confirm('确认要' + text + '"' + row.userName + '"用户吗?')
-        .then(function () {
-          return changeUserStatus(row.userId, row.status);
-        })
-        .then(() => {
-          this.$modal.msgSuccess(text + '成功');
-        })
-        .catch(function () {
-          row.status = row.status === '0' ? '1' : '0';
-        });
-    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -295,20 +290,25 @@ export default {
     // 表单重置
     reset() {
       this.form = {
-        userId: undefined,
-        deptId: undefined,
-        userName: undefined,
-        nickName: undefined,
-        password: undefined,
-        phonenumber: undefined,
-        email: undefined,
-        sex: undefined,
-        status: '0',
-        remark: undefined,
-        postIds: [],
-        roleIds: []
+        id: null,
+        delFlag: null,
+        deptId: null,
+        name: null,
+        currentMonth: null,
+        cumulativeMonth: null,
+        totalCurrentMonth: null,
+        totalCumulativeMonth: null,
+        outCurrentMonth: null,
+        outCumulativeMonth: null,
+        inCurrentMonth: null,
+        inCumulativeMonth: null,
+        totalInc: null,
+        outInc: null,
+        inInc: null,
+        index: null,
+        reportId: null
       };
-      this.resetForm('form');
+      this.resetForm("form");
     },
     /** 搜索按钮操作 */
     handleQuery() {
@@ -317,89 +317,44 @@ export default {
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.dateRange = [];
-      this.resetForm('queryForm');
+      this.resetForm("queryForm");
       this.handleQuery();
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.userId);
-      this.single = selection.length != 1;
-      this.multiple = !selection.length;
-    },
-    // 更多操作触发
-    handleCommand(command, row) {
-      switch (command) {
-        case 'handleResetPwd':
-          this.handleResetPwd(row);
-          break;
-        case 'handleAuthRole':
-          this.handleAuthRole(row);
-          break;
-        default:
-          break;
-      }
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
     },
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
       this.open = true;
-      this.title = '添加用户';
-      getUser().then((response) => {
-        this.postOptions = response.posts;
-        this.roleOptions = response.roles;
-        this.form.password = this.initPassword;
-      });
+      this.title = "添加特定地区进出口总值(人民币)";
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.open = true;
-      this.title = '修改用户';
-      const userId = row.userId || this.ids;
-      getUser(userId).then((response) => {
+      const id = row.id || this.ids
+      getOUTINTOTAL(id).then(response => {
         this.form = response.data;
-        this.postOptions = response.posts;
-        this.roleOptions = response.roles;
-        this.form.postIds = response.postIds;
-        this.form.roleIds = response.roleIds;
-        this.form.password = '';
+        this.open = true;
+        this.title = "修改特定地区进出口总值(人民币)";
       });
     },
-    /** 重置密码按钮操作 */
-    handleResetPwd(row) {
-      this.$prompt('请输入"' + row.userName + '"的新密码', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        closeOnClickModal: false,
-        inputPattern: /^.{5,20}$/,
-        inputErrorMessage: '用户密码长度必须介于 5 和 20 之间'
-      })
-        .then(({ value }) => {
-          resetUserPwd(row.userId, value).then((response) => {
-            this.$modal.msgSuccess('修改成功,新密码是:' + value);
-          });
-        })
-        .catch(() => {});
-    },
-    /** 分配角色操作 */
-    handleAuthRole: function (row) {
-      const userId = row.userId;
-      this.$router.push('/system/user-auth/role/' + userId);
-    },
     /** 提交按钮 */
-    submitForm: function () {
-      this.$refs['form'].validate((valid) => {
+    submitForm() {
+      this.$refs["form"].validate(valid => {
         if (valid) {
-          if (this.form.userId != undefined) {
-            updateUser(this.form).then((response) => {
-              this.$modal.msgSuccess('修改成功');
+          if (this.form.id != null) {
+            updateOUTINTOTAL(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addUser(this.form).then((response) => {
-              this.$modal.msgSuccess('新增成功');
+            addOUTINTOTAL(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
             });
@@ -409,54 +364,19 @@ export default {
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      const userIds = row.userId || this.ids;
-      this.$modal
-        .confirm('是否确认删除用户编号为"' + userIds + '"的数据项?')
-        .then(function () {
-          return delUser(userIds);
-        })
-        .then(() => {
-          this.getList();
-          this.$modal.msgSuccess('删除成功');
-        })
-        .catch(() => {});
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除特定地区进出口总值(人民币)编号为"' + ids + '"的数据项?').then(function() {
+        return delOUTINTOTAL(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download(
-        'system/user/export',
-        {
-          ...this.queryParams
-        },
-        `user_${new Date().getTime()}.xlsx`
-      );
-    },
-    /** 导入按钮操作 */
-    handleImport() {
-      this.upload.title = '用户导入';
-      this.upload.open = true;
-    },
-    /** 下载模板操作 */
-    importTemplate() {
-      this.download('system/user/importTemplate', {}, `user_template_${new Date().getTime()}.xlsx`);
-    },
-    // 文件上传中处理
-    handleFileUploadProgress(event, file, fileList) {
-      this.upload.isUploading = true;
-    },
-    // 文件上传成功处理
-    handleFileSuccess(response, file, fileList) {
-      this.upload.open = false;
-      this.upload.isUploading = false;
-      this.$refs.upload.clearFiles();
-      this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + '</div>', '导入结果', {
-        dangerouslyUseHTMLString: true
-      });
-      this.getList();
-    },
-    // 提交上传文件
-    submitFileForm() {
-      this.$refs.upload.submit();
+      this.download('business/OUTINTOTAL/export', {
+        ...this.queryParams
+      }, `OUTINTOTAL_${new Date().getTime()}.xlsx`)
     }
   }
 };