فهرست منبع

fix-到期提醒记录

LAPTOP-U5GOA5HA\zz 1 سال پیش
والد
کامیت
285bb95c23
32فایلهای تغییر یافته به همراه2166 افزوده شده و 759 حذف شده
  1. 1 0
      package.json
  2. 16 0
      src/api/records.js
  3. BIN
      src/assets/images/zwtp.png
  4. 34 0
      src/components/OpenModul.vue
  5. 1 1
      src/main.js
  6. 4 0
      src/views/clw/KeyCase/modules/OpenCabinet.vue
  7. 41 29
      src/views/clw/car/index.vue
  8. 102 78
      src/views/clw/checkRegister/index.vue
  9. 65 75
      src/views/clw/fuelConsumptionLog/index.vue
  10. 48 29
      src/views/clw/gas/index.vue
  11. 4 1
      src/views/clw/gas/modules/CreateForm.vue
  12. 70 75
      src/views/clw/oilSkimmingLog/index.vue
  13. 307 0
      src/views/clw/records/index.vue
  14. 403 0
      src/views/clw/records/modules/CreateForm.vue
  15. 157 0
      src/views/clw/records/modules/SubTable.vue
  16. 250 0
      src/views/clw/records/modules/registerForm.vue
  17. 74 0
      src/views/clw/records/modules/singOut.vue
  18. 76 75
      src/views/clw/refuelingLog/index.vue
  19. 73 41
      src/views/clw/register/index.vue
  20. 56 31
      src/views/clw/remind/index.vue
  21. 3 0
      src/views/clw/remind/modules/CreateForm.vue
  22. 54 30
      src/views/clw/upkeepRegister/index.vue
  23. 7 7
      src/views/system/post/index.vue
  24. 86 95
      src/views/system/role/index.vue
  25. 141 123
      src/views/system/user/index.vue
  26. 27 0
      src/views/system/user/modules/CreateForm.vue
  27. 8 8
      src/views/vehicle/components/CarType.vue
  28. 36 41
      src/views/vehicle/components/VehicleDistribution.vue
  29. 3 1
      src/views/vehicle/components/cardDistribution.vue
  30. 16 16
      src/views/vehicle/components/unit3D.vue
  31. 1 1
      src/views/vehicle/unit3Ds.vue
  32. 2 2
      vue.config.js

+ 1 - 0
package.json

@@ -16,6 +16,7 @@
     "ant-design-vue": "^1.7.8",
     "axios": "^0.24.0",
     "core-js": "^3.19.2",
+    "default-passive-events": "^2.0.0",
     "echarts": "^5.4.3",
     "echarts-gl": "^2.0.9",
     "element-ui": "^2.15.13",

+ 16 - 0
src/api/records.js

@@ -0,0 +1,16 @@
+import request from '@/utils/request'
+// 查询提醒记录
+export function getmsgList (params) {
+  return request({
+    url: '/clw/message/list' ,
+    method: 'get',
+    params
+  })
+}
+//详情
+export function getmsgInfo (id) {
+    return request({
+      url: '/clw/message/' + id,
+      method: 'get'
+    })
+  }

BIN
src/assets/images/zwtp.png


+ 34 - 0
src/components/OpenModul.vue

@@ -0,0 +1,34 @@
+<template>
+  <a-modal width="22%" :label-col="4" :wrapper-col="8" :visible="visible" @cancel="onClose">
+    <div>
+      <span style="font-size: 15px">{{ title }}</span>
+    </div>
+    <div slot="footer">
+      <a-button type="primary" @click="handleEdit">确定</a-button>
+      <a-button @click="onClose">取消</a-button>
+    </div>
+  </a-modal>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      visible: false,
+      title: '请确认',
+    }
+  },
+  methods: {
+    onClose() {
+      this.visible = false
+    },
+    handleEdit() {
+      this.$emit('handleDeletes')
+    },
+  },
+}
+</script>
+<style scoped lang="less">
+/deep/.ant-modal-content {
+  margin-top: 280px;
+}
+</style>

+ 1 - 1
src/main.js

@@ -20,7 +20,7 @@ import { TableSetting } from '@/components'
 import DictData from '@/components/DictData'
 // 字典标签组件
 import DictTag from '@/components/DictTag'
-
+import 'default-passive-events'
 import bootstrap from './core/bootstrap'
 import './core/lazy_use' // use lazy load components
 import './permission' // permission control

+ 4 - 0
src/views/clw/KeyCase/modules/OpenCabinet.vue

