From 9083fd270cd172f998eb2dd3dfae59187a70cb1a Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Sat, 07 Oct 2023 09:31:11 +0800
Subject: [PATCH] Merge branch 'feature_1.0'

---
 src/views/toCarryOutLegislativeReforms/delay/index.vue |  324 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 324 insertions(+), 0 deletions(-)

diff --git a/src/views/toCarryOutLegislativeReforms/delay/index.vue b/src/views/toCarryOutLegislativeReforms/delay/index.vue
new file mode 100644
index 0000000..f5c0c48
--- /dev/null
+++ b/src/views/toCarryOutLegislativeReforms/delay/index.vue
@@ -0,0 +1,324 @@
+<template>
+  <div class="main">
+    <div>
+      <searchBar v-if="searchType" :search-type="searchType" @handleSearch="handleSearch" @handleAdd="handleOpenDialog(null,'add')" />
+      <div class="tab">
+        <el-table
+          :data="tableData"
+          border
+          size="mini"
+          max-height="680"
+          style="width: 100%"
+          :header-cell-style="{
+            color: '#101111', fontSize: '16px'
+          }"
+        >
+          <el-table-column
+            type="index"
+            label="������"
+            width="60px"
+            align="center"
+          />
+          <el-table-column
+            align="center"
+            prop="allocationNum"
+            label="������"
+          />
+          <el-table-column
+            align="center"
+            prop="createTime"
+            label="������"
+          />
+          <el-table-column
+            align="center"
+            prop="unitId"
+            label="������������"
+            :formatter="unitIdFormatter"
+          />
+          <el-table-column
+            align="center"
+            prop="polluteType"
+            label="������������"
+            :formatter="polluteTypeFormatter"
+          />
+          <el-table-column
+            align="center"
+            prop="changeType"
+            label="������������"
+          >
+            <template slot-scope="scope">
+              <div>  {{ dictObj.changeEnum[scope.row.changeType] }}</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="extensionNum"
+            width="60px"
+            label="������������"
+          >
+            <template slot-scope="scope">
+              <div>  {{ scope.row.extensionNum }}���</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="address"
+            width="80px"
+            label="������"
+          >
+            <template slot-scope="scope">
+              <el-tag v-if="scope.row.state===40" type="success" size="medium ">
+                {{ stateFormatter(scope.row) }}
+              </el-tag>
+              <el-tag v-if="scope.row.state===50" type="danger" size="medium ">
+                {{ stateFormatter(scope.row) }}
+              </el-tag>
+              <el-tag v-if="scope.row.state===9" type="info" size="medium ">
+                {{ stateFormatter(scope.row) }}
+              </el-tag>
+              <el-tag v-if="scope.row.state===20" type="warning" size="medium ">
+                {{ stateFormatter(scope.row) }}
+              </el-tag>
+              <el-tag v-if="scope.row.state===10" type="warning" size="medium ">
+                {{ stateFormatter(scope.row) }}
+              </el-tag>
+              <el-tag v-if="scope.row.state===30" type="warning" size="medium ">
+                {{ stateFormatter(scope.row) }}
+              </el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+          >
+            <template slot="header">
+              <div>������������</div>
+              <div>���������</div>
+            </template>
+            <template slot-scope="scope">
+              <div> {{ scope.row.escalationName }}</div>
+              <div> {{ updatUnitIdFormatter(scope.row) }}</div>
+
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+          >
+            <template slot="header">
+              <div>���������</div>
+              <div>������������</div>
+            </template>
+            <template slot-scope="scope">
+              <div>{{ scope.row.updateName }}</div>
+              <div>{{ scope.row.updateTime }}</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="address"
+            width="100px"
+            label="������"
+          >
+            <template slot-scope="scope">
+              <el-button type="text" size="medium" @click="openWorkOrdinDialog(scope.row,'detail')">������</el-button>
+              <el-button v-if="scope.row.state===30&&scope.row.isApprove===1" type="text" size="medium" @click="openWorkOrdinDialog(scope.row,'approve')">������</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <div class="pagina">
+        <el-pagination
+          background
+          :current-page="pagination.currentPage"
+          :page-sizes="pagination.pageSizes"
+          :page-size="pagination.pageSize"
+          :total="pagination.totalCount"
+          layout="total, sizes, prev, pager, next, jumper"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+        />
+      </div>
+    </div>
+    <workOrderInformation v-if="workOrdinDialogVisible" :dialog-data="dialogData" :visible.sync="workOrdinDialogVisible" @handeleSumit="handeleWorkSumbit" />
+  </div>
+</template>
+
+<script>
+import workOrderInformation from '@/views/toCarryOutLegislativeReforms/components/workOrderInformation'
+import searchBar from '@/views/toCarryOutLegislativeReforms/delay/componets/queryForm'
+export default {
+  components: {
+    searchBar,
+    workOrderInformation
+  },
+  data() {
+    return {
+      Dic: JSON.parse(localStorage.getItem('dict')),
+      dictObj: JSON.parse(localStorage.getItem('dictObj')),
+      workOrdinDialogVisible: false,
+      formData: {},
+      tableData: [],
+      polluteList: [],
+      unitList: [],
+      searchType: 'delay',
+      pagination: {
+        currentPage: 1,
+        // ������������������������������������������(���������������������������)
+        totalCount: 0,
+        // ������������������������������
+        pageSizes: [10, 20, 30, 40],
+        // ������������������������������������������
+        pageSize: 10
+      },
+      searchData: {}
+    }
+  },
+  created() {
+    this.getUnitList()
+    this.getContaminateList()
+    this.handleSearch()
+  },
+  methods: {
+    handeleWorkSumbit() {
+      this.handleSearch()
+    },
+    handleSearch(obj) {
+      this.searchData.isInvalid = 0
+      if (obj) {
+        this.searchData = obj
+      }
+      this.$request({
+        url: '/allocationExtension/page',
+        method: 'post',
+        data: {
+          ...obj,
+          'page': this.pagination
+        }
+      }).then((res) => {
+        this.tableData = res.data.list
+        this.pagination.totalCount = res.data.page.totalNum
+      })
+    },
+    // ������
+    // ���������������������
+    handleSizeChange(val) {
+      // ���������������������������
+      this.pagination.pageSize = val
+      // ���������������������������������������������������������������������������
+      this.pagination.currentPage = 1
+      this.handleSearch()
+    },
+    // ���������������
+    handleCurrentChange(val) {
+      // ���������������������
+      this.pagination.currentPage = val
+      this.handleSearch()
+      // console.log(val)
+    },
+    openWorkOrdinDialog(row, type) {
+      this.$request({
+        url: '/allocationExtension/detail',
+        method: 'get',
+        params: {
+          id: row.id
+        }
+      }).then((res) => {
+        this.parentFormData = res.data
+        this.workOrdinDialogVisible = true
+        if (type === 'detail') {
+          this.dialogData = {
+            title: '���������������',
+            parentFormData: res.data,
+            pageState: 'view',
+            pageType: 'delay',
+            sysCode: '1010202'
+          }
+        } else if (type === 'approve') {
+          this.dialogData = {
+            title: '������������������',
+            parentFormData: res.data,
+            pageState: 'edit',
+            pageType: 'delay',
+            sysCode: '1010202'
+          }
+        }
+      })
+    },
+    updatUnitIdFormatter(val) {
+      const data = this.unitList.find(item => item && item.unitId === val.escalationUnitId)
+      return data ? data.unitName : ''
+    },
+    unitIdFormatter(val) {
+      const data = this.unitList.find(item => item && item.unitId === val.unitId)
+      return data ? data.unitName : ''
+    },
+    polluteTypeFormatter(val) {
+      const data = this.polluteList.find(item => item && parseInt(item.dataKey) === val.polluteType)
+      return data ? data.dataValue : ''
+    },
+    investigationTypeFormatter(val) {
+      return this.dictObj.investigationEnum[val.investigationType]
+    },
+    stateFormatter(val) {
+      return this.dictObj.allocationApproveEnum[val.state]
+    },
+    isInvalidFormatter(val) {
+      return this.dictObj.yesOrNo[val.isInvalid]
+    },
+    // ������������������list
+    getUnitList() {
+      this.$request({
+        url: '/allocation/unit',
+        method: 'get'
+      }).then((res) => {
+        this.unitList = res.data
+        console.log(' JSON.stringify(this.unitList)', this.unitList)
+      })
+    },
+    getContaminateList() {
+      this.$request({
+        url: '/allocation/contaminate',
+        method: 'get'
+      }).then((res) => {
+        this.polluteList = res.data
+      })
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+.main{
+    padding: 20px;
+    padding-top: 0px;
+    height: 100%;
+    overflow: overlay;
+}
+.tab {
+    margin-top: 0px;
+   /deep/ .el-tag{
+      font-size: 16px;
+    }
+}
+// /deep/ .el-table__body-wrapper {
+//     overflow: scroll;
+//     position: relative;
+//     overflow-x: hidden;
+//     max-height: 400px;
+// }
+.pagina{
+    margin-top: 10px;
+}
+/deep/ .el-table__row{
+  font-size: 18px;
+}
+.el-pagination {
+  padding: 0;
+  .el-select{
+    /deep/.el-input{
+      margin:0;
+    }
+  }
+
+}
+</style>
+

--
Gitblit v1.8.0