@@ -138,6 +138,9 @@ export default {
       this.reset()
     },
     show(title, item) {
+      if (this.formType == 1 && !item.carId) {
+        this.values = 2
+      }
       this.formTitle = title
       this.flag = item
       this.visible = true
@@ -159,6 +162,7 @@ export default {
     /** 提交按钮 */
     handleEdit() {
       if (this.formType == 1 && this.values == 2) {
+        console.log('-------', this.value)
         this.paramsInfo = {
           boxId: this.flag.id,
           status: null,

+ 41 - 29
src/views/clw/car/index.vue

@@ -97,6 +97,8 @@
             :carTypeList="carTypeList"
             @ok="getList"
           />
+          <!-- 弹窗 -->
+          <OpenModul ref="modules" @handleDeletes="handleDeletes" />
           <!-- 数据展示 -->
           <a-table
             :loading="loading"
@@ -112,6 +114,9 @@
             <span slot="num" slot-scope="text, records, index">
               {{ (queryParam.pageNum - 1) * queryParam.pageSize + Number(index) + 1 }}
             </span>
+            <span slot="status" slot-scope="text, record">
+              <dict-tag :options="dict.type['public_car_staus']" :value="record.status" />
+            </span>
             <span slot="operation" slot-scope="text, record">
               <a-divider type="vertical" v-hasPermi="['clw:car:edit']" />
               <a @click="$refs.createForm.handleUpdate(record, undefined)" v-hasPermi="['clw:car:edit']">
@@ -147,11 +152,13 @@ import CreateForm from './modules/CreateForm'
 import { tableMixin } from '@/store/table-mixin'
 import { deptTreeSelect } from '@/api/system/user'
 import Trees from './modules/Trees.vue'
+import OpenModul from '@/components/OpenModul.vue'
 export default {
   name: 'Car',
   components: {
     CreateForm,
     Trees,
+    OpenModul,
   },
   mixins: [tableMixin],
   dicts: ['car_source', 'car_domestic_import', 'car_type', 'public_car_staus', 'cmmon_yes_no'],
@@ -169,6 +176,7 @@ export default {
       ids: [],
       loading: false,
       total: 0,
+      id: [],
       // 查询参数
       queryParam: {
         depName: null,
@@ -209,6 +217,7 @@ export default {
         {
           title: '车辆状态',
           dataIndex: 'status',
+          scopedSlots: { customRender: 'status' },
           ellipsis: true,
           align: 'center',
         },
@@ -266,6 +275,7 @@ export default {
           lable: '两江新区支队奥园消防救援站',
         },
       ],
+      showOpen: '',
     }
   },
   filters: {},
@@ -325,38 +335,40 @@ export default {
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      var that = this
-      const ids = row.id || this.ids
-      this.$confirm({
-        title: '确认删除所选中数据?',
-        content: '当前选中编号为' + ids + '的数据',
-        onOk() {
-          return delCar(ids).then(() => {
-            that.onSelectChange([], [])
-            that.getList()
-            that.$message.success('删除成功', 3)
+      this.id = row.id || this.ids
+      this.showOpen = '删除'
+      this.$refs.modules.title = '是否确认删除'
+      this.$refs.modules.visible = true
+    },
+    // 确认删除
+    handleDeletes() {
+      if (this.showOpen == '删除') {
+        delCar(this.id)
+          .then(() => {
+            this.onSelectChange([], [])
+            this.getList()
+            this.$message.success('删除成功', 3)
+            this.$refs.modules.visible = false
           })
-        },
-        onCancel() {},
-      })
+          .catch((error) => {
+            this.$refs.modules.visible = false
+          })
+      } else if (this.showOpen == '导出') {
+        this.download(
+          'clw/car/export',
+          {
+            ...this.queryParam,
+          },
+          `car_${new Date().getTime()}.xlsx`
+        )
+        this.$refs.modules.visible = false
+      }
     },
     /** 导出按钮操作 */
     handleExport() {
-      var that = this
-      this.$confirm({
-        title: '是否确认导出?',
-        content: '此操作将导出当前条件下所有数据而非选中数据',
-        onOk() {
-          that.download(
-            'clw/car/export',
-            {
-              ...that.queryParam,
-            },
-            `car_${new Date().getTime()}.xlsx`
-          )
-        },
-        onCancel() {},
-      })
+      this.showOpen = '导出'
+      this.$refs.modules.title = '请确认是否导出'
+      this.$refs.modules.visible = true
     },
     getDeptTree() {
       deptTreeSelect({ deptType: 1 }).then((response) => {
@@ -375,7 +387,7 @@ export default {
     seeCarInfo(node) {
       if (node.iot == '0') {
         return this.$message.error('车辆暂未接入物联设备')
-      } else if(node.iot == '1') {
+      } else if (node.iot == '1') {
         this.$router.push({
           path: '/cardiot',
           query: {

+ 102 - 78
src/views/clw/checkRegister/index.vue

@@ -10,8 +10,11 @@
                 <a-input v-model="queryParam.plateNumber" placeholder="请输入车牌号" allow-clear />
               </a-form-item>
             </a-col>
-            <a-col :md="!advanced && 8 || 24" :sm="24">
-              <span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
+            <a-col :md="(!advanced && 8) || 24" :sm="24">
+              <span
+                class="table-page-search-submitButtons"
+                :style="(advanced && { float: 'right', overflow: 'hidden' }) || {}"
+              >
                 <a-button type="primary" @click="handleQuery"><a-icon type="search" />查询</a-button>
                 <a-button style="margin-left: 8px" @click="resetQuery"><a-icon type="redo" />重置</a-button>
               </span>
@@ -24,7 +27,12 @@
         <a-button type="primary" @click="$refs.createForm.handleAdd()" v-hasPermi="['clw:checkRegister:add']">
           <a-icon type="plus" />新增
         </a-button>
-        <a-button type="primary" :disabled="single" @click="$refs.createForm.handleUpdate(undefined, ids)" v-hasPermi="['clw:checkRegister:edit']">
+        <a-button
+          type="primary"
+          :disabled="single"
+          @click="$refs.createForm.handleUpdate(undefined, ids)"
+          v-hasPermi="['clw:checkRegister:edit']"
+        >
           <a-icon type="edit" />修改
         </a-button>
         <a-button type="danger" :disabled="multiple" @click="handleDelete" v-hasPermi="['clw:checkRegister:remove']">
@@ -34,17 +42,17 @@
           <a-icon type="download" />导出
         </a-button>
         <table-setting
-          :style="{float: 'right'}"
+          :style="{ float: 'right' }"
           :table-size.sync="tableSize"
           v-model="columns"
           :refresh-loading="loading"
-          @refresh="getList" />
+          @refresh="getList"
+        />
       </div>
       <!-- 增加修改 -->
-      <create-form
-        ref="createForm"
-        @ok="getList"
-      />
+      <create-form ref="createForm" @ok="getList" />
+      <!-- 删除弹窗 -->
+      <OpenModul ref="modules" @handleDeletes="handleDeletes" />
       <!-- 数据展示 -->
       <a-table
         :loading="loading"
@@ -56,7 +64,7 @@
         :pagination="false"
         :bordered="tableBordered"
       >
-      <span slot="num" slot-scope="text, records, index">
+        <span slot="num" slot-scope="text, records, index">
           {{ (queryParam.pageNum - 1) * queryParam.pageSize + Number(index) + 1 }}
         </span>
         <span slot="operation" slot-scope="text, record">
@@ -69,9 +77,7 @@
             <a-icon type="eye" />详情
           </a>
           <a-divider type="vertical" v-hasPermi="['clw:checkRegister:remove']" />
-          <a @click="handleDelete(record)" v-hasPermi="['clw:checkRegister:remove']">
-            <a-icon type="delete" />删除
-          </a>
+          <a @click="handleDelete(record)" v-hasPermi="['clw:checkRegister:remove']"> <a-icon type="delete" />删除 </a>
         </span>
       </a-table>
       <!-- 分页 -->
@@ -82,7 +88,7 @@
         :current="queryParam.pageNum"
         :total="total"
         :page-size="queryParam.pageSize"
-        :showTotal="total => `共 ${total} 条`"
+        :showTotal="(total) => `共 ${total} 条`"
         @showSizeChange="onShowSizeChange"
         @change="changeSize"
       />
@@ -94,14 +100,15 @@
 import { listCheckRegister, delCheckRegister } from '@/api/clw/checkRegister'
 import CreateForm from './modules/CreateForm'
 import { tableMixin } from '@/store/table-mixin'
-
+import OpenModul from '@/components/OpenModul.vue'
 export default {
   name: 'CheckRegister',
   components: {
-    CreateForm
+    CreateForm,
+    OpenModul,
   },
   mixins: [tableMixin],
-  data () {
+  data() {
     return {
       list: [],
       selectedRowKeys: [],
@@ -121,70 +128,69 @@ export default {
         userId: null,
         plateNumber: null,
         pageNum: 1,
-        pageSize: 10
+        pageSize: 10,
       },
       columns: [
-      { title: '序号', scopedSlots: { customRender: 'num' },width:'50px',   align: 'center', },
+        { title: '序号', scopedSlots: { customRender: 'num' }, width: '50px', align: 'center' },
         {
           title: '检查日期',
           dataIndex: 'checkTime',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '经办人',
           dataIndex: 'username',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '车牌号',
           dataIndex: 'plateNumber',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '年检费用',
           dataIndex: 'checkCost',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '备注',
           dataIndex: 'remark',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '车管所',
           dataIndex: 'vehicleOffice',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '操作',
           dataIndex: 'operation',
           width: '18%',
           scopedSlots: { customRender: 'operation' },
-          align: 'center'
-        }
-      ]
+          align: 'center',
+        },
+      ],
+      checkIds: [],
+      showOpen:''
     }
   },
-  filters: {
-  },
-  created () {
+  filters: {},
+  created() {
     this.getList()
   },
-  computed: {
-  },
-  watch: {
-  },
+  computed: {},
+  watch: {},
   methods: {
     /** 查询年检登记列表 */
-    getList () {
+    getList() {
       this.loading = true
-      listCheckRegister(this.queryParam).then(response => {
+      listCheckRegister(this.queryParam).then((response) => {
         this.list = response.rows
         this.total = response.total
         this.loading = false
@@ -192,74 +198,92 @@ export default {
     },
 
     /** 搜索按钮操作 */
-    handleQuery () {
+    handleQuery() {
       this.queryParam.pageNum = 1
       this.getList()
     },
     /** 重置按钮操作 */
-    resetQuery () {
+    resetQuery() {
       this.queryParam = {
         checkTime: undefined,
         userId: undefined,
         pageNum: 1,
-        pageSize: 10
+        pageSize: 10,
       }
       this.handleQuery()
     },
-    onShowSizeChange (current, pageSize) {
+    onShowSizeChange(current, pageSize) {
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    changeSize (current, pageSize) {
+    changeSize(current, pageSize) {
       this.queryParam.pageNum = current
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    onSelectChange (selectedRowKeys, selectedRows) {
+    onSelectChange(selectedRowKeys, selectedRows) {
       this.selectedRowKeys = selectedRowKeys
       this.selectedRows = selectedRows
-      this.ids = this.selectedRows.map(item => item.checkId)
+      this.ids = this.selectedRows.map((item) => item.checkId)
       this.single = selectedRowKeys.length !== 1
       this.multiple = !selectedRowKeys.length
     },
-    toggleAdvanced () {
+    toggleAdvanced() {
       this.advanced = !this.advanced
     },
     /** 删除按钮操作 */
-    handleDelete (row) {
-      var that = this
-      const checkIds = row.checkId || this.ids
-      this.$confirm({
-        title: '确认删除所选中数据?',
-        content: '当前选中编号为' + checkIds + '的数据',
-        onOk () {
-          return delCheckRegister(checkIds)
-            .then(() => {
-              that.onSelectChange([], [])
-              that.getList()
-              that.$message.success(
-                '删除成功',
-                3
-              )
-          })
-        },
-        onCancel () {}
-      })
+    handleDelete(row) {
+      this.checkIds = row.checkId || this.ids
+      this.showOpen='删除'
+      this.$refs.modules.title = '是否确认删除'
+      this.$refs.modules.visible = true
+    },
+    // 确认删除
+    handleDeletes() {
+      if(this.showOpen=='删除'){
+        delCheckRegister(this.checkIds)
+        .then(() => {
+          this.onSelectChange([], [])
+          this.getList()
+          this.$message.success('删除成功', 3)
+          this.$refs.modules.visible = false
+        })
+        .catch((error) => {
+          this.$refs.modules.visible = false
+        })
+      }else if(this.showOpen=='导出'){
+        this.download(
+          'clw/checkRegister/export',
+          {
+            ...this.queryParam,
+          },
+          `checkRegister_${new Date().getTime()}.xlsx`
+        )
+        this.$refs.modules.visible = false
+      }
+      
     },
     /** 导出按钮操作 */
-    handleExport () {
-      var that = this
-      this.$confirm({
-        title: '是否确认导出?',
-        content: '此操作将导出当前条件下所有数据而非选中数据',
-        onOk () {
-          that.download('clw/checkRegister/export', {
-            ...that.queryParam
-          }, `checkRegister_${new Date().getTime()}.xlsx`)
-        },
-        onCancel () {}
-      })
-    }
-  }
+    handleExport() {
+      this.showOpen='导出'
+      this.$refs.modules.title = '请确认是否导出'
+      this.$refs.modules.visible = true
+      // var that = this
+      // this.$confirm({
+      //   title: '是否确认导出?',
+      //   content: '此操作将导出当前条件下所有数据而非选中数据',
+      //   onOk() {
+      //     that.download(
+      //       'clw/checkRegister/export',
+      //       {
+      //         ...that.queryParam,
+      //       },
+      //       `checkRegister_${new Date().getTime()}.xlsx`
+      //     )
+      //   },
+      //   onCancel() {},
+      // })
+    },
+  },
 }
 </script>

+ 65 - 75
src/views/clw/fuelConsumptionLog/index.vue

@@ -7,23 +7,26 @@
           <a-row :gutter="48">
             <a-col :md="8" :sm="24">
               <a-form-item label="日期" prop="createTime">
-                <a-input v-model="queryParam.createTime" placeholder="请输入日期" allow-clear/>
+                <a-input v-model="queryParam.createTime" placeholder="请输入日期" allow-clear />
               </a-form-item>
             </a-col>
             <template v-if="advanced">
               <a-col :md="8" :sm="24">
                 <a-form-item label="车牌号码" prop="plateNumber">
-                  <a-input v-model="queryParam.plateNumber" placeholder="请输入车牌号码" allow-clear/>
+                  <a-input v-model="queryParam.plateNumber" placeholder="请输入车牌号码" allow-clear />
                 </a-form-item>
               </a-col>
             </template>
-            <a-col :md="!advanced && 8 || 24" :sm="24">
-              <span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
+            <a-col :md="(!advanced && 8) || 24" :sm="24">
+              <span
+                class="table-page-search-submitButtons"
+                :style="(advanced && { float: 'right', overflow: 'hidden' }) || {}"
+              >
                 <a-button type="primary" @click="handleQuery"><a-icon type="search" />查询</a-button>
                 <a-button style="margin-left: 8px" @click="resetQuery"><a-icon type="redo" />重置</a-button>
                 <a @click="toggleAdvanced" style="margin-left: 8px">
                   {{ advanced ? '收起' : '展开' }}
-                  <a-icon :type="advanced ? 'up' : 'down'"/>
+                  <a-icon :type="advanced ? 'up' : 'down'" />
                 </a>
               </span>
             </a-col>
@@ -36,17 +39,15 @@
           <a-icon type="download" />导出
         </a-button>
         <table-setting
-          :style="{float: 'right'}"
+          :style="{ float: 'right' }"
           :table-size.sync="tableSize"
           v-model="columns"
           :refresh-loading="loading"
-          @refresh="getList" />
+          @refresh="getList"
+        />
       </div>
       <!-- 增加修改 -->
-      <create-form
-        ref="createForm"
-        @ok="getList"
-      />
+      <create-form ref="createForm" @ok="getList" />
       <!-- 数据展示 -->
       <a-table
         :loading="loading"
@@ -56,12 +57,11 @@
         :data-source="list"
         :pagination="false"
         :bordered="tableBordered"
-        
       >
-      <span slot="num" slot-scope="text, records, index">
+        <span slot="num" slot-scope="text, records, index">
           {{ (queryParam.pageNum - 1) * queryParam.pageSize + Number(index) + 1 }}
         </span>
-      <span slot="gasCardType" slot-scope="text, record">
+        <span slot="gasCardType" slot-scope="text, record">
           <dict-tag :options="dict.type['gas_car_type']" :value="record.gasCardType" />
         </span>
         <span slot="operation" slot-scope="text, record">
@@ -79,7 +79,7 @@
         :current="queryParam.pageNum"
         :total="total"
         :page-size="queryParam.pageSize"
-        :showTotal="total => `共 ${total} 条`"
+        :showTotal="(total) => `共 ${total} 条`"
         @showSizeChange="onShowSizeChange"
         @change="changeSize"
       />
@@ -95,10 +95,10 @@ import { tableMixin } from '@/store/table-mixin'
 export default {
   name: 'FuelConsumptionLog',
   components: {
-    CreateForm
+    CreateForm,
   },
   mixins: [tableMixin],
-  data () {
+  data() {
     return {
       list: [],
       selectedRowKeys: [],
@@ -119,10 +119,10 @@ export default {
         categoryId: null,
         plateNumber: null,
         pageNum: 1,
-        pageSize: 10
+        pageSize: 10,
       },
       columns: [
-      { title: '序号', scopedSlots: { customRender: 'num' },width:'50px',   align: 'center', },
+        { title: '序号', scopedSlots: { customRender: 'num' }, width: '50px', align: 'center' },
         // {
         //   title: '日期',
         //   dataIndex: 'createTime',
@@ -143,28 +143,28 @@ export default {
           ellipsis: true,
           align: 'center',
           scopedSlots: { customRender: 'gasCardType' },
-          width:'80px'
+          width: '80px',
         },
         {
           title: '分类',
           dataIndex: 'categoryName',
           ellipsis: true,
           align: 'center',
-          width:'80px'
+          width: '80px',
         },
         {
           title: '名称',
           dataIndex: 'itemName',
           ellipsis: true,
           align: 'center',
-          width:'120px'
+          width: '120px',
         },
         {
           title: '交易时间',
           dataIndex: 'tradingHour',
           ellipsis: true,
           align: 'center',
-          width:'130px'
+          width: '130px',
         },
         // {
         //   title: '交易ID',
@@ -185,69 +185,66 @@ export default {
           dataIndex: 'litres',
           ellipsis: true,
           align: 'center',
-          width:'80px'
+          width: '80px',
         },
         {
           title: '油品',
           dataIndex: 'gasType',
           ellipsis: true,
           align: 'center',
-          width:'60px'
+          width: '60px',
         },
-    
+
         {
           title: '加油金额(元)',
           dataIndex: 'amount',
           ellipsis: true,
           align: 'center',
-          width:'60px'
+          width: '60px',
         },
         {
           title: '卡内余额(元)',
           dataIndex: 'balance',
           ellipsis: true,
           align: 'center',
-          width:'60px'
+          width: '60px',
         },
         {
           title: '申请人',
           dataIndex: 'applyUserName',
           ellipsis: true,
           align: 'center',
-          width:'80px'
+          width: '80px',
         },
         {
           title: '备注',
           dataIndex: 'remark',
           ellipsis: true,
           align: 'center',
-          width:'120px'
+          width: '120px',
         },
         {
           title: '操作',
           dataIndex: 'operation',
           width: '12%',
           scopedSlots: { customRender: 'operation' },
-          align: 'center'
-        }
-      ]
+          align: 'center',
+        },
+      ],
     }
   },
-  dicts:['gas_car_type'],
-  filters: {
-  },
-  created () {
+  dicts: ['gas_car_type'],
+  filters: {},
+  created() {
     this.getList()
   },
-  computed: {
-  },
-  watch: {
-  },
+  computed: {},
+  watch: {},
   methods: {
     /** 查询油耗登记信息列表 */
-    getList () {
+    getList() {
       this.loading = true
-      listFuelConsumptionLog(this.queryParam).then(response => {
+      listFuelConsumptionLog(this.queryParam).then((response) => {
         this.list = response.rows
         this.total = response.total
         this.loading = false
@@ -255,76 +252,69 @@ export default {
     },
 
     /** 搜索按钮操作 */
-    handleQuery () {
+    handleQuery() {
       this.queryParam.pageNum = 1
       this.getList()
     },
     /** 重置按钮操作 */
-    resetQuery () {
+    resetQuery() {
       this.queryParam = {
         createTime: undefined,
         gasCardType: undefined,
         categoryId: undefined,
         plateNumber: undefined,
         pageNum: 1,
-        pageSize: 10
+        pageSize: 10,
       }
       this.handleQuery()
     },
-    onShowSizeChange (current, pageSize) {
+    onShowSizeChange(current, pageSize) {
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    changeSize (current, pageSize) {
+    changeSize(current, pageSize) {
       this.queryParam.pageNum = current
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    onSelectChange (selectedRowKeys, selectedRows) {
+    onSelectChange(selectedRowKeys, selectedRows) {
       this.selectedRowKeys = selectedRowKeys
       this.selectedRows = selectedRows
-      this.ids = this.selectedRows.map(item => item.ID)
+      this.ids = this.selectedRows.map((item) => item.ID)
       this.single = selectedRowKeys.length !== 1
       this.multiple = !selectedRowKeys.length
     },
-    toggleAdvanced () {
+    toggleAdvanced() {
       this.advanced = !this.advanced
     },
     /** 删除按钮操作 */
-    handleDelete (row) {
+    handleDelete(row) {
       var that = this
       const IDs = row.ID || this.ids
       this.$confirm({
         title: '确认删除所选中数据?',
         content: '当前选中编号为' + IDs + '的数据',
-        onOk () {
-          return delFuelConsumptionLog(IDs)
-            .then(() => {
-              that.onSelectChange([], [])
-              that.getList()
-              that.$message.success(
-                '删除成功',
-                3
-              )
+        onOk() {
+          return delFuelConsumptionLog(IDs).then(() => {
+            that.onSelectChange([], [])
+            that.getList()
+            that.$message.success('删除成功', 3)
           })
         },
-        onCancel () {}
+        onCancel() {},
       })
     },
     /** 导出按钮操作 */
-    handleExport () {
-      var that = this
-      this.$confirm({
-        title: '是否确认导出?',
-        content: '此操作将导出当前条件下所有数据而非选中数据',
-        onOk () {
-          that.download('clw/fuelConsumptionLog/export', {
-            ...that.queryParam
-          }, `fuelConsumptionLog_${new Date().getTime()}.xlsx`)
+    handleExport() {
+      this.$message.success('请稍等,正在导出')
+      this.download(
+        'clw/fuelConsumptionLog/export',
+        {
+          ...this.queryParam,
         },
-        onCancel () {}
-      })
-    }
-  }
+        `fuelConsumptionLog_${new Date().getTime()}.xlsx`
+      )
+    },
+  },
 }
 </script>

+ 48 - 29
src/views/clw/gas/index.vue

@@ -58,6 +58,8 @@
       />
       <!-- 注销原因 -->
       <singOut ref="singForm" @signCar="signCar" />
+      <!-- 删除弹窗 -->
+      <OpenModul ref="modules" @handleDeletes="handleDeletes" />
       <!-- 数据展示 -->
       <a-table
         :loading="loading"
@@ -113,11 +115,13 @@ import { listGas, delGas, updateGas } from '@/api/clw/gas'
 import CreateForm from './modules/CreateForm'
 import { tableMixin } from '@/store/table-mixin'
 import singOut from './modules/singOut.vue'
+import OpenModul from '@/components/OpenModul.vue'
 export default {
   name: 'Gas',
   components: {
     CreateForm,
     singOut,
+    OpenModul,
   },
   mixins: [tableMixin],
   dicts: ['gas_car_type', 'gas_status'],
@@ -208,11 +212,13 @@ export default {
         {
           title: '操作',
           dataIndex: 'operation',
-          width: '17%',
+          width: '20%',
           scopedSlots: { customRender: 'operation' },
           align: 'center',
         },
       ],
+      gasIds: [],
+      showOpen: '',
     }
   },
   filters: {},
@@ -268,38 +274,51 @@ export default {
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      var that = this
-      const gasIds = row.gasId || this.ids
-      this.$confirm({
-        title: '确认删除所选中数据?',
-        content: '当前选中编号为' + gasIds + '的数据',
-        onOk() {
-          return delGas(gasIds).then(() => {
-            that.onSelectChange([], [])
-            that.getList()
-            that.$message.success('删除成功', 3)
+      this.gasIds = row.gasId || this.ids
+      this.showOpen = '删除'
+      this.$refs.modules.title = '是否确认删除'
+      this.$refs.modules.visible = true
+      // this.$confirm({
+      //   title: '确认删除所选中数据?',
+      //   content: '当前选中编号为' + gasIds + '的数据',
+      //   onOk() {
+      //     return delGas(gasIds).then(() => {
+      //       that.onSelectChange([], [])
+      //       that.getList()
+      //       that.$message.success('删除成功', 3)
+      //     })
+      //   },
+      //   onCancel() {},
+      // })
+    },
+    handleDeletes() {
+      if (this.showOpen == '删除') {
+        delGas(this.gasIds)
+          .then(() => {
+            this.onSelectChange([], [])
+            this.getList()
+            this.$message.success('删除成功', 3)
+            this.$refs.modules.visible = false
           })
-        },
-        onCancel() {},
-      })
+          .catch((error) => {
+            this.$refs.modules.visible = false
+          })
+      } else if (this.showOpen == '导出') {
+        this.download(
+          'clw/gas/export',
+          {
+            ...this.queryParam,
+          },
+          `gas_${new Date().getTime()}.xlsx`
+        )
+        this.$refs.modules.visible = false
+      }
     },
     /** 导出按钮操作 */
     handleExport() {
-      var that = this
-      this.$confirm({
-        title: '是否确认导出?',
-        content: '此操作将导出当前条件下所有数据而非选中数据',
-        onOk() {
-          that.download(
-            'clw/gas/export',
-            {
-              ...that.queryParam,
-            },
-            `gas_${new Date().getTime()}.xlsx`
-          )
-        },
-        onCancel() {},
-      })
+      this.showOpen = '导出'
+      this.$refs.modules.title = '请确认是否导出'
+      this.$refs.modules.visible = true
     },
     signCar(info) {
       if (info.logoutReason == '') {

+ 4 - 1
src/views/clw/gas/modules/CreateForm.vue

@@ -12,7 +12,7 @@
         </a-select>
       </a-form-model-item>
       <a-form-model-item label="车牌号" prop="carId">
-        <a-select placeholder="请选择加油卡类型" v-model="form.carId" @change="changeCarNum" :disabled="formType==3">
+        <a-select placeholder="请选择加油卡类型" v-model="form.carId" @change="changeCarNum" :disabled="formType==3" showSearch :filterOption="filterOption">
           <a-select-option v-for="(d, index) in Object.values(cacheCarPlateNumber)" :key="index" :value="d.id" >{{
             d.plateNumber
           }}</a-select-option>
@@ -229,6 +229,9 @@ export default {
       this.form.carCategoryName = node.categoryName
       this.form.plateNumber = node.plateNumber
     },
+    filterOption (value, option) {
+      return option.componentOptions.children[0].text.indexOf(value) >= 0
+    },
    
   },
 }

+ 70 - 75
src/views/clw/oilSkimmingLog/index.vue

@@ -7,18 +7,25 @@
           <a-row :gutter="48">
             <a-col :md="8" :sm="14">
               <a-form-item label="日期" prop="createTime">
-                <a-date-picker style="width: 100%" v-model="queryParam.createTime" format="YYYY-MM-DD HH:mm:ss" allow-clear/>
+                <a-date-picker
+                  style="width: 100%"
+                  v-model="queryParam.createTime"
+                  format="YYYY-MM-DD HH:mm:ss"
+                  allow-clear
+                />
               </a-form-item>
             </a-col>
             <a-col :md="8" :sm="14">
               <a-form-item label="车牌号" prop="plateNumber">
-                <a-input v-model="queryParam.plateNumber" placeholder="请输入车牌号" allow-clear/>
+                <a-input v-model="queryParam.plateNumber" placeholder="请输入车牌号" allow-clear />
               </a-form-item>
             </a-col>
-            <template v-if="advanced">
-            </template>
-            <a-col :md="!advanced && 8 || 24" :sm="24">
-              <span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
+            <template v-if="advanced"> </template>
+            <a-col :md="(!advanced && 8) || 24" :sm="24">
+              <span
+                class="table-page-search-submitButtons"
+                :style="(advanced && { float: 'right', overflow: 'hidden' }) || {}"
+              >
                 <a-button type="primary" @click="handleQuery"><a-icon type="search" />查询</a-button>
                 <a-button style="margin-left: 8px" @click="resetQuery"><a-icon type="redo" />重置</a-button>
                 <!-- <a @click="toggleAdvanced" style="margin-left: 8px">
@@ -45,17 +52,15 @@
           <a-icon type="download" />导出
         </a-button>
         <table-setting
-          :style="{float: 'right'}"
+          :style="{ float: 'right' }"
           :table-size.sync="tableSize"
           v-model="columns"
           :refresh-loading="loading"
-          @refresh="getList" />
+          @refresh="getList"
+        />
       </div>
       <!-- 增加修改 -->
-      <create-form
-        ref="createForm"
-        @ok="getList"
-      />
+      <create-form ref="createForm" @ok="getList" />
       <!-- 数据展示 -->
       <a-table
         :loading="loading"
@@ -66,7 +71,7 @@
         :pagination="false"
         :bordered="tableBordered"
       >
-      <span slot="num" slot-scope="text, records, index">
+        <span slot="num" slot-scope="text, records, index">
           {{ (queryParam.pageNum - 1) * queryParam.pageSize + Number(index) + 1 }}
         </span>
         <span slot="createTime" slot-scope="text, record">
@@ -94,7 +99,7 @@
         :current="queryParam.pageNum"
         :total="total"
         :page-size="queryParam.pageSize"
-        :showTotal="total => `共 ${total} 条`"
+        :showTotal="(total) => `共 ${total} 条`"
         @showSizeChange="onShowSizeChange"
         @change="changeSize"
       />
@@ -110,11 +115,11 @@ import { tableMixin } from '@/store/table-mixin'
 export default {
   name: 'OilSkimmingLog',
   components: {
-    CreateForm
+    CreateForm,
   },
   mixins: [tableMixin],
-  dicts:['apply_status'],
-  data () {
+  dicts: ['apply_status'],
+  data() {
     return {
       list: [],
       selectedRowKeys: [],
@@ -134,108 +139,105 @@ export default {
         plateNumber: null,
         applyStatus: null,
         pageNum: 1,
-        pageSize: 10
+        pageSize: 10,
       },
       columns: [
-      { title: '序号', scopedSlots: { customRender: 'num' },width:'50px',   align: 'center', },
+        { title: '序号', scopedSlots: { customRender: 'num' }, width: '50px', align: 'center' },
         {
           title: '日期',
           dataIndex: 'createTime',
           scopedSlots: { customRender: 'createTime' },
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '申请人',
           dataIndex: 'applyUserName',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '车辆分类',
           dataIndex: 'categoryName',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '部门ID',
           dataIndex: 'deptId',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '部门名称',
           dataIndex: 'deptName',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '车牌号',
           dataIndex: 'plateNumber',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '加油卡号',
           dataIndex: 'gasCode',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '上次加油量',
           dataIndex: 'prevFuelCharge',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '上次消耗金额',
           dataIndex: 'prevLoseAmount',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '本次划拨金额',
           dataIndex: 'currentAmount',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '备注',
           dataIndex: 'remark',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '审核状态',
           dataIndex: 'applyStatus',
           scopedSlots: { customRender: 'applyStatus' },
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '操作',
           dataIndex: 'operation',
           width: '12%',
           scopedSlots: { customRender: 'operation' },
-          align: 'center'
-        }
-      ]
+          align: 'center',
+        },
+      ],
     }
   },
-  filters: {
-  },
-  created () {
+  filters: {},
+  created() {
     this.getList()
   },
-  computed: {
-  },
-  watch: {
-  },
+  computed: {},
+  watch: {},
   methods: {
     /** 查询划油记录列表 */
-    getList () {
+    getList() {
       this.loading = true
-      listOilSkimmingLog(this.queryParam).then(response => {
+      listOilSkimmingLog(this.queryParam).then((response) => {
         this.list = response.rows
         this.total = response.total
         this.loading = false
@@ -243,75 +245,68 @@ export default {
     },
 
     /** 搜索按钮操作 */
-    handleQuery () {
+    handleQuery() {
       this.queryParam.pageNum = 1
       this.getList()
     },
     /** 重置按钮操作 */
-    resetQuery () {
+    resetQuery() {
       this.queryParam = {
         createTime: undefined,
         plateNumber: undefined,
         applyStatus: undefined,
         pageNum: 1,
-        pageSize: 10
+        pageSize: 10,
       }
       this.handleQuery()
     },
-    onShowSizeChange (current, pageSize) {
+    onShowSizeChange(current, pageSize) {
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    changeSize (current, pageSize) {
+    changeSize(current, pageSize) {
       this.queryParam.pageNum = current
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    onSelectChange (selectedRowKeys, selectedRows) {
+    onSelectChange(selectedRowKeys, selectedRows) {
       this.selectedRowKeys = selectedRowKeys
       this.selectedRows = selectedRows
-      this.ids = this.selectedRows.map(item => item.id)
+      this.ids = this.selectedRows.map((item) => item.id)
       this.single = selectedRowKeys.length !== 1
       this.multiple = !selectedRowKeys.length
     },
-    toggleAdvanced () {
+    toggleAdvanced() {
       this.advanced = !this.advanced
     },
     /** 删除按钮操作 */
-    handleDelete (row) {
+    handleDelete(row) {
       var that = this
       const ids = row.id || this.ids
       this.$confirm({
         title: '确认删除所选中数据?',
         content: '当前选中编号为' + ids + '的数据',
-        onOk () {
-          return delOilSkimmingLog(ids)
-            .then(() => {
-              that.onSelectChange([], [])
-              that.getList()
-              that.$message.success(
-                '删除成功',
-                3
-              )
+        onOk() {
+          return delOilSkimmingLog(ids).then(() => {
+            that.onSelectChange([], [])
+            that.getList()
+            that.$message.success('删除成功', 3)
           })
         },
-        onCancel () {}
+        onCancel() {},
       })
     },
     /** 导出按钮操作 */
-    handleExport () {
-      var that = this
-      this.$confirm({
-        title: '是否确认导出?',
-        content: '此操作将导出当前条件下所有数据而非选中数据',
-        onOk () {
-          that.download('clw/oilSkimmingLog/export', {
-            ...that.queryParam
-          }, `oilSkimmingLog_${new Date().getTime()}.xlsx`)
+    handleExport() {
+      this.$message.success('请稍等,正在导出')
+      this.download(
+        'clw/oilSkimmingLog/export',
+        {
+          ...this.queryParam,
         },
-        onCancel () {}
-      })
-    }
-  }
+        `oilSkimmingLog_${new Date().getTime()}.xlsx`
+      )
+    },
+  },
 }
 </script>

+ 307 - 0
src/views/clw/records/index.vue

@@ -0,0 +1,307 @@
+<template>
+  <page-header-wrapper>
+    <a-card :bordered="false">
+      <!-- 条件搜索 -->
+      <div class="table-page-search-wrapper">
+        <a-form layout="inline">
+          <a-row >
+            <a-col :span="7">
+              <a-form-item label="油卡号" prop="gasCode">
+                <a-input v-model="queryParam.gasCode" placeholder="请输入油卡号" allow-clear />
+              </a-form-item>
+            </a-col>
+            <a-col :span="17">
+              <span
+                class="table-page-search-submitButtons"
+                :style="(advanced && { float: 'right', overflow: 'hidden' }) || {}"
+              >
+                <a-button type="primary" @click="handleQuery"><a-icon type="search" />查询</a-button>
+                <a-button style="margin-left: 8px" @click="resetQuery"><a-icon type="redo" />重置</a-button>
+                <div style="margin-left: 15px;">
+                    <a-button type="primary" @click="handleExport" v-hasPermi="['clw:gas:export']">
+                  <a-icon type="download" />导出
+                </a-button>
+                </div>
+              </span>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+      <!-- 操作 -->
+      <div class="table-operations">
+        <!-- <a-button type="primary" @click="$refs.createForm.handleAdd()" v-hasPermi="['clw:gas:add']">
+          <a-icon type="plus" />新增
+        </a-button> -->
+        <!-- <a-button
+          type="primary"
+          :disabled="single"
+          @click="$refs.createForm.handleUpdate(undefined, ids)"
+          v-hasPermi="['clw:gas:edit']"
+        >
+          <a-icon type="edit" />修改
+        </a-button> -->
+        <!-- <a-button type="danger" :disabled="multiple" @click="handleDelete" v-hasPermi="['clw:gas:remove']">
+          <a-icon type="delete" />删除
+        </a-button> -->
+
+        <table-setting
+          :style="{ float: 'right' }"
+          :table-size.sync="tableSize"
+          v-model="columns"
+          :refresh-loading="loading"
+          @refresh="getList"
+        />
+      </div>
+      <!-- 增加修改 -->
+      <create-form
+        ref="createForm"
+        :gasCardTypeOptions="dict.type.gas_car_type"
+        :statusOptions="dict.type.gas_status"
+        @ok="getList"
+      />
+      <!-- 保险详情 -->
+      <registerForm  ref="registerForm"  @ok="getList"/>
+      <!-- 注销原因 -->
+      <singOut ref="singForm" @signCar="signCar" />
+      <!-- 删除弹窗 -->
+      <OpenModul ref="modules" @handleDeletes="handleDeletes" />
+      <!-- 数据展示 -->
+      <a-table
+        :loading="loading"
+        :size="tableSize"
+        rowKey="gasId"
+        :columns="columns"
+        :data-source="list"
+        :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
+        :pagination="false"
+        :bordered="tableBordered"
+      >
+        <span slot="num" slot-scope="text, records, index">
+          {{ (queryParam.pageNum - 1) * queryParam.pageSize + Number(index) + 1 }}
+        </span>
+        <span slot="remindType" slot-scope="text, record">
+          <dict-tag :options="dict.type['remind_type']" :value="record.remindType" />
+        </span>
+        <span slot="operation" slot-scope="text, record">
+          <!-- <a-divider type="vertical" v-hasPermi="['clw:gas:edit']" /> -->
+          <a @click="$refs.createForm.handleInfo(record, undefined)" v-hasPermi="['clw:gas:edit']" v-if="record.remindType!='INSURANCE'">
+            <a-icon type="eye" />详情
+          </a>
+          <a @click="$refs.registerForm.handleInfo(record, undefined)" v-hasPermi="['clw:gas:edit']" v-else>
+            <a-icon type="eye" />详情
+          </a>
+          <!-- <a-divider type="vertical" v-hasPermi="['clw:gas:remove']" />
+          <a @click="handleDelete(record)" v-hasPermi="['clw:gas:remove']"> <a-icon type="delete" />删除 </a> -->
+        </span>
+      </a-table>
+      <!-- 分页 -->
+      <a-pagination
+        class="ant-table-pagination"
+        show-size-changer
+        show-quick-jumper
+        :current="queryParam.pageNum"
+        :total="total"
+        :page-size="queryParam.pageSize"
+        :showTotal="(total) => `共 ${total} 条`"
+        @showSizeChange="onShowSizeChange"
+        @change="changeSize"
+      />
+    </a-card>
+  </page-header-wrapper>
+</template>
+
+<script>
+import { listGas, delGas, updateGas } from '@/api/clw/gas'
+import { getmsgList } from '@/api/records'
+import CreateForm from './modules/CreateForm'
+import { tableMixin } from '@/store/table-mixin'
+import singOut from './modules/singOut.vue'
+import OpenModul from '@/components/OpenModul.vue'
+import registerForm from './modules/registerForm'
+export default {
+  components: {
+    CreateForm,
+    singOut,
+    OpenModul,
+    registerForm
+  },
+  mixins: [tableMixin],
+  dicts: ['remind_type'],
+  data() {
+    return {
+      list: [],
+      selectedRowKeys: [],
+      selectedRows: [],
+      // 高级搜索 展开/关闭
+      advanced: false,
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      ids: [],
+      loading: false,
+      total: 0,
+      // 查询参数
+      queryParam: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      columns: [
+        { title: '序号', scopedSlots: { customRender: 'num' }, width: '50px', align: 'center' },
+        {
+          title: '提醒日期',
+          dataIndex: 'remindTime',
+          scopedSlots: { customRender: 'remindTime' },
+          ellipsis: true,
+          align: 'center',
+        },
+        {
+          title: '提醒人',
+          dataIndex: 'remindUserName',
+          ellipsis: true,
+          align: 'center',
+        },
+        {
+          title: '提醒内容',
+          dataIndex: 'remindMessage',
+          ellipsis: true,
+          align: 'center',
+        },
+        {
+          title: '提醒类型',
+          dataIndex: 'remindType',
+          scopedSlots: { customRender: 'remindType' },
+          ellipsis: true,
+          align: 'center',
+        },
+        {
+          title: '操作',
+          dataIndex: 'operation',
+          width: '20%',
+          scopedSlots: { customRender: 'operation' },
+          align: 'center',
+        },
+      ],
+      gasIds: [],
+      showOpen: '',
+    }
+  },
+  filters: {},
+  created() {
+    this.getList()
+  },
+  computed: {},
+  watch: {},
+  methods: {
+    /** 查询加油卡信息列表 */
+    getList() {
+      this.loading = true
+      getmsgList(this.queryParam).then((response) => {
+        console.log('--------------->>数据', response)
+        this.list = response.rows
+        this.total = response.total
+        this.loading = false
+      })
+    },
+
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParam.pageNum = 1
+      this.getList()
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.queryParam = {
+        plateNumber: undefined,
+        gasCode: undefined,
+        pageNum: 1,
+        pageSize: 10,
+      }
+      this.handleQuery()
+    },
+    onShowSizeChange(current, pageSize) {
+      this.queryParam.pageSize = pageSize
+      this.getList()
+    },
+    changeSize(current, pageSize) {
+      this.queryParam.pageNum = current
+      this.queryParam.pageSize = pageSize
+      this.getList()
+    },
+    onSelectChange(selectedRowKeys, selectedRows) {
+      this.selectedRowKeys = selectedRowKeys
+      this.selectedRows = selectedRows
+      this.ids = this.selectedRows.map((item) => item.gasId)
+      this.single = selectedRowKeys.length !== 1
+      this.multiple = !selectedRowKeys.length
+    },
+    toggleAdvanced() {
+      this.advanced = !this.advanced
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      this.gasIds = row.gasId || this.ids
+      this.showOpen = '删除'
+      this.$refs.modules.title = '是否确认删除'
+      this.$refs.modules.visible = true
+      // this.$confirm({
+      //   title: '确认删除所选中数据?',
+      //   content: '当前选中编号为' + gasIds + '的数据',
+      //   onOk() {
+      //     return delGas(gasIds).then(() => {
+      //       that.onSelectChange([], [])
+      //       that.getList()
+      //       that.$message.success('删除成功', 3)
+      //     })
+      //   },
+      //   onCancel() {},
+      // })
+    },
+    handleDeletes() {
+      if (this.showOpen == '删除') {
+        delGas(this.gasIds)
+          .then(() => {
+            this.onSelectChange([], [])
+            this.getList()
+            this.$message.success('删除成功', 3)
+            this.$refs.modules.visible = false
+          })
+          .catch((error) => {
+            this.$refs.modules.visible = false
+          })
+      } else if (this.showOpen == '导出') {
+        this.download(
+          'clw/gas/export',
+          {
+            ...this.queryParam,
+          },
+          `gas_${new Date().getTime()}.xlsx`
+        )
+        this.$refs.modules.visible = false
+      }
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.showOpen = '导出'
+      this.$refs.modules.title = '请确认是否导出'
+      this.$refs.modules.visible = true
+    },
+    signCar(info) {
+      if (info.logoutReason == '') {
+        return this.$message.error('请输入注销原因')
+      }
+      updateGas(info).then((res) => {
+        if (res.code == 200) {
+          this.$message.success('注销成功')
+          this.getList()
+        }
+      })
+    },
+  },
+}
+</script>
+<style lang="less" scoped>
+/deep/.table-page-search-submitButtons{
+    display: flex;
+}
+</style>

+ 403 - 0
src/views/clw/records/modules/CreateForm.vue

@@ -0,0 +1,403 @@
+<template>
+  <a-drawer width="45%" :label-col="4" :wrapper-col="14" :visible="open" @close="onClose">
+    <a-divider orientation="left">
+      <b>{{ formTitle }}</b>
+    </a-divider>
+    <a-form-model ref="form" :model="form">
+      <a-row>
+        <a-col :span="10">
+          <a-form-model-item label="提醒日期">
+            <a-input v-model="form.remindTime" placeholder="暂无信息" disabled /> </a-form-model-item
+        ></a-col>
+        <a-col :span="10"
+          ><a-form-model-item label="提醒人">
+            <a-input v-model="form.remindUserName" placeholder="暂无信息" disabled /> </a-form-model-item
+        ></a-col>
+      </a-row>
+      <a-row>
+        <a-col :span="10">
+          <a-form-model-item label="提醒内容">
+            <a-input
+              v-model="form.remindMessage"
+              placeholder="暂无信息"
+              :disabled="formType == 3"
+            /> </a-form-model-item
+        ></a-col>
+        <a-col :span="10">
+          <a-form-model-item label="提醒类型">
+            <a-input v-model="form.remindType" placeholder="暂无信息" :disabled="formType == 3" /> </a-form-model-item
+        ></a-col>
+      </a-row>
+      <a-divider orientation="left">
+        <b>申请详情</b>
+      </a-divider>
+      <div v-if="form.remindType == 'USE_CAR_TIMEOUT'||form.remindType == 'RETURN_CAR'">
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="申请人">
+              <a-input v-model="form.metaDetail.applyUserName" placeholder="暂无信息" disabled /></a-form-model-item
+          ></a-col>
+          <a-col :span="10"
+            ><a-form-model-item label="申请机构">
+              <a-input v-model="form.metaDetail.deptName" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10"
+            ><a-form-model-item label="申请日期">
+              <a-input v-model="form.metaDetail.applicationTime" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10">
+            <a-form-model-item label="预计归还日期">
+              <a-input v-model="form.metaDetail.returnTime" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10"
+            ><a-form-model-item label="出发地点">
+              <a-input v-model="form.metaDetail.startPlace" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10">
+            <a-form-model-item label="目的地">
+              <a-input v-model="form.metaDetail.endPlace" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10"
+            ><a-form-model-item label="是否超期">
+              <a-input v-model="form.metaDetail.isTimeout" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10">
+            <a-form-model-item label="是否提醒">
+              <a-input v-model="form.metaDetail.isTips" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+      </div>
+      <div v-if="form.remindType == 'GAS_CARD'">
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="车牌号">
+              <a-input v-model="form.metaDetail.plateNumber" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10">
+            <a-form-model-item label="车辆分类">
+              <a-input v-model="form.metaDetail.carCategoryName" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10"
+            ><a-form-model-item label="申请机构">
+              <a-input v-model="form.metaDetail.deptName" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10"
+            ><a-form-model-item label="加油油品">
+              <a-input v-model="form.metaDetail.gasType" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10"
+            ><a-form-model-item label="加油卡号">
+              <a-input v-model="form.metaDetail.gasCode" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10"
+            ><a-form-model-item label="初始金额">
+              <a-input v-model="form.metaDetail.initialAmount" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10"
+            ><a-form-model-item label="状态">
+              <a-input v-model="form.metaDetail.status" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10"
+            ><a-form-model-item label="注销原因">
+              <a-input v-model="form.metaDetail.logoutReason" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+      </div>
+      <div v-if="form.remindType =='CHECK_YEAR'">
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="经办人">
+              <a-input v-model="form.remindUserName" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10">
+            <a-form-model-item label="车牌号">
+              <a-input v-model="form.metaDetail.plateNumber" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="年检费用(元)">
+              <a-input v-model="form.metaDetail.checkCost" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10">
+            <a-form-model-item label="车管所">
+              <a-input v-model="form.metaDetail.vehicleOffice" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+      </div>
+      <!-- 保养 -->
+      <div v-if="form.remindType == 'UPKEEP'">
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="登记日期">
+              <a-input v-model="form.metaDetail.registerTime" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10">
+            <a-form-model-item label="保养内容">
+              <a-input v-model="form.metaDetail.content" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="车牌号">
+              <a-input v-model="form.metaDetail.plateNumber" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10">
+            <a-form-model-item label="保养费用">
+              <a-input v-model="form.metaDetail.upkeepCost" placeholder="暂无信息" disabled /> </a-form-model-item
+          ></a-col>
+        </a-row>
+      </div>
+      <!-- 驾驶证 -->
+
+      <div v-if="form.remindType == 'DRIVER_LICENSE'">
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="驾驶证领取时间">
+              <a-input
+                v-model="form.metaDetail.drivingLicense.firstTime"
+                placeholder="暂无信息"
+                disabled
+              /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10">
+            <a-form-model-item label="驾驶证到期时间">
+              <a-input
+                v-model="form.metaDetail.drivingLicense.expirationTime"
+                placeholder="暂无信息"
+                disabled
+              /> </a-form-model-item
+          ></a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="驾驶证类型">
+              <a-input
+                v-model="form.metaDetail.drivingLicense.drivingLicenseType"
+                placeholder="暂无信息"
+                disabled
+              /> </a-form-model-item
+          ></a-col>
+          <a-col :span="10">
+            <a-form-model-item label="驾驶证号码">
+              <a-input
+                v-model="form.metaDetail.drivingLicense.drivingLicenseCode"
+                placeholder="暂无信息"
+                disabled
+              /> </a-form-model-item
+          ></a-col>
+        </a-row>
+        <a-form-model-item label="驾驶证照片" >
+          <file-upload disabled v-model="warrantyImageId" type="image" module="register_bd" v-if="warrantyImageId"></file-upload>
+        <div class="imgs" v-else></div>
+        </a-form-model-item>
+      </div>
+      <!-- <a-form-model-item label="状态" prop="status">
+        <a-select placeholder="请选择状态" v-model="form.status" :disabled="formType == 3">
+          <a-select-option v-for="(d, index) in statusOptions" :key="index" :value="d.value">{{
+            d.label
+          }}</a-select-option>
+        </a-select>
+      </a-form-model-item> -->
+      <!-- <a-form-model-item label="备注" prop="remark">
+        <a-input v-model="form.metaDetail.remark" placeholder="请输入内容" type="textarea" allow-clear :disabled="formType == 3" />
+      </a-form-model-item> -->
+      <div class="bottom-control">
+        <a-space>
+          <a-button type="primary" :loading="submitLoading" @click="submitForm"> 保存 </a-button>
+          <a-button type="dashed" @click="cancel"> 取消 </a-button>
+        </a-space>
+      </div>
+    </a-form-model>
+  </a-drawer>
+</template>
+
+<script>
+import { getGas, addGas, updateGas, plateNumberList } from '@/api/clw/gas'
+import { getmsgInfo } from '@/api/records'
+export default {
+  name: 'CreateForm',
+  components: {},
+  data() {
+    return {
+      submitLoading: false,
+      formTitle: '',
+      // 表单参数
+      form: {
+        gasCardType: null,
+
+        carId: null,
+
+        deptName: null,
+
+        carCategoryName: null,
+
+        gasType: null,
+
+        gasCode: null,
+
+        initialAmount: null,
+
+        status: '1',
+
+        remark: null,
+      },
+      // 1增加,2修改
+      formType: 1,
+      open: false,
+      rules: {
+        gasCardType: [{ required: true, message: '加油卡类型不能为空', trigger: 'change' }],
+
+        carId: [{ required: true, message: '车辆ID不能为空', trigger: 'change' }],
+
+        deptName: [{ required: true, message: '机构名称不能为空', trigger: 'blur' }],
+
+        carCategoryName: [{ required: true, message: '车辆分类名称不能为空', trigger: 'blur' }],
+
+        gasType: [{ required: true, message: '油品不能为空', trigger: 'blur' }],
+
+        gasCode: [{ required: true, message: '油卡号不能为空', trigger: 'blur' }],
+
+        initialAmount: [{ required: true, message: '初始金额不能为空', trigger: 'blur' }],
+
+        status: [{ required: true, message: '状态不能为空', trigger: 'change' }],
+      },
+      cacheCarPlateNumber: {},
+      warrantyImageId: '',
+    }
+  },
+  filters: {},
+  created() {
+    this.getCarNum()
+  },
+  computed: {},
+  watch: {},
+  mounted() {},
+  methods: {
+    onClose() {
+      this.open = false
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false
+      this.reset()
+    },
+    // 表单重置
+    reset() {
+      this.formType = 1
+      this.form = {
+        gasCardType: null,
+
+        carId: null,
+
+        deptName: null,
+
+        carCategoryName: null,
+
+        gasType: null,
+
+        gasCode: null,
+
+        initialAmount: null,
+
+        status: '1',
+
+        remark: null,
+      }
+    },
+    handleInfo(row) {
+      console.log('-----', row)
+      // this.formType = 3
+      // const gasId = row ? row.gasId : ids
+      getmsgInfo(row.id).then((response) => {
+        console.log('--------详情', response.data)
+        this.form = response.data
+        if (response.data.metaDetail&&response.data.metaDetail.drivingLicense) {
+          this.warrantyImageId = '/api' + response.data.metaDetail.drivingLicense.drivingLicenseImageUrl
+        }
+        this.open = true
+        this.formTitle = '提醒记录详情'
+      })
+    },
+    /** 提交按钮 */
+    submitForm: function () {
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          this.submitLoading = true
+          if (this.form.gasId !== undefined && this.form.gasId !== null) {
+            updateGas(this.form)
+              .then((response) => {
+                this.$message.success('修改成功', 3)
+                this.open = false
+                this.$emit('ok')
+              })
+              .finally(() => {
+                this.submitLoading = false
+              })
+          } else {
+            addGas(this.form)
+              .then((response) => {
+                this.$message.success('新增成功', 3)
+                this.open = false
+                this.$emit('ok')
+              })
+              .finally(() => {
+                this.submitLoading = false
+              })
+          }
+        } else {
+          return false
+        }
+      })
+    },
+    getCarNum() {
+      plateNumberList().then((res) => {
+        this.cacheCarPlateNumber = res.data.reduce((config, item) => {
+          config[item.id] = item
+          return config
+        }, {})
+      })
+    },
+    changeCarNum(id) {
+      const node = this.cacheCarPlateNumber[id]
+      this.form.carId = node.id
+      this.form.deptId = node.deptId
+      this.form.deptName = node.deptName
+      this.form.carCategoryName = node.categoryName
+      this.form.plateNumber = node.plateNumber
+    },
+    filterOption(value, option) {
+      return option.componentOptions.children[0].text.indexOf(value) >= 0
+    },
+  },
+}
+</script>
+<style lang="less" scoped>
+/deep/.ant-select {
+  color: #000;
+}
+/deep/.ant-input {
+  color: #000;
+}
+.imgs{
+  width:130px;
+  height:130px;
+  background:url('../../../../assets/images/zwtp.png') no-repeat;
+  background-size:100% 100%;
+}
+/deep/.ant-col-10 {
+    margin-right: 40px;
+  }
+</style>

+ 157 - 0
src/views/clw/records/modules/SubTable.vue

@@ -0,0 +1,157 @@
+<template>
+  <div>
+    <template slot="footer">
+      <a-button type="dashed" @click="close"> 关闭 </a-button>
+    </template>
+    <a-card :bordered="false">
+      <!-- 操作 -->
+      <div class="table-operations">
+        <table-setting
+          :style="{ float: 'right' }"
+          :table-size.sync="tableSize"
+          v-model="columns"
+          :refresh-loading="loading"
+        />
+      </div>
+      <!-- 数据展示 -->
+      <a-table
+        :loading="loading"
+        :size="tableSize"
+        rowKey="index"
+        :columns="calcColumns"
+        :data-source="list"
+        :row-selection="this.showNum != 3 ? { selectedRowKeys: selectedRowKeys, onChange: onSelectChange } : null"
+        :pagination="false"
+        :bordered="tableBordered"
+      >
+        <span slot="insuranceType" slot-scope="text, record">
+          <span>{{ dict.label.insurance_type[record.insuranceType] }}</span>
+        </span>
+      </a-table>
+    </a-card>
+  </div>
+  <!-- <a-modal ref="subTableModel" :title="'保险登记详情'" width="80%" :visible="visible" @cancel="close">
+   
+  </a-modal> -->
+</template>
+
+<script>
+import { tableMixin } from '@/store/table-mixin'
+
+export default {
+  dicts: ['insurance_type'],
+  name: 'SubTable',
+  props: {
+    list: {
+      type: Array,
+      required: true,
+    },
+    formType: Number,
+  },
+  mixins: [tableMixin],
+  data() {
+    return {
+      visible: true,
+      selectedRowKeys: [],
+      selectedRows: [],
+      // 高级搜索 展开/关闭
+      advanced: false,
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      ids: [],
+      loading: false,
+      showNum: null,
+      columns: [
+        {
+          title: '保险类型',
+          dataIndex: 'insuranceType',
+          scopedSlots: { customRender: 'insuranceType' },
+          ellipsis: true,
+          align: 'center',
+        },
+        {
+          title: '保费',
+          dataIndex: 'insuranceExpense',
+          ellipsis: true,
+          align: 'center',
+        },
+        {
+          title: '保额',
+          dataIndex: 'insuranceInsured',
+          ellipsis: true,
+          align: 'center',
+        },
+      ],
+    }
+  },
+  filters: {},
+  created() {},
+  computed: {},
+  computed: {
+    calcColumns() {
+      if (this.showNum != 3) {
+        return [
+          ...this.columns,
+          {
+            title: '操作',
+            dataIndex: 'operation',
+            width: '18%',
+            scopedSlots: { customRender: 'operation' },
+            align: 'center',
+          },
+        ]
+      }
+      return [...this.columns]
+    },
+  },
+  watch: {
+    formType: {
+      handler(val) {
+        this.showNum = val
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
+  methods: {
+    // 关闭模态框
+    close() {
+      this.visible = false
+      this.selectedRowKeys = []
+      this.selectedRows = []
+    },
+    // 打开抽屉(由外面的组件调用)
+    show() {
+      this.visible = true
+    },
+    onSelectChange(selectedRowKeys, selectedRows) {
+      this.selectedRowKeys = selectedRowKeys
+      this.selectedRows = selectedRows
+      this.ids = selectedRowKeys.map((item) => item - 1)
+      this.single = selectedRowKeys.length !== 1
+      this.multiple = !selectedRowKeys.length
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      var that = this
+      if (row) {
+        var index = (this.list || []).findIndex((item) => item === row)
+      }
+      const ids = index !== undefined ? index : this.ids
+      this.$confirm({
+        title: '确认删除所选中数据?',
+        content: '当前选中序号为' + ids + '的数据',
+        onOk() {
+          that.$emit('delete', index, ids)
+        },
+        onCancel() {},
+      })
+    },
+    handleAddLjclwInsuranceRegisterDetail(row) {
+      this.$emit('add', row)
+    },
+  },
+}
+</script>

+ 250 - 0
src/views/clw/records/modules/registerForm.vue

@@ -0,0 +1,250 @@
+<template>
+    <a-drawer width="55%" :label-col="4" :wrapper-col="14" :visible="open" @close="onClose">
+      <a-divider orientation="left">
+        <b>{{ formTitle }}</b>
+      </a-divider>
+      <a-form-model ref="form" :model="form" v-if="form">
+        <a-row>
+        <a-col :span="10">
+          <a-form-model-item label="提醒日期">
+            <a-input v-model="form.remindTime" placeholder="暂无信息" disabled /> </a-form-model-item
+        ></a-col>
+        <a-col :span="10"
+          ><a-form-model-item label="提醒人" >
+            <a-input v-model="form.remindUserName" placeholder="暂无信息" disabled /> </a-form-model-item
+        ></a-col>
+      </a-row>
+      <a-row>
+        <a-col :span="10">
+          <a-form-model-item label="提醒内容" >
+            <a-input
+              v-model="form.remindMessage"
+              placeholder="暂无信息"
+              :disabled="formType == 3"
+            /> </a-form-model-item
+        ></a-col>
+        <a-col :span="10">
+          <a-form-model-item label="提醒类型">
+            <a-input v-model="form.remindType" placeholder="暂无信息" :disabled="formType == 3" /> </a-form-model-item
+        ></a-col>
+      </a-row>
+      <a-divider orientation="left">
+        <b>保险登记详情</b>
+      </a-divider>
+        <a-row>
+          <!-- <a-col :span="10">
+            <a-form-model-item label="经办人" >
+              <a-input v-model="uersInfo.metaDetail.remindUserName" placeholder="请输入经办人" :disabled="true" />
+            </a-form-model-item>
+          </a-col> -->
+          <a-col :span="10">
+            <a-form-model-item label="车牌号" >
+              <a-input v-model="form.metaDetail.plateNumber" placeholder="请输入车牌号" :disabled="formType == 3" />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="保险单号" >
+              <a-input v-model="form.metaDetail.warrantyCode" placeholder="请输入保险单号" :disabled="formType == 3" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="10">
+            <a-form-model-item label="保险发票照片" >
+              <file-upload
+                :disabled="formType == 3"
+                v-model="insuranceInvoice"
+                type="image"
+                module="register_bx"
+                @UpdateImg="UpdateInvoice"
+              ></file-upload>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="保险公司" >
+              <a-input v-model="form.metaDetail.insuranceCompany" placeholder="请输入保险公司" :disabled="formType == 3" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="10">
+            <a-form-model-item label="保单照片" >
+              <file-upload
+                :disabled="formType == 3"
+                v-model="warrantyImageId"
+                type="image"
+                module="register_bd"
+                @UpdateImg="UpdateWarranty"
+              ></file-upload>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="保费" >
+              <a-input v-model="form.metaDetail.insuranceExpense" placeholder="请输入保费" type="number" :disabled="formType == 3" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="10">
+            <a-form-model-item label="保额">
+              <a-input v-model="form.metaDetail.insuranceInsured" placeholder="请输入保额" type="number" :disabled="formType == 3" />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+        <a-row>
+          <a-col :span="10">
+            <a-form-model-item label="投保日期">
+              <a-date-picker
+                style="width: 100%"
+                v-model="form.metaDetail.insuranceTime"
+                format="YYYY-MM-DD HH:mm:ss"
+                allow-clear
+                :disabled="formType == 3"
+              />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="10">
+            <a-form-model-item label="到期日期">
+              <a-date-picker
+                style="width: 100%"
+                v-model="form.metaDetail.dueTime"
+                format="YYYY-MM-DD HH:mm:ss"
+                allow-clear
+                :disabled="formType == 3"
+              />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+        <a-form-model-item label="备注" >
+          <a-input v-model="form.metaDetail.remark" placeholder="请输入内容" type="textarea" allow-clear :disabled="formType == 3" />
+        </a-form-model-item>
+        <a-divider orientation="left">
+          <b>保险登记详情</b>
+        </a-divider>
+        <sub-table
+          ref="subTable"
+          :list="subList"
+          :formType="formType"
+        />
+        <p>当前存在 {{ subList.length }} 条保险类</p>
+        <!-- <a-button type="dashed" @click="$refs.subTable.show()"> 详情 </a-button> -->
+        <br />
+        <div class="bottom-control">
+          <a-space>
+            <a-button type="primary" :loading="submitLoading" @click="submitForm" v-if="formType != 3"> 保存 </a-button>
+            <a-button type="dashed" @click="cancel"> 取消 </a-button>
+          </a-space>
+        </div>
+      </a-form-model>
+    </a-drawer>
+  </template>
+  
+  <script>
+  import { getRegister, addRegister, updateRegister } from '@/api/clw/register'
+  import { getmsgInfo } from '@/api/records'
+  import SubTable from './SubTable'
+  import { mapGetters } from 'vuex'
+  // import {user}
+  export default {
+    name: 'CreateForm',
+    props: {},
+    components: {
+      SubTable,
+    },
+  
+    data() {
+      return {
+        submitLoading: false,
+        subList: [],
+        formTitle :'提醒记录详情',
+        // 表单参数
+        form: {
+          userId: null,
+  
+          plateNumber: null,
+  
+          warrantyCode: null,
+  
+          insuranceCompany: null,
+  
+          insuranceExpense: null,
+  
+          insuranceInsured: null,
+  
+          warrantyImageId: 123,
+  
+          insuranceInvoice: null,
+  
+          insuranceTime: null,
+  
+          dueTime: null,
+  
+          remark: null,
+        },
+        // 1增加,2修改
+        formType: 1,
+        open: false,
+        rules: {},
+        uersInfo: null,
+        warrantyImageId: '', //保单
+        insuranceInvoice: '', //保险
+      }
+    },
+    filters: {},
+    created() {
+      this.uersInfo = this.$store.getters.userInfo
+    },
+    computed: {},
+    watch: {},
+    mounted() {},
+    methods: {
+      onClose() {
+        this.open = false
+        this.subList = []
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false
+        this.reset()
+        this.subList = []
+      },
+      //详情
+      handleInfo(row, ids) {
+        this.formType = 3
+        getmsgInfo(row.id).then((response) => {
+          this.form = response.data
+          if (response.data.metaDetail.warrantyFile) {
+            this.warrantyImageId = '/api' + response.data.metaDetail.warrantyFile.fileUrl
+          }
+          if (response.data.metaDetail.insuranceInvoiceFile) {
+            this.insuranceInvoice = '/api' + response.data.metaDetail.insuranceInvoiceFile.fileUrl
+          }
+          this.subList = response.data.metaDetail.ljclwInsuranceRegisterDetailList
+          this.open = true
+        })
+      },
+      // 保险
+      UpdateInvoice(val) {
+        this.insuranceInvoice = val.response.url
+        this.form.insuranceInvoice = val.response.id
+      },
+      // 保单
+      UpdateWarranty(val) {
+        this.warrantyImageId = val.response.url
+        this.form.warrantyImageId = val.response.id
+      },
+    },
+  }
+  </script>
+  <style lang="less" scoped>
+  /deep/.ant-col-10 {
+    margin-right: 40px;
+  }
+  /deep/.ant-select{
+    color: #000;
+  }
+  /deep/.ant-input{
+    color: #000;
+  }
+  </style>
+  

+ 74 - 0
src/views/clw/records/modules/singOut.vue

@@ -0,0 +1,74 @@
+<template>
+  <!-- 增加修改 -->
+  <a-modal width="35%" :label-col="4" :wrapper-col="14" :visible="visible" @cancel="onClose" @ok="handleOk">
+    <a-divider orientation="left">
+      <b>注销</b>
+    </a-divider>
+    <a-form-model ref="form" :model="form">
+      <a-form-model-item label="注销原因" prop="insuranceInsured">
+        <a-input v-model="form.logoutReason" type="textarea" placeholder="请输入注销原因" />
+      </a-form-model-item>
+      <!-- <div class="bottom-control">
+          <a-space>
+            <a-button type="primary" @click="submitForm"> 保存11111111 </a-button>
+            <a-button type="dashed" @click="onClose"> 取消 </a-button>
+          </a-space>
+        </div> -->
+    </a-form-model>
+  </a-modal>
+</template>
+
+<script>
+export default {
+  components: {},
+  data() {
+    return {
+      // 表单参数
+      form: {
+        logoutReason: '',
+        gasId: '',
+        status: 0,
+      },
+      visible: false,
+    }
+  },
+  filters: {},
+  created() {},
+  computed: {},
+  watch: {},
+  methods: {
+    onClose() {
+      this.visible = false
+      this.reset()
+    },
+    // 取消按钮
+    onClose() {
+      this.visible = false
+      this.reset()
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        logoutReason: undefined,
+        gasId: undefined,
+        status: 0,
+      }
+    },
+    /** 提交按钮 */
+    // submitForm: function () {
+    //   this.$emit('add', this.form)
+    //   this.onClose()
+    // },
+    handleOk() {
+      this.$emit('signCar', this.form)
+      this.onClose()
+      this.reset()
+    },
+    // 注销
+    signOut(row, ids) {
+      this.form.gasId = row.gasId
+      this.visible = true
+    },
+  },
+}
+</script>

+ 76 - 75
src/views/clw/refuelingLog/index.vue

@@ -7,28 +7,37 @@
           <a-row :gutter="48">
             <a-col :md="8" :sm="24">
               <a-form-item label="日期">
-                <a-range-picker style="width: 100%" v-model="daterangeCreateTime" valueFormat="YYYY-MM-DD" format="YYYY-MM-DD" allow-clear/>
+                <a-range-picker
+                  style="width: 100%"
+                  v-model="daterangeCreateTime"
+                  valueFormat="YYYY-MM-DD"
+                  format="YYYY-MM-DD"
+                  allow-clear
+                />
               </a-form-item>
             </a-col>
             <a-col :md="8" :sm="24">
               <a-form-item label="车牌号" prop="plateNumber">
-                <a-input v-model="queryParam.plateNumber" placeholder="请输入车牌号" allow-clear/>
+                <a-input v-model="queryParam.plateNumber" placeholder="请输入车牌号" allow-clear />
               </a-form-item>
             </a-col>
             <template v-if="advanced">
               <a-col :md="8" :sm="24">
                 <a-form-item label="加油量" prop="fuelCharge">
-                  <a-input v-model="queryParam.fuelCharge" placeholder="请输入加油量" allow-clear/>
+                  <a-input v-model="queryParam.fuelCharge" placeholder="请输入加油量" allow-clear />
                 </a-form-item>
               </a-col>
             </template>
-            <a-col :md="!advanced && 8 || 24" :sm="24">
-              <span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
+            <a-col :md="(!advanced && 8) || 24" :sm="24">
+              <span
+                class="table-page-search-submitButtons"
+                :style="(advanced && { float: 'right', overflow: 'hidden' }) || {}"
+              >
                 <a-button type="primary" @click="handleQuery"><a-icon type="search" />查询</a-button>
                 <a-button style="margin-left: 8px" @click="resetQuery"><a-icon type="redo" />重置</a-button>
                 <a @click="toggleAdvanced" style="margin-left: 8px">
                   {{ advanced ? '收起' : '展开' }}
-                  <a-icon :type="advanced ? 'up' : 'down'"/>
+                  <a-icon :type="advanced ? 'up' : 'down'" />
                 </a>
               </span>
             </a-col>
@@ -50,17 +59,15 @@
           <a-icon type="download" />导出
         </a-button>
         <table-setting
-          :style="{float: 'right'}"
+          :style="{ float: 'right' }"
           :table-size.sync="tableSize"
           v-model="columns"
           :refresh-loading="loading"
-          @refresh="getList" />
+          @refresh="getList"
+        />
       </div>
       <!-- 增加修改 -->
-      <create-form
-        ref="createForm"
-        @ok="getList"
-      />
+      <create-form ref="createForm" @ok="getList" />
       <!-- 数据展示 -->
       <a-table
         :loading="loading"
@@ -71,7 +78,7 @@
         :pagination="false"
         :bordered="tableBordered"
       >
-      <span slot="num" slot-scope="text, records, index">
+        <span slot="num" slot-scope="text, records, index">
           {{ (queryParam.pageNum - 1) * queryParam.pageSize + Number(index) + 1 }}
         </span>
         <span slot="createTime" slot-scope="text, record">
@@ -99,7 +106,7 @@
         :current="queryParam.pageNum"
         :total="total"
         :page-size="queryParam.pageSize"
-        :showTotal="total => `共 ${total} 条`"
+        :showTotal="(total) => `共 ${total} 条`"
         @showSizeChange="onShowSizeChange"
         @change="changeSize"
       />
@@ -115,11 +122,11 @@ import { tableMixin } from '@/store/table-mixin'
 export default {
   name: 'RefuelingLog',
   components: {
-    CreateForm
+    CreateForm,
   },
   mixins: [tableMixin],
-  dicts:['apply_status'],
-  data () {
+  dicts: ['apply_status'],
+  data() {
     return {
       list: [],
       selectedRowKeys: [],
@@ -142,107 +149,108 @@ export default {
         fuelCharge: null,
         applyStatus: null,
         pageNum: 1,
-        pageSize: 10
+        pageSize: 10,
       },
       columns: [
-      { title: '序号', scopedSlots: { customRender: 'num' },width:'50px',   align: 'center', },
+        { title: '序号', scopedSlots: { customRender: 'num' }, width: '50px', align: 'center' },
         {
           title: '日期',
           dataIndex: 'createTime',
           scopedSlots: { customRender: 'createTime' },
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '申请人',
           dataIndex: 'applyUserName',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '车辆分类',
           dataIndex: 'categoryName',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '车牌号',
           dataIndex: 'plateNumber',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '用车时间',
           dataIndex: 'useTime',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '加油站名称',
           dataIndex: 'gasStation',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '备注',
           dataIndex: 'remark',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '油品',
           dataIndex: 'gasType',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '加油量(升)',
           dataIndex: 'fuelCharge',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '实收金额(元)',
           dataIndex: 'realAmount',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '审核状态',
           dataIndex: 'applyStatus',
           scopedSlots: { customRender: 'applyStatus' },
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '操作',
           dataIndex: 'operation',
           width: '12%',
           scopedSlots: { customRender: 'operation' },
-          align: 'center'
-        }
-      ]
+          align: 'center',
+        },
+      ],
     }
   },
-  filters: {
-  },
-  created () {
+  filters: {},
+  created() {
     this.getList()
   },
-  computed: {
-  },
-  watch: {
-  },
+  computed: {},
+  watch: {},
   methods: {
     /** 查询非定点加油记录列表 */
-    getList () {
+    getList() {
       this.loading = true
       this.queryParam.params = {}
-      if (this.daterangeCreateTime !== null && this.daterangeCreateTime !== '' && this.daterangeCreateTime.length !== 0) {
+      if (
+        this.daterangeCreateTime !== null &&
+        this.daterangeCreateTime !== '' &&
+        this.daterangeCreateTime.length !== 0
+      ) {
         this.queryParam.params['beginCreateTime'] = this.daterangeCreateTime[0]
         this.queryParam.params['endCreateTime'] = this.daterangeCreateTime[1]
       }
-      listRefuelingLog(this.queryParam).then(response => {
+      listRefuelingLog(this.queryParam).then((response) => {
         this.list = response.rows
         this.total = response.total
         this.loading = false
@@ -250,76 +258,69 @@ export default {
     },
 
     /** 搜索按钮操作 */
-    handleQuery () {
+    handleQuery() {
       this.queryParam.pageNum = 1
       this.getList()
     },
     /** 重置按钮操作 */
-    resetQuery () {
+    resetQuery() {
       this.daterangeCreateTime = []
       this.queryParam = {
         plateNumber: undefined,
         fuelCharge: undefined,
         applyStatus: null,
         pageNum: 1,
-        pageSize: 10
+        pageSize: 10,
       }
       this.handleQuery()
     },
-    onShowSizeChange (current, pageSize) {
+    onShowSizeChange(current, pageSize) {
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    changeSize (current, pageSize) {
+    changeSize(current, pageSize) {
       this.queryParam.pageNum = current
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    onSelectChange (selectedRowKeys, selectedRows) {
+    onSelectChange(selectedRowKeys, selectedRows) {
       this.selectedRowKeys = selectedRowKeys
       this.selectedRows = selectedRows
-      this.ids = this.selectedRows.map(item => item.id)
+      this.ids = this.selectedRows.map((item) => item.id)
       this.single = selectedRowKeys.length !== 1
       this.multiple = !selectedRowKeys.length
     },
-    toggleAdvanced () {
+    toggleAdvanced() {
       this.advanced = !this.advanced
     },
     /** 删除按钮操作 */
-    handleDelete (row) {
+    handleDelete(row) {
       var that = this
       const ids = row.id || this.ids
       this.$confirm({
         title: '确认删除所选中数据?',
         content: '当前选中编号为' + ids + '的数据',
-        onOk () {
-          return delRefuelingLog(ids)
-            .then(() => {
-              that.onSelectChange([], [])
-              that.getList()
-              that.$message.success(
-                '删除成功',
-                3
-              )
+        onOk() {
+          return delRefuelingLog(ids).then(() => {
+            that.onSelectChange([], [])
+            that.getList()
+            that.$message.success('删除成功', 3)
           })
         },
-        onCancel () {}
+        onCancel() {},
       })
     },
     /** 导出按钮操作 */
-    handleExport () {
-      var that = this
-      this.$confirm({
-        title: '是否确认导出?',
-        content: '此操作将导出当前条件下所有数据而非选中数据',
-        onOk () {
-          that.download('clw/refuelingLog/export', {
-            ...that.queryParam
-          }, `refuelingLog_${new Date().getTime()}.xlsx`)
+    handleExport() {
+      this.$message.success('请稍等,正在导出')
+      this.download(
+        'clw/refuelingLog/export',
+        {
+          ...this.queryParam,
         },
-        onCancel () {}
-      })
-    }
-  }
+        `refuelingLog_${new Date().getTime()}.xlsx`
+      )
+    },
+  },
 }
 </script>

+ 73 - 41
src/views/clw/register/index.vue

@@ -13,13 +13,23 @@
             <a-col :md="8" :sm="24">
               <a-form-item label="投保日期">
                 <!-- <a-date-picker style="width: 100%" v-model="queryParam.insuranceTime" format="YYYY-MM-DD HH:mm:ss" allow-clear/> -->
-                <a-range-picker v-model="query.insuranceTime" format="YYYY-MM-DD" :placeholder="['开始时间', '结束时间']" @change="onChangeTime" />
+                <a-range-picker
+                  v-model="query.insuranceTime"
+                  format="YYYY-MM-DD"
+                  :placeholder="['开始时间', '结束时间']"
+                  @change="onChangeTime"
+                />
               </a-form-item>
             </a-col>
             <template v-if="advanced">
               <a-col :md="8" :sm="24">
                 <a-form-item label="到期日期" prop="dueTime">
-                  <a-range-picker  v-model="query.endTime" format="YYYY-MM-DD" :placeholder="['开始时间', '结束时间']" @change="onChangeEnTime" />
+                  <a-range-picker
+                    v-model="query.endTime"
+                    format="YYYY-MM-DD"
+                    :placeholder="['开始时间', '结束时间']"
+                    @change="onChangeEnTime"
+                  />
                 </a-form-item>
               </a-col>
             </template>
@@ -68,6 +78,8 @@
       </div>
       <!-- 增加修改 -->
       <create-form ref="createForm" @ok="getList" />
+      <!-- 删除弹窗 -->
+      <OpenModul ref="modules" @handleDeletes="handleDeletes" />
       <!-- 数据展示 -->
       <a-table
         :loading="loading"
@@ -79,7 +91,7 @@
         :pagination="false"
         :bordered="tableBordered"
       >
-      <span slot="num" slot-scope="text, records, index">
+        <span slot="num" slot-scope="text, records, index">
           {{ (queryParam.pageNum - 1) * queryParam.pageSize + Number(index) + 1 }}
         </span>
         <span slot="insuranceTime" slot-scope="text, record">
@@ -121,11 +133,13 @@
 import { listRegister, delRegister } from '@/api/clw/register'
 import CreateForm from './modules/CreateForm'
 import { tableMixin } from '@/store/table-mixin'
+import OpenModul from '@/components/OpenModul.vue'
 import moment from 'moment'
 export default {
   name: 'Register',
   components: {
     CreateForm,
+    OpenModul,
   },
   mixins: [tableMixin],
 
@@ -152,7 +166,7 @@ export default {
       dateFormat: 'YYYY/MM/DD',
       monthFormat: 'YYYY/MM',
       columns: [
-      { title: '序号', scopedSlots: { customRender: 'num' },width:'50px',   align: 'center', },
+        { title: '序号', scopedSlots: { customRender: 'num' }, width: '50px', align: 'center' },
         {
           title: '经办人',
           dataIndex: 'username',
@@ -217,10 +231,12 @@ export default {
           align: 'center',
         },
       ],
-      query:{
-        insuranceTime:null,
-        endTime:null
-      }
+      query: {
+        insuranceTime: null,
+        endTime: null,
+      },
+      insuranceIds: [],
+      showOpen: '',
     }
   },
   filters: {},
@@ -252,7 +268,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
       }
-      this.query={}
+      this.query = {}
       this.handleQuery()
     },
     onShowSizeChange(current, pageSize) {
@@ -276,38 +292,54 @@ export default {
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      var that = this
-      const insuranceIds = row.insuranceId || this.ids
-      this.$confirm({
-        title: '确认删除所选中数据?',
-        content: '当前选中编号为' + insuranceIds + '的数据',
-        onOk() {
-          return delRegister(insuranceIds).then(() => {
-            that.onSelectChange([], [])
-            that.getList()
-            that.$message.success('删除成功', 3)
+      this.insuranceIds = row.insuranceId || this.ids
+      this.showOpen = '删除'
+      this.$refs.modules.title = '是否确认删除'
+      this.$refs.modules.visible = true
+    },
+    // 确认删除
+    handleDeletes() {
+      if (this.showOpen == '删除') {
+        delRegister(this.insuranceIds)
+          .then(() => {
+            this.onSelectChange([], [])
+            this.getList()
+            this.$message.success('删除成功', 3)
+            this.$refs.modules.visible = false
           })
-        },
-        onCancel() {},
-      })
+          .catch((error) => {
+            this.$refs.modules.visible = false
+          })
+      } else if (this.showOpen == '导出') {
+        this.download(
+          'clw/register/export',
+          {
+            ...this.queryParam,
+          },
+          `register_${new Date().getTime()}.xlsx`
+        )
+        this.$refs.modules.visible = false
+      }
     },
     /** 导出按钮操作 */
     handleExport() {
-      var that = this
-      this.$confirm({
-        title: '是否确认导出?',
-        content: '此操作将导出当前条件下所有数据而非选中数据',
-        onOk() {
-          that.download(
-            'clw/register/export',
-            {
-              ...that.queryParam,
-            },
-            `register_${new Date().getTime()}.xlsx`
-          )
-        },
-        onCancel() {},
-      })
+      this.showOpen = '导出'
+      this.$refs.modules.title = '请确认是否导出'
+      this.$refs.modules.visible = true
+      // this.$confirm({
+      //   title: '是否确认导出?',
+      //   content: '此操作将导出当前条件下所有数据而非选中数据',
+      //   onOk() {
+      //     that.download(
+      //       'clw/register/export',
+      //       {
+      //         ...that.queryParam,
+      //       },
+      //       `register_${new Date().getTime()}.xlsx`
+      //     )
+      //   },
+      //   onCancel() {},
+      // })
     },
     //投保时间选择
     onChangeTime(val) {
@@ -315,10 +347,10 @@ export default {
       this.queryParam.endInsuranceTime = val[1].format('YYYY-MM-DD 00:00:00')
     },
     //到期时间
-    onChangeEnTime(node){
-      this.queryParam.startDueTime=node[0].format('YYYY-MM-DD 00:00:00')
-      this.queryParam.endDueTime=node[1].format('YYYY-MM-DD 00:00:00')
-    }
+    onChangeEnTime(node) {
+      this.queryParam.startDueTime = node[0].format('YYYY-MM-DD 00:00:00')
+      this.queryParam.endDueTime = node[1].format('YYYY-MM-DD 00:00:00')
+    },
   },
 }
 </script>

+ 56 - 31
src/views/clw/remind/index.vue

@@ -57,6 +57,8 @@
         :title="dict.label.remind_unit_type"
         @ok="getList"
       />
+      <!-- 删除弹窗 -->
+      <OpenModul ref="modules" @handleDeletes="handleDeletes"/>
       <!-- 数据展示 -->
       <a-table
         :loading="loading"
@@ -109,11 +111,12 @@
 import { listRemind, delRemind } from '@/api/clw/remind'
 import CreateForm from './modules/CreateForm'
 import { tableMixin } from '@/store/table-mixin'
-
+import OpenModul from '@/components/OpenModul.vue'
 export default {
   name: 'Remind',
   components: {
-    CreateForm
+    CreateForm,
+    OpenModul
   },
   mixins: [tableMixin],
   dicts: ['remind_type', 'cmmon_yes_no','remind_unit_type'],
@@ -172,7 +175,9 @@ export default {
           scopedSlots: { customRender: 'operation' },
           align: 'center'
         }
-      ]
+      ],
+      remindTypes:[],
+      showOpen:''
     }
   },
   filters: {
@@ -231,38 +236,58 @@ export default {
     },
     /** 删除按钮操作 */
     handleDelete (row) {
-      var that = this
-      const remindTypes = row.remindId || this.ids
-      this.$confirm({
-        title: '确认删除所选中数据?',
-        content: '当前选中编号为' + remindTypes + '的数据',
-        onOk () {
-          return delRemind(remindTypes)
-            .then(() => {
-              that.onSelectChange([], [])
-              that.getList()
-              that.$message.success(
-                '删除成功',
-                3
-              )
+      this.remindTypes = row.remindId || this.ids
+      this.showOpen = '删除'
+      this.$refs.modules.title = '是否确认删除'
+      this.$refs.modules.visible = true
+      // var that = this
+      // const remindTypes = row.remindId || this.ids
+      // this.$confirm({
+      //   title: '确认删除所选中数据?',
+      //   content: '当前选中编号为' + remindTypes + '的数据',
+      //   onOk () {
+      //     return delRemind(remindTypes)
+      //       .then(() => {
+      //         that.onSelectChange([], [])
+      //         that.getList()
+      //         that.$message.success(
+      //           '删除成功',
+      //           3
+      //         )
+      //     })
+      //   },
+      //   onCancel () {}
+      // })
+    },
+     // 确认删除
+     handleDeletes() {
+      if (this.showOpen == '删除') {
+        delRemind(this.remindTypes)
+          .then(() => {
+            this.onSelectChange([], [])
+            this.getList()
+            this.$message.success('删除成功', 3)
+            this.$refs.modules.visible = false
           })
-        },
-        onCancel () {}
-      })
+          .catch((error) => {
+            this.$refs.modules.visible = false
+          })
+      } else if (this.showOpen == '导出') {
+        this.download(
+          'clw/remind/export',
+          {
+            ...this.queryParam,
+          },
+          `remind_${new Date().getTime()}.xlsx`
+        )
+        this.$refs.modules.visible = false
+      }
     },
     /** 导出按钮操作 */
     handleExport () {
-      var that = this
-      this.$confirm({
-        title: '是否确认导出?',
-        content: '此操作将导出当前条件下所有数据而非选中数据',
-        onOk () {
-          that.download('clw/remind/export', {
-            ...that.queryParam
-          }, `remind_${new Date().getTime()}.xlsx`)
-        },
-        onCancel () {}
-      })
+      this.showOpen = '导出'
+      this.$refs.modules.title = '请确认是否导出'
+      this.$refs.modules.visible = true
     }
   }
 }

+ 3 - 0
src/views/clw/remind/modules/CreateForm.vue

@@ -30,6 +30,9 @@
       <a-form-model-item label="备注" prop="remark">
         <a-input v-model="form.remark" placeholder="请输入内容" type="textarea" allow-clear :disabled="formType == 3" />
       </a-form-model-item>
+      <a-form-model-item label="短信模板" prop="remindTemplate">
+        <a-input v-model="form.remindTemplate" placeholder="请输入短信内容" type="textarea" allow-clear :disabled="formType == 3" />
+      </a-form-model-item>
       <div class="bottom-control">
         <a-space>
           <a-button type="primary" :loading="submitLoading" @click="submitForm" v-if="formType != 3"> 保存 </a-button>

+ 54 - 30
src/views/clw/upkeepRegister/index.vue

@@ -51,6 +51,8 @@
       </div>
       <!-- 增加修改 -->
       <create-form ref="createForm" @ok="getList" :carTypeList="carTypeList" />
+      <!-- 删除 -->
+      <OpenModul ref="modules" @handleDeletes="handleDeletes" />
       <!-- 数据展示 -->
       <a-table
         :loading="loading"
@@ -105,11 +107,12 @@ import { listUpkeepRegister, delUpkeepRegister } from '@/api/clw/upkeepRegister'
 import { getCategoryTree } from '@/api/clw/car'
 import CreateForm from './modules/CreateForm'
 import { tableMixin } from '@/store/table-mixin'
-
+import OpenModul from '@/components/OpenModul.vue'
 export default {
   name: 'UpkeepRegister',
   components: {
     CreateForm,
+    OpenModul,
   },
   mixins: [tableMixin],
   data() {
@@ -124,6 +127,7 @@ export default {
       // 非多个禁用
       multiple: true,
       ids: [],
+      registerIds: [],
       loading: false,
       total: 0,
       // 查询参数
@@ -134,7 +138,7 @@ export default {
         pageSize: 10,
       },
       columns: [
-      { title: '序号', scopedSlots: { customRender: 'num' },width:'50px',   align: 'center', },
+        { title: '序号', scopedSlots: { customRender: 'num' }, width: '50px', align: 'center' },
         {
           title: '登记日期',
           dataIndex: 'registerTime',
@@ -182,6 +186,7 @@ export default {
           children: [],
         },
       ],
+      showOpen: '',
     }
   },
   filters: {},
@@ -237,39 +242,58 @@ export default {
       this.advanced = !this.advanced
     },
     /** 删除按钮操作 */
+    // handleDelete(row) {
+    //   var that = this
+    //   const registerIds = row.registerId || this.ids
+    //   this.$confirm({
+    //     title: '确认删除所选中数据?',
+    //     content: '当前选中编号为' + registerIds + '的数据',
+    //     onOk() {
+    //       return delUpkeepRegister(registerIds).then(() => {
+    //         that.onSelectChange([], [])
+    //         that.getList()
+    //         that.$message.success('删除成功', 3)
+    //       })
+    //     },
+    //     onCancel() {},
+    //   })
+    // },
+    /** 删除按钮操作 */
     handleDelete(row) {
-      var that = this
-      const registerIds = row.registerId || this.ids
-      this.$confirm({
-        title: '确认删除所选中数据?',
-        content: '当前选中编号为' + registerIds + '的数据',
-        onOk() {
-          return delUpkeepRegister(registerIds).then(() => {
-            that.onSelectChange([], [])
-            that.getList()
-            that.$message.success('删除成功', 3)
+      this.registerIds = row.registerId || this.ids
+      this.showOpen = '删除'
+      this.$refs.modules.title = '是否确认删除'
+      this.$refs.modules.visible = true
+    },
+    // 确认删除
+    handleDeletes() {
+      if (this.showOpen == '删除') {
+        delUpkeepRegister(this.registerIds)
+          .then(() => {
+            this.onSelectChange([], [])
+            this.getList()
+            this.$message.success('删除成功', 3)
+            this.$refs.modules.visible = false
           })
-        },
-        onCancel() {},
-      })
+          .catch((error) => {
+            this.$refs.modules.visible = false
+          })
+      } else if (this.showOpen == '导出') {
+        this.download(
+          'clw/upkeepRegister/export',
+          {
+            ...this.queryParam,
+          },
+          `upkeepRegister_${new Date().getTime()}.xlsx`
+        )
+        this.$refs.modules.visible = false
+      }
     },
     /** 导出按钮操作 */
     handleExport() {
-      var that = this
-      this.$confirm({
-        title: '是否确认导出?',
-        content: '此操作将导出当前条件下所有数据而非选中数据',
-        onOk() {
-          that.download(
-            'clw/upkeepRegister/export',
-            {
-              ...that.queryParam,
-            },
-            `upkeepRegister_${new Date().getTime()}.xlsx`
-          )
-        },
-        onCancel() {},
-      })
+      this.showOpen = '导出'
+      this.$refs.modules.title = '请确认是否导出'
+      this.$refs.modules.visible = true
     },
     funCarType() {
       getCategoryTree().then((res) => {

+ 7 - 7
src/views/system/post/index.vue

@@ -39,15 +39,15 @@
       </div>
       <!-- 操作 -->
       <div class="table-operations">
-        <a-button type="primary" @click="$refs.createForm.handleAdd()" v-hasPermi="['system:post:add']">
+        <!-- <a-button type="primary" @click="$refs.createForm.handleAdd()" v-hasPermi="['system:post:add']">
           <a-icon type="plus" />新增
-        </a-button>
+        </a-button> -->
         <a-button type="primary" :disabled="single" @click="$refs.createForm.handleUpdate(undefined, ids)" v-hasPermi="['system:post:edit']">
           <a-icon type="edit" />修改
         </a-button>
-        <a-button type="danger" :disabled="multiple" @click="handleDelete" v-hasPermi="['system:post:remove']">
+        <!-- <a-button type="danger" :disabled="multiple" @click="handleDelete" v-hasPermi="['system:post:remove']">
           <a-icon type="delete" />删除
-        </a-button>
+        </a-button> -->
         <a-button type="primary" @click="handleExport" v-hasPermi="['system:post:export']">
           <a-icon type="download" />导出
         </a-button>
@@ -84,10 +84,10 @@
           <a @click="$refs.createForm.handleUpdate(record, undefined)" v-hasPermi="['system:post:edit']">
             <a-icon type="edit" />修改
           </a>
-          <a-divider type="vertical" v-hasPermi="['system:post:remove']" />
-          <a @click="handleDelete(record)" v-hasPermi="['system:post:remove']">
+          <!-- <a-divider type="vertical" v-hasPermi="['system:post:remove']" /> -->
+          <!-- <a @click="handleDelete(record)" v-hasPermi="['system:post:remove']">
             <a-icon type="delete" />删除
-          </a>
+          </a> -->
         </span>
       </a-table>
       <!-- 分页 -->

+ 86 - 95
src/views/system/role/index.vue

@@ -7,35 +7,49 @@
           <a-row :gutter="48">
             <a-col :md="8" :sm="24">
               <a-form-item label="角色名称">
-                <a-input v-model="queryParam.roleName" placeholder="请输入" allow-clear/>
+                <a-input v-model="queryParam.roleName" placeholder="请输入" allow-clear />
               </a-form-item>
             </a-col>
             <a-col :md="8" :sm="24">
               <a-form-item label="权限字符">
-                <a-input v-model="queryParam.roleKey" placeholder="请输入" allow-clear/>
+                <a-input v-model="queryParam.roleKey" placeholder="请输入" allow-clear />
               </a-form-item>
             </a-col>
             <template v-if="advanced">
               <a-col :md="8" :sm="24">
                 <a-form-item label="状态">
                   <a-select placeholder="请选择" v-model="queryParam.status" style="width: 100%" allow-clear>
-                    <a-select-option v-for="(d, index) in dict.type['sys_normal_disable']" :key="index" :value="d.value">{{ d.label }}</a-select-option>
+                    <a-select-option
+                      v-for="(d, index) in dict.type['sys_normal_disable']"
+                      :key="index"
+                      :value="d.value"
+                      >{{ d.label }}</a-select-option
+                    >
                   </a-select>
                 </a-form-item>
               </a-col>
               <a-col :md="8" :sm="24">
                 <a-form-item label="创建时间">
-                  <a-range-picker style="width: 100%" v-model="dateRange" valueFormat="YYYY-MM-DD" format="YYYY-MM-DD" allow-clear/>
+                  <a-range-picker
+                    style="width: 100%"
+                    v-model="dateRange"
+                    valueFormat="YYYY-MM-DD"
+                    format="YYYY-MM-DD"
+                    allow-clear
+                  />
                 </a-form-item>
               </a-col>
             </template>
-            <a-col :md="!advanced && 8 || 24" :sm="24">
-              <span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
+            <a-col :md="(!advanced && 8) || 24" :sm="24">
+              <span
+                class="table-page-search-submitButtons"
+                :style="(advanced && { float: 'right', overflow: 'hidden' }) || {}"
+              >
                 <a-button type="primary" @click="handleQuery"><a-icon type="search" />查询</a-button>
                 <a-button style="margin-left: 8px" @click="resetQuery"><a-icon type="redo" />重置</a-button>
                 <a @click="toggleAdvanced" style="margin-left: 8px">
                   {{ advanced ? '收起' : '展开' }}
-                  <a-icon :type="advanced ? 'up' : 'down'"/>
+                  <a-icon :type="advanced ? 'up' : 'down'" />
                 </a>
               </span>
             </a-col>
@@ -57,24 +71,18 @@
           <a-icon type="download" />导出
         </a-button>
         <table-setting
-          :style="{float: 'right'}"
+          :style="{ float: 'right' }"
           :table-size.sync="tableSize"
           v-model="columns"
           :refresh-loading="loading"
-          @refresh="getList" />
+          @refresh="getList"
+        />
       </div>
       <!-- 增加修改 -->
-      <create-form
-        ref="createForm"
-        :statusOptions="dict.type['sys_normal_disable']"
-        @ok="getList"
-      />
+      <create-form ref="createForm" :statusOptions="dict.type['sys_normal_disable']" @ok="getList" />
 
       <!-- 分配角色数据权限对话框 -->
-      <create-data-scope-form
-        ref="createDataScopeForm"
-        @ok="getList"
-      />
+      <create-data-scope-form ref="createDataScopeForm" @ok="getList" />
       <!-- 数据展示 -->
       <a-table
         :loading="loading"
@@ -84,7 +92,8 @@
         :data-source="list"
         :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
         :pagination="false"
-        :bordered="tableBordered">
+        :bordered="tableBordered"
+      >
         <span slot="status" slot-scope="text, record">
           <dict-tag :options="dict.type['sys_normal_disable']" :value="record.status" />
         </span>
@@ -103,7 +112,7 @@
           </a> -->
           <a-divider type="vertical" v-hasPermi="['system:role:edit']" />
           <a-dropdown v-hasPermi="['system:role:edit']">
-            <a class="ant-dropdown-link" @click="e => e.preventDefault()">
+            <a class="ant-dropdown-link" @click="(e) => e.preventDefault()">
               <a-icon type="double-right" />
               更多
             </a>
@@ -132,7 +141,7 @@
         :current="queryParam.pageNum"
         :total="total"
         :page-size="queryParam.pageSize"
-        :showTotal="total => `共 ${total} 条`"
+        :showTotal="(total) => `共 ${total} 条`"
         @showSizeChange="onShowSizeChange"
         @change="changeSize"
       />
@@ -141,7 +150,6 @@
 </template>
 
 <script>
-
 import { listRole, delRole, changeRoleStatus } from '@/api/system/role'
 import CreateForm from './modules/CreateForm'
 import CreateDataScopeForm from './modules/CreateDataScopeForm'
@@ -151,11 +159,11 @@ export default {
   name: 'Role',
   components: {
     CreateForm,
-    CreateDataScopeForm
+    CreateDataScopeForm,
   },
   mixins: [tableMixin],
   dicts: ['sys_normal_disable'],
-  data () {
+  data() {
     return {
       list: [],
       selectedRowKeys: [],
@@ -176,168 +184,151 @@ export default {
         pageSize: 10,
         roleName: undefined,
         roleKey: undefined,
-        status: undefined
+        status: undefined,
       },
       columns: [
         {
           title: '角色编号',
           dataIndex: 'roleId',
-          align: 'center'
+          align: 'center',
         },
         {
           title: '角色名称',
           dataIndex: 'roleName',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '权限标识',
           dataIndex: 'roleKey',
           ellipsis: true,
-          align: 'center'
+          align: 'center',
         },
         {
           title: '排序',
           dataIndex: 'roleSort',
-          align: 'center'
+          align: 'center',
         },
         {
           title: '状态',
           dataIndex: 'status',
           scopedSlots: { customRender: 'status' },
-          align: 'center'
+          align: 'center',
         },
         {
           title: '创建时间',
           dataIndex: 'createTime',
           scopedSlots: { customRender: 'createTime' },
-          align: 'center'
+          align: 'center',
         },
         {
           title: '操作',
           dataIndex: 'operation',
           width: '20%',
           scopedSlots: { customRender: 'operation' },
-          align: 'center'
-        }
-      ]
+          align: 'center',
+        },
+      ],
     }
   },
-  filters: {
-  },
-  created () {
+  filters: {},
+  created() {
     this.getList()
   },
-  computed: {
-  },
-  watch: {
-  },
+  computed: {},
+  watch: {},
   methods: {
     /** 查询角色列表 */
-    getList () {
+    getList() {
       this.loading = true
-      listRole(this.addDateRange(this.queryParam, this.dateRange)).then(response => {
-          this.list = response.rows
-          this.total = response.total
-          this.loading = false
-        }
-      )
+      listRole(this.addDateRange(this.queryParam, this.dateRange)).then((response) => {
+        this.list = response.rows
+        this.total = response.total
+        this.loading = false
+      })
     },
     /** 搜索按钮操作 */
-    handleQuery () {
+    handleQuery() {
       this.queryParam.pageNum = 1
       this.getList()
     },
     /** 重置按钮操作 */
-    resetQuery () {
+    resetQuery() {
       this.dateRange = []
       this.queryParam = {
         pageNum: 1,
         pageSize: 10,
         roleName: undefined,
         roleKey: undefined,
-        status: undefined
+        status: undefined,
       }
       this.handleQuery()
     },
-    onShowSizeChange (current, pageSize) {
+    onShowSizeChange(current, pageSize) {
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    changeSize (current, pageSize) {
+    changeSize(current, pageSize) {
       this.queryParam.pageNum = current
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    onSelectChange (selectedRowKeys, selectedRows) {
+    onSelectChange(selectedRowKeys, selectedRows) {
       this.selectedRowKeys = selectedRowKeys
       this.selectedRows = selectedRows
-      this.ids = this.selectedRows.map(item => item.roleId)
+      this.ids = this.selectedRows.map((item) => item.roleId)
       this.single = selectedRowKeys.length !== 1
       this.multiple = !selectedRowKeys.length
     },
-    toggleAdvanced () {
+    toggleAdvanced() {
       this.advanced = !this.advanced
     },
     /* 角色状态修改 */
-    confirmHandleStatus (row) {
+    confirmHandleStatus(row) {
       const text = row.status === '1' ? '启用' : '停用'
       row.status = row.status === '0' ? '1' : '0'
       changeRoleStatus(row.roleId, row.status)
-      .then(() => {
-        this.$message.success(
-          text + '成功',
-          3
-        )
-      }).catch(function () {
-        this.$message.error(
-          text + '异常',
-          3
-        )
-      })
-    },
-    cancelHandleStatus (row) {
+        .then(() => {
+          this.$message.success(text + '成功', 3)
+        })
+        .catch(function () {
+          this.$message.error(text + '异常', 3)
+        })
     },
+    cancelHandleStatus(row) {},
     /** 删除按钮操作 */
-    handleDelete (row) {
+    handleDelete(row) {
       var that = this
       const roleIds = row.roleId || this.ids
       this.$confirm({
         title: '确认删除所选中数据?',
         content: '当前选中编号为' + roleIds + '的数据',
-        onOk () {
-          return delRole(roleIds)
-            .then(() => {
-              that.onSelectChange([], [])
-              that.getList()
-              that.$message.success(
-                '删除成功',
-                3
-              )
+        onOk() {
+          return delRole(roleIds).then(() => {
+            that.onSelectChange([], [])
+            that.getList()
+            that.$message.success('删除成功', 3)
           })
         },
-        onCancel () {}
+        onCancel() {},
       })
     },
     /** 导出按钮操作 */
-    handleExport () {
-      var that = this
-      this.$confirm({
-        title: '是否确认导出?',
-        content: '此操作将导出当前条件下所有数据而非选中数据',
-        onOk () {
-          that.download('system/role/export', {
-            ...that.queryParam
-          }, `role_${new Date().getTime()}.xlsx`)
+    handleExport() {
+      this.$message.success('请稍等,正在导出')
+      this.download(
+        'system/role/export',
+        {
+          ...this.queryParam,
         },
-        onCancel () {}
-      })
+        `role_${new Date().getTime()}.xlsx`
+      )
     },
     /** 分配用户操作 */
-    handleAuthUser (row) {
+    handleAuthUser(row) {
       const roleId = row.roleId
       this.$router.push({ path: '/system/role/authUser', query: { roleId: roleId } })
-    }
-  }
+    },
+  },
 }
 </script>

+ 141 - 123
src/views/system/user/index.vue

@@ -4,11 +4,7 @@
       <a-row :gutter="24">
         <a-col :span="6">
           <!-- 部门树 -->
-          <dept-tree
-            ref="deptTree"
-            :deptOptions="deptOptions"
-            @select="clickDeptNode"
-          />
+          <dept-tree ref="deptTree" :deptOptions="deptOptions" @select="clickDeptNode" />
         </a-col>
         <a-col :span="18">
           <!-- 条件搜索 -->
@@ -16,36 +12,51 @@
             <a-form layout="inline">
               <a-row :gutter="48">
                 <a-col :md="8" :sm="24">
-                  <a-form-item label="用户名称">
-                    <a-input v-model="queryParam.userName" placeholder="请输入" allow-clear />
+                  <a-form-item label="人员名称">
+                    <a-input v-model="queryParam.nickName" placeholder="请输入" allow-clear />
                   </a-form-item>
                 </a-col>
                 <a-col :md="8" :sm="24">
-                  <a-form-item label="手机号" >
+                  <a-form-item label="手机号">
                     <a-input v-model="queryParam.phonenumber" placeholder="请输入" allow-clear />
                   </a-form-item>
                 </a-col>
                 <template v-if="advanced">
                   <a-col :md="8" :sm="24">
                     <a-form-item label="状态" prop="status">
-                      <a-select placeholder="请选择状态" style="width: 100%" allow-clear>
-                        <a-select-option v-for="(d, index) in dict.type['sys_normal_disable']" :key="index" :value="d.value">{{ d.label }}</a-select-option>
+                      <a-select placeholder="请选择状态" style="width: 100%" allow-clear @change="handleChange">
+                        <!-- dict.type['sys_normal_disable']"  -->
+                        <a-select-option
+                          v-for="(d, index) in statusList"
+                          :key="index"
+                          :value="d.val" 
+                          >{{ d.lable }}</a-select-option
+                        >
                       </a-select>
                     </a-form-item>
                   </a-col>
                   <a-col :md="8" :sm="24">
                     <a-form-item label="创建时间">
-                      <a-range-picker style="width: 100%" v-model="dateRange" valueFormat="YYYY-MM-DD" format="YYYY-MM-DD" allow-clear />
+                      <a-range-picker
+                        style="width: 100%"
+                        v-model="dateRange"
+                        valueFormat="YYYY-MM-DD"
+                        format="YYYY-MM-DD"
+                        allow-clear
+                      />
                     </a-form-item>
                   </a-col>
                 </template>
-                <a-col :md="!advanced && 8 || 24" :sm="24">
-                  <span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
+                <a-col :md="(!advanced && 8) || 24" :sm="24">
+                  <span
+                    class="table-page-search-submitButtons"
+                    :style="(advanced && { float: 'right', overflow: 'hidden' }) || {}"
+                  >
                     <a-button type="primary" @click="handleQuery"><a-icon type="search" />查询</a-button>
                     <a-button style="margin-left: 8px" @click="resetQuery"><a-icon type="redo" />重置</a-button>
                     <a @click="toggleAdvanced" style="margin-left: 8px">
                       {{ advanced ? '收起' : '展开' }}
-                      <a-icon :type="advanced ? 'up' : 'down'"/>
+                      <a-icon :type="advanced ? 'up' : 'down'" />
                     </a>
                   </span>
                 </a-col>
@@ -63,18 +74,23 @@
             <a-button type="danger" :disabled="multiple" @click="handleDelete" v-hasPermi="['system:user:remove']">
               <a-icon type="delete" />删除
             </a-button> -->
-            <a-button type="dashed" @click="$refs.importExcel.importExcelHandleOpen()" v-hasPermi="['system:user:import']">
+            <a-button
+              type="dashed"
+              @click="$refs.importExcel.importExcelHandleOpen()"
+              v-hasPermi="['system:user:import']"
+            >
               <a-icon type="import" />导入
             </a-button>
             <a-button type="primary" @click="handleExport" v-hasPermi="['system:user:export']">
               <a-icon type="download" />导出
             </a-button>
             <table-setting
-              :style="{float: 'right'}"
+              :style="{ float: 'right' }"
               :table-size.sync="tableSize"
               v-model="columns"
               :refresh-loading="loading"
-              @refresh="getList" />
+              @refresh="getList"
+            />
           </div>
           <!-- 增加修改 -->
           <!-- 创建/编辑用户,单独封装了组件 -->
@@ -87,18 +103,11 @@
             @select-tree="getTreeselect"
           />
           <!-- 修改密码抽屉 -->
-          <reset-password
-            ref="resetPassword"
-          />
+          <reset-password ref="resetPassword" />
           <!-- 分配角色模态框 -->
-          <auth-role
-            ref="authRole"
-          />
+          <auth-role ref="authRole" />
           <!-- 上传文件 -->
-          <import-excel
-            ref="importExcel"
-            @ok="getList"
-          />
+          <import-excel ref="importExcel" @ok="getList" />
           <!-- 数据展示 -->
           <a-table
             :loading="loading"
@@ -108,7 +117,8 @@
             :data-source="list"
             :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
             :pagination="false"
-            :bordered="tableBordered">
+            :bordered="tableBordered"
+          >
             <span slot="status" slot-scope="text, record">
               <dict-tag :options="dict.type['sys_normal_disable']" :value="record.status" />
             </span>
@@ -116,7 +126,7 @@
               {{ parseTime(record.createTime) }}
             </span>
             <span slot="operation" slot-scope="text, record" v-if="record.userId !== 1">
-              <a @click="$refs.createForm.handleUpdate(record,undefined)" v-hasPermi="['system:user:edit']">
+              <a @click="$refs.createForm.handleUpdate(record, undefined)" v-hasPermi="['system:user:edit']">
                 <a-icon type="eye" />
                 详情
               </a>
@@ -127,7 +137,7 @@
               </a> -->
               <a-divider type="vertical" v-hasPermi="['system:user:resetPwd', 'system:user:edit']" />
               <a-dropdown v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
-                <a class="ant-dropdown-link" @click="e => e.preventDefault()">
+                <a class="ant-dropdown-link" @click="(e) => e.preventDefault()">
                   <a-icon type="double-right" />
                   更多
                 </a>
@@ -156,7 +166,7 @@
             :current="queryParam.pageNum"
             :total="total"
             :page-size="queryParam.pageSize"
-            :showTotal="total => `共 ${total} 条`"
+            :showTotal="(total) => `共 ${total} 条`"
             @showSizeChange="onShowSizeChange"
             @change="changeSize"
           />
@@ -167,7 +177,6 @@
 </template>
 
 <script>
-
 import { listUser, delUser, changeUserStatus, deptTreeSelect } from '@/api/system/user'
 import AuthRole from './modules/AuthRole'
 import ResetPassword from './modules/ResetPassword'
@@ -182,11 +191,11 @@ export default {
     ResetPassword,
     CreateForm,
     ImportExcel,
-    DeptTree
+    DeptTree,
   },
   mixins: [tableMixin],
   dicts: ['sys_normal_disable', 'sys_user_sex'],
-  data () {
+  data() {
     return {
       list: [],
       selectedRowKeys: [],
@@ -201,190 +210,199 @@ export default {
       loading: false,
       total: 0,
       // 部门树选项
-      deptOptions: [{
-        id: 0,
-        label: '',
-        children: []
-      }],
+      deptOptions: [
+        {
+          id: 0,
+          label: '',
+          children: [],
+        },
+      ],
       // 日期范围
       dateRange: [],
       queryParam: {
         pageNum: 1,
         pageSize: 10,
-        userName: undefined,
+        nickName: undefined,
         phonenumber: undefined,
         status: undefined,
-        deptId: undefined
+        deptId: undefined,
       },
       columns: [
-        {
-          title: '用户名',
-          dataIndex: 'userName',
-          align: 'center'
-        },
+        // {
+        //   title: '用户名',
+        //   dataIndex: 'userName',
+        //   align: 'center',
+        // },
         {
           title: '人员名称',
           dataIndex: 'nickName',
-          align: 'center'
+          align: 'center',
         },
         {
           title: '所属单位',
           dataIndex: 'dept.deptName',
-          align: 'center'
+          align: 'center',
         },
         {
           title: '联系电话',
           dataIndex: 'phonenumber',
-          align: 'center'
-        },
-        {
-          title: '职务',
-          dataIndex: 'nickName',
-          align: 'center'
+          align: 'center',
         },
+        // {
+        //   title: '职务',
+        //   dataIndex: 'nickName',
+        //   align: 'center',
+        // },
         {
           title: '状态',
           dataIndex: 'status',
           scopedSlots: { customRender: 'status' },
-          align: 'center'
+          align: 'center',
         },
         {
           title: '出生日期',
           dataIndex: 'birthday',
-          align: 'center'
+          align: 'center',
         },
         {
           title: '操作',
           dataIndex: 'operation',
           scopedSlots: { customRender: 'operation' },
-          align: 'center'
-        }
+          align: 'center',
+        },
+      ],
+      statusList:[
+       {
+        val:'0',
+        lable:'正常'
+       },
+       {
+        val:'1',
+        lable:'停用'
+       }
       ]
     }
   },
-  filters: {
-  },
-  created () {
+  filters: {},
+  created() {
     this.getList()
     this.getDeptTree()
   },
-  computed: {
-  },
-  watch: {
-  },
+  computed: {},
+  watch: {},
   methods: {
     /** 查询用户列表 */
-    getList () {
+    getList() {
       this.loading = true
-      listUser(this.addDateRange(this.queryParam, this.dateRange)).then(response => {
-          this.list = response.rows
-          this.total = response.total
-          this.loading = false
-        }
-      )
+      listUser(this.addDateRange(this.queryParam, this.dateRange)).then((response) => {
+        this.list = response.rows
+        this.total = response.total
+        this.loading = false
+      })
     },
     /** 查询部门下拉树结构 */
-    getDeptTree () {
-      deptTreeSelect().then(response => {
+    getDeptTree() {
+      deptTreeSelect().then((response) => {
         this.deptOptions = response.data
       })
     },
-    getTreeselect () {},
+    handleChange(val){
+      this.queryParam.status=val
+    },
+    getTreeselect() {},
     /** 搜索按钮操作 */
-    handleQuery () {
+    handleQuery() {
       this.queryParam.pageNum = 1
       this.getList()
     },
     /** 重置按钮操作 */
-    resetQuery () {
+    resetQuery() {
       this.dateRange = []
       this.queryParam = {
         pageNum: 1,
         pageSize: 10,
-        userName: undefined,
+        nickName: undefined,
         phonenumber: undefined,
         status: undefined,
-        deptId: undefined
+        deptId: undefined,
       }
       this.handleQuery()
     },
-    onShowSizeChange (current, pageSize) {
+    onShowSizeChange(current, pageSize) {
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    changeSize (current, pageSize) {
+    changeSize(current, pageSize) {
       this.queryParam.pageNum = current
       this.queryParam.pageSize = pageSize
       this.getList()
     },
-    onSelectChange (selectedRowKeys, selectedRows) {
+    onSelectChange(selectedRowKeys, selectedRows) {
       this.selectedRowKeys = selectedRowKeys
       this.selectedRows = selectedRows
-      this.ids = this.selectedRows.map(item => item.userId)
+      this.ids = this.selectedRows.map((item) => item.userId)
       this.single = selectedRowKeys.length !== 1
       this.multiple = !selectedRowKeys.length
     },
-    toggleAdvanced () {
+    toggleAdvanced() {
       this.advanced = !this.advanced
     },
-    clickDeptNode (deptId) {
+    clickDeptNode(deptId) {
       this.queryParam.deptId = deptId
       this.handleQuery()
     },
     /* 用户状态修改 */
-    confirmHandleStatus (row) {
+    confirmHandleStatus(row) {
       const text = row.status === '1' ? '启用' : '关闭'
       row.status = row.status === '0' ? '1' : '0'
       changeUserStatus(row.userId, row.status)
-      .then(() => {
-        this.$message.success(
-          text + '成功',
-          3
-        )
-      }).catch(function () {
-        this.$message.error(
-          text + '异常',
-          3
-        )
-      })
-    },
-    cancelHandleStatus (row) {
+        .then(() => {
+          this.$message.success(text + '成功', 3)
+        })
+        .catch(function () {
+          this.$message.error(text + '异常', 3)
+        })
     },
+    cancelHandleStatus(row) {},
     /** 删除按钮操作 */
-    handleDelete (row) {
+    handleDelete(row) {
       var that = this
       const userIds = row.userId || this.ids
       this.$confirm({
         title: '确认删除所选中数据?',
         content: '当前选中编号为' + userIds + '的数据',
-        onOk () {
-          return delUser(userIds)
-            .then(() => {
-              that.onSelectChange([], [])
-              that.getList()
-              that.$message.success(
-                '删除成功',
-                3
-              )
+        onOk() {
+          return delUser(userIds).then(() => {
+            that.onSelectChange([], [])
+            that.getList()
+            that.$message.success('删除成功', 3)
           })
         },
-        onCancel () {}
+        onCancel() {},
       })
     },
     /** 导出按钮操作 */
-    handleExport () {
-      var that = this
-      this.$confirm({
-        title: '是否确认导出?',
-        content: '此操作将导出当前条件下所有数据而非选中数据',
-        onOk () {
-          that.download('system/user/export', {
-            ...that.queryParam
-          }, `user_${new Date().getTime()}.xlsx`)
+    handleExport() {
+      this.$message.success('请稍后,正在导出')
+      this.download(
+        'system/user/export',
+        {
+          ...this.queryParam,
         },
-        onCancel () {}
-      })
-    }
-  }
+        `user_${new Date().getTime()}.xlsx`
+      )
+
+      // this.$confirm({
+      //   title: '是否确认导出?',
+      //   content: '此操作将导出当前条件下所有数据而非选中数据',
+      //   onOk () {
+      //     that.download('system/user/export', {
+      //       ...that.queryParam
+      //     }, `user_${new Date().getTime()}.xlsx`)
+      //   },
+      //   onCancel () {}
+      // })
+    },
+  },
 }
 </script>

+ 27 - 0
src/views/system/user/modules/CreateForm.vue

@@ -120,6 +120,33 @@
           </a-form-model-item>
         </a-col>
       </a-row>
+      <a-divider orientation="left">
+      <b>驾驶证信息</b>
+    </a-divider>
+    <a-row>
+        <a-col :span="10">
+          <a-form-model-item label="驾驶证号码" prop="userName">
+            <a-input v-model="form.jczhm" placeholder="暂无信息"  />
+          </a-form-model-item>
+        </a-col>
+        <a-col :span="10">
+          <a-form-model-item label="准驾车辆分类" prop="password">
+            <a-input-password v-model="form.zjclfl" placeholder="暂无信息" :maxLength="20"  />
+          </a-form-model-item>
+        </a-col>
+      </a-row>
+      <a-row>
+        <a-col :span="10">
+          <a-form-model-item label="初次申领日期" prop="userName">
+            <a-input v-model="form.jczhm" placeholder="暂无信息"  />
+          </a-form-model-item>
+        </a-col>
+        <a-col :span="10">
+          <a-form-model-item label="驾驶证有效期" prop="password">
+            <a-input-password v-model="form.zjclfl" placeholder="暂无信息" :maxLength="20"  />
+          </a-form-model-item>
+        </a-col>
+      </a-row>
       <!-- <a-row>
         <a-col :span="10">
           <a-form-model-item label="性别" prop="sex">

+ 8 - 8
src/views/vehicle/components/CarType.vue

@@ -102,7 +102,7 @@ export default {
           // 主要展示层的
           {
             radius: ['19%', '42%'],
-            center: ['50%', '35%'],
+            center: ['50%', '40%'],
             type: 'pie',
             itemStyle: {
               normal: {
@@ -114,7 +114,7 @@ export default {
             labelLine: {
               normal: {
                 show: true,
-                length: 35,
+                length: 25,
 
                 // length2: 20,
                 lineStyle: {
@@ -134,22 +134,22 @@ export default {
                   var str = ''
                   switch (params.name) {
                     case '灭火消防车':
-                      str = '灭火消防车' + params.percent + '%'
+                      str = '灭火消防车' + Math.round(params.percent) + '%'
                       break
-                    case '战勤消防车':
-                      str = '战勤消防车' + params.percent + '%'
+                    case '战勤保障消防车':
+                      str = '战勤保障消防车' + Math.round(params.percent) + '%'
                       break
                     case '举高消防车':
-                      str = '举高消防车' + params.percent + '%'
+                      str = '举高消防车' + Math.round(params.percent) + '%'
                       break
                     case '专勤消防车':
-                      str = '专勤消防车' + params.percent + '%'
+                      str = '专勤消防车' + Math.round(params.percent) + '%'
                       break
                   }
                   return str
                 },
                 color: '#fff',
-                padding: [0, -10],
+                padding: [0, -20],
                 height: 25,
                 rich: {
                   //   a: {

+ 36 - 41
src/views/vehicle/components/VehicleDistribution.vue

@@ -20,7 +20,7 @@
 
 <script>
 import * as echarts from 'echarts'
-import {getDistributionForCar} from '@/api/vehicle.js'
+import { getDistributionForCar } from '@/api/vehicle.js'
 export default {
   data() {
     return {
@@ -57,12 +57,15 @@ export default {
   methods: {
     initChart() {
       var spNum = 5,
-        _max = 100
-      var legendData = ['灭火消防车', '举高消防车', '战勤消防车', '专勤消防车',]
+        _max = this.dataList.map((item) => {
+          return item.JGXFC + item.MHXFC + item.ZQBZXFC + item.ZQXFC
+        })
+      var legendData = ['灭火消防车', '举高消防车', '战勤消防车', '专勤消防车']
       // var y_data = ['两江支队', '鸳鸯站', '大竹林站', '礼嘉站', '翠云站', '龙头寺站']
-      var _datamax = [70, 70, 70, 70, 70]
+      // var _datamax = [30, 30, 30, 30, 30]
       var fomatter_fn = function (v) {
-        return ((v.value / _max) * 100).toFixed(0)
+        // return ((v.value / _max) * 100).toFixed(0)
+        return v.value
       }
       var _label = {
         normal: {
@@ -119,14 +122,7 @@ export default {
           formatter: function (p) {
             var _arr = p.seriesName.split('/'),
               idx = p.seriesIndex //1,2,3
-            return (
-              '机构:'+p.name+'<br>'+
-              '名称:' +
-              p.seriesName +
-              '<br>' +
-              '数量:' +
-              p.value 
-            )
+            return '机构:' + p.name + '<br>' + '名称:' + p.seriesName + '<br>' + '数量:' + p.value
           },
           extraCssText: 'box-shadow: 0 0 5px rgba(0, 0, 0, 0.1)',
         },
@@ -141,12 +137,12 @@ export default {
               return _v == 0 ? _v : _v + '%'
             },
           },
-        //   axisLine: {
-        //     show: true,
-        //     lineStyle: {
-        //       color: '#0177d4',
-        //     },
-        //   },
+          //   axisLine: {
+          //     show: true,
+          //     lineStyle: {
+          //       color: '#0177d4',
+          //     },
+          //   },
           axisTick: {
             show: false,
           },
@@ -156,7 +152,7 @@ export default {
         },
         yAxis: [
           {
-            data: this.dataList.map(vn=>{
+            data: this.dataList.map((vn) => {
               return vn.DEPT_NAME
             }),
             axisLabel: {
@@ -166,8 +162,8 @@ export default {
             axisLine: {
               show: false,
               lineStyle: {
-              color: '#0177d4',
-            },
+                color: '#0177d4',
+              },
             },
             axisTick: {
               show: false,
@@ -199,12 +195,11 @@ export default {
               normal: {
                 color: '#33FAE2',
               },
-            //   emphasis: {
-            //     color: '#33FAE2',
-            //   },
+              //   emphasis: {
+              //     color: '#33FAE2',
+              //   },
             },
-            data:this.dataList.map(item=>{
-             
+            data: this.dataList.map((item) => {
               return item.MHXFC
             }),
             // data:this.data1
@@ -218,13 +213,13 @@ export default {
             label: _label,
             itemStyle: {
               normal: {
-                color: '#33FA8F',
+                color: '#afa3f5',
               },
-            //   emphasis: {
-            //     color: '#33FA8F',
-            //   },
+              //   emphasis: {
+              //     color: '#33FA8F',
+              //   },
             },
-            data:this.dataList.map(en=>{
+            data: this.dataList.map((en) => {
               return en.JGXFC
             }),
           },
@@ -237,13 +232,13 @@ export default {
             label: _label,
             itemStyle: {
               normal: {
-                color: '#FAE633',
+                color: '#33FA8F',
               },
-            //   emphasis: {
-            //     color: '#FAE633',
-            //   },
+              //   emphasis: {
+              //     color: '#FAE633',
+              //   },
             },
-            data:this.dataList.map(v=>{
+            data: this.dataList.map((v) => {
               return v.ZQBZXFC
             }),
           },
@@ -258,11 +253,11 @@ export default {
               normal: {
                 color: '#FA9333',
               },
-            //   emphasis: {
-            //     color: '#FA9333',
-            //   },
+              //   emphasis: {
+              //     color: '#FA9333',
+              //   },
             },
-            data:this.dataList.map(en=>{
+            data: this.dataList.map((en) => {
               return en.ZQXFC
             }),
           },

+ 3 - 1
src/views/vehicle/components/cardDistribution.vue

@@ -110,7 +110,9 @@ export default {
               borderRadius: [10, 10, 10, 10], //定义背景柱形的圆角
             },
             barGap: '-100%', //设置柱形重合的重要步骤
-            data:[100,100,100,100,100,100],
+            data:this.yCardList.map(item=>{
+              return item.total
+            }),
             animation: false, // 关闭动画效果
             barWidth: '18px', // 设置柱形宽度
           },

+ 16 - 16
src/views/vehicle/components/unit3D.vue

@@ -272,22 +272,22 @@ export default {
         //   //   }
         // },
         //移动上去提示的文本内容
-        // tooltip: {
-        //   formatter: (params) => {
-        //     if (params.seriesName !== 'mouseoutSeries' && params.seriesName !== 'pie2d') {
-        //       let bfb = (
-        //         (option.series[params.seriesIndex].pieData.endRatio -
-        //           option.series[params.seriesIndex].pieData.startRatio) *
-        //         100
-        //       ).toFixed(2)
-        //       return (
-        //         `${params.seriesName}<br/>` +
-        //         `<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${params.color};"></span>` +
-        //         `${bfb}`
-        //       )
-        //     }
-        //   },
-        // },
+        tooltip: {
+          formatter: (params) => {
+            if (params.seriesName !== 'mouseoutSeries' && params.seriesName !== 'pie2d') {
+              let bfb = (
+                (option.series[params.seriesIndex].pieData.endRatio -
+                  option.series[params.seriesIndex].pieData.startRatio) *
+                100
+              ).toFixed(2)
+              return (
+                `${params.seriesName}<br/>` +
+                `<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${params.color};"></span>` +
+                `${Math.round(bfb)}`
+              )
+            }
+          },
+        },
         //这个可以变形
         xAxis3D: {
           min: -1,

+ 1 - 1
src/views/vehicle/unit3Ds.vue

@@ -283,7 +283,7 @@
                 return (
                   `${params.seriesName}<br/>` +
                   `<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${params.color};"></span>` +
-                  `${bfb}`
+                  `${Math.round(bfb)}`
                 )
               }
             },

+ 2 - 2
vue.config.js

@@ -110,8 +110,8 @@ const vueConfig = {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
         // target: `https://ruoyi.setworld.net`,
-        target: `http://113.249.153.164:7618/api`,
-        // target:`http://192.168.31.129:8080/`,
+        // target: `http://113.249.153.164:7618/api`,
+        target:`http://192.168.31.129:8080/`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''