Blame view

juvenile-prosecution-vue/src/views/business/MinorList.vue 13.7 KB
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
1
2
3
4
5
6
7
8
  <template>
    <a-card :bordered="false">
      <!-- 查询区域 -->
      <div class="table-page-search-wrapper">
        <a-form layout="inline" @keyup.enter.native="searchQuery">
          <a-row :gutter="24">
            <a-col :md="6" :sm="12">
              <a-form-item label="姓名">
416e1e27   wxy   未检人员删除、源数据管理查看
9
                <a-input placeholder="输入姓名查询" v-model="queryParam.name"></a-input>
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
10
              </a-form-item>
8312c0f7   wxy   未成年人查询过滤
11
12
13
14
15
16
17
18
            </a-col>
            <a-col :md="6" :sm="12">
              <a-form-item label="是否重点关注">
                <a-select v-model="queryParam.isReason"  placeholder="请选择" >
                  <a-select-option value="1">是</a-select-option>
                  <a-select-option value="2">否</a-select-option>
                </a-select>
              </a-form-item>
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
19
20
21
22
23
24
25
26
27
            </a-col>
            <a-col :md="6" :sm="8">
              <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
                <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
              </span>
            </a-col>
          </a-row>
        </a-form>
  
62156ef2   wxy   数据分析
28
        <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
29
30
        <a-button type="primary" icon="download" @click="handleExportXls('未检人员模板')" style="margin-left:8px;">模板导出
        </a-button>
62156ef2   wxy   数据分析
31
32
        <a-upload style="margin-left:8px;" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
                  :action="importExcelUrl" @change="handleImportExcel">
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
33
34
35
36
          <a-button type="primary" icon="import">导入</a-button>
        </a-upload>
        <a-dropdown v-if="selectedRowKeys.length > 0" style="margin-left:8px;">
          <a-menu slot="overlay">
62156ef2   wxy   数据分析
37
38
39
40
            <a-menu-item key="1" @click="batchDel">
              <a-icon type="delete" />
              删除
            </a-menu-item>
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
41
          </a-menu>
62156ef2   wxy   数据分析
42
43
44
          <a-button style="margin-left: 8px"> 批量操作
            <a-icon type="down" />
          </a-button>
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
45
46
47
48
49
50
51
        </a-dropdown>
      </div>
      <!-- 查询区域-END -->
  
      <!-- table区域-begin -->
      <div>
        <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;margin-top: 16px;">
62156ef2   wxy   数据分析
52
53
          <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a
          style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
54
55
56
57
58
59
60
          <a style="margin-left: 24px" @click="onClearSelected">清空</a>
        </div>
  
        <a-table
          ref="table"
          size="middle"
          bordered
799ae8b3   wxy   把未成年人重点关注原因改为不从字典表获取
61
          rowKey="id"
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
62
63
64
65
66
67
68
69
          class="j-table-force-nowrap"
          :scroll="{x:true}"
          :columns="columns"
          :dataSource="dataSource"
          :pagination="ipagination"
          :loading="loading"
          :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
          @change="handleTableChange">
62156ef2   wxy   数据分析
70
          <span slot="longText" slot-scope="text,record">
0c19b627   wxy   未成年人新增修改
71
            <j-ellipsis :value="text" :length="15" />
62156ef2   wxy   数据分析
72
          </span>
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
73
74
          <span slot="action" slot-scope="text, record">
            <a @click="handleEdit(record)">编辑</a>
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
75
            <a-divider type="vertical" />
62156ef2   wxy   数据分析
76
            <a @click="handleDetail(record)">查看</a>
416e1e27   wxy   未检人员删除、源数据管理查看
77
78
79
80
            <a-divider type="vertical" />
             <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
               <a>删除</a>
             </a-popconfirm>
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
81
          </span>
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
82
83
84
        </a-table>
      </div>
  
62156ef2   wxy   数据分析
85
86
      <minor-modal ref="modalForm" @ok="modalFormOk" />
      <!--  详情  -->
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
87
88
      <a-modal v-model:visible="infoVisible" title="未成年信息" :footer=null :width="1000">
        <a-descriptions bordered size="middle" :column="2" class="desc_info">
9c110e9a   wxy   未检人员列表、详情、新增、编辑
89
90
          <a-descriptions-item label="户号">{{ info.householdNum }}</a-descriptions-item>
          <a-descriptions-item label="人员编号">{{ info.number }}</a-descriptions-item>
62156ef2   wxy   数据分析
91
92
93
94
          <a-descriptions-item label="姓名">{{ info.name }}</a-descriptions-item>
          <a-descriptions-item label="性别">{{ info.gender_dictText }}</a-descriptions-item>
          <a-descriptions-item label="年龄">{{ getAgeByIdentity(info.identity) }}</a-descriptions-item>
          <a-descriptions-item label="身份证号">{{ info.identity }}</a-descriptions-item>
ebeb57f1   wxy   详情添加学校名称、入学日期等字段,...
95
96
97
          <a-descriptions-item label="学校名称">{{ info.schoolName }}</a-descriptions-item>
          <a-descriptions-item label="入学年份">{{ info.startYear }}</a-descriptions-item>
          <a-descriptions-item label="是否失学">{{ info.school_dictText }}</a-descriptions-item>
62156ef2   wxy   数据分析
98
99
          <a-descriptions-item label="监护人">{{ info.guardian }}</a-descriptions-item>
          <a-descriptions-item label="监护人关系">{{ info.relation }}</a-descriptions-item>
799ae8b3   wxy   把未成年人重点关注原因改为不从字典表获取
100
          <a-descriptions-item label="重点关注原因">{{ info.reason }}</a-descriptions-item>
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
101
102
103
          <a-descriptions-item label="特殊原因" :span="2">{{ info.specialReason }}</a-descriptions-item>
          <a-descriptions-item label="家庭住址" :span="2">{{ info.address }}</a-descriptions-item>
          <a-descriptions-item label="备注" :span="2">{{ info.remark }}</a-descriptions-item>
62156ef2   wxy   数据分析
104
        </a-descriptions>
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
105
        <a-tabs v-model:activeKey="activeKey" type="card">
62156ef2   wxy   数据分析
106
          <a-tab-pane key="1" tab="家庭成员">
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
107
108
109
            <a-table bordered :columns="familyColumns" :data-source="familyDatas" :scroll="{ x: '100%', y: 240 }"
                     rowKey="id"
                     :loading="familyLoading" :pagination="familyPagination" size="middle" class="j-table-force-nowrap">
9c110e9a   wxy   未检人员列表、详情、新增、编辑
110
111
112
              <span slot="num" slot-scope="text,record">
                <j-ellipsis :value="text" :length="8" />
              </span>
62156ef2   wxy   数据分析
113
114
115
116
117
118
119
              <span slot="longText" slot-scope="text,record">
                <j-ellipsis :value="text" :length="18" />
              </span>
            </a-table>
          </a-tab-pane>
        </a-tabs>
      </a-modal>
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
120
121
122
123
124
    </a-card>
  </template>
  
  <script>
  
62156ef2   wxy   数据分析
125
126
127
128
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  import { GetAge } from '@/utils/util'
  import MinorModal from './modules/MinorModal'
  import '@/assets/less/TableExpand.less'
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
129
  import { getAction, downFile } from '@api/manage'
62156ef2   wxy   数据分析
130
131
132
  import { FormTypes } from '@/utils/JEditableTableUtil'
  //引入JS方法
  import { filterDictTextByCache } from '@/components/dict/JDictSelectUtil'
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
133
  
62156ef2   wxy   数据分析
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
  export default {
    name: 'MinorList',
    mixins: [JeecgListMixin],
    components: {
      MinorModal
    },
    data() {
      return {
        activeKey: '1',
        infoVisible: false,
        info: {},
        description: '未成年人管理页面',
        // 表头
        columns: [
          {
            title: '序号',
            dataIndex: '',
            key: 'rowIndex',
9c110e9a   wxy   未检人员列表、详情、新增、编辑
152
            fixed: 'left',
62156ef2   wxy   数据分析
153
154
155
156
            width: 60,
            align: 'center',
            customRender: function(t, r, index) {
              return parseInt(index) + 1
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
157
            }
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
158
          },
62156ef2   wxy   数据分析
159
160
161
          {
            title: '姓名',
            align: 'center',
9c110e9a   wxy   未检人员列表、详情、新增、编辑
162
163
            fixed: 'left',
            width: 80,
62156ef2   wxy   数据分析
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
            dataIndex: 'name'
          },
          {
            title: '年龄',
            align: 'center',
            dataIndex: 'age',
            customRender: function(text, record) {
              return GetAge(record.identity)
            }
          },
          {
            title: '性别',
            align: 'center',
            dataIndex: 'gender_dictText'
          },
          {
            title: '学校名称',
            align: 'center',
0c19b627   wxy   未成年人新增修改
182
183
            dataIndex: 'schoolName',
            scopedSlots: { customRender: 'longText' }
62156ef2   wxy   数据分析
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
          },
          {
            title: '入学年份',
            align: 'center',
            dataIndex: 'startYear'
          },
          {
            title: '是否失学',
            align: 'center',
            dataIndex: 'school_dictText'
          },
          {
            title: '家庭住址',
            align: 'center',
            dataIndex: 'address',
            scopedSlots: { customRender: 'longText' }
          },
          {
            title: '身份证号',
            align: 'center',
            dataIndex: 'identity'
          },
          {
62156ef2   wxy   数据分析
207
208
209
210
211
            title: '监护人',
            align: 'center',
            dataIndex: 'guardian'
          },
          {
ebeb57f1   wxy   详情添加学校名称、入学日期等字段,...
212
            title: '监护人关系',
62156ef2   wxy   数据分析
213
            align: 'center',
ebeb57f1   wxy   详情添加学校名称、入学日期等字段,...
214
            dataIndex: 'relation'
62156ef2   wxy   数据分析
215
216
          },
          {
ebeb57f1   wxy   详情添加学校名称、入学日期等字段,...
217
            title: '重点关注原因',
62156ef2   wxy   数据分析
218
            align: 'center',
799ae8b3   wxy   把未成年人重点关注原因改为不从字典表获取
219
            dataIndex: 'reason',
0c19b627   wxy   未成年人新增修改
220
            scopedSlots: { customRender: 'longText' }
62156ef2   wxy   数据分析
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
          },
          {
            title: '操作',
            dataIndex: 'action',
            align: 'center',
            fixed: 'right',
            width: 147,
            scopedSlots: { customRender: 'action' }
          }
        ],
        url: {
          list: '/sys/minor/list',
          delete: '/sys/minor/delete',
          deleteBatch: '/sys/minor/deleteBatch',
          exportXlsUrl: '/sys/minor/exportXls',
          importExcelUrl: 'sys/minor/importExcel',
          familys: '/sys/minor/queryFamilyByMainId'
        },
        dictOptions: {},
        superFieldList: [],
        familyDatas: [],
        // 表头
        familyColumns: [
          {
62156ef2   wxy   数据分析
245
246
            title: '姓名',
            align: 'center',
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
247
            width: 80,
62156ef2   wxy   数据分析
248
249
250
251
252
            dataIndex: 'name'
          },
          {
            title: '身份证号',
            align: 'center',
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
253
            width: 170,
62156ef2   wxy   数据分析
254
255
256
257
258
            dataIndex: 'identity'
          },
          {
            title: '与户主的关系',
            align: 'center',
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
259
            width: 120,
62156ef2   wxy   数据分析
260
261
262
263
264
            dataIndex: 'relation'
          },
          {
            title: '行政区划',
            align: 'center',
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
265
            width: 120,
62156ef2   wxy   数据分析
266
267
268
269
270
271
            dataIndex: 'division',
            scopedSlots: { customRender: 'longText' }
          },
          {
            title: '现住址',
            align: 'center',
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
272
273
            width: 200,
            ellipsis: true,
62156ef2   wxy   数据分析
274
275
276
277
278
279
            dataIndex: 'address',
            scopedSlots: { customRender: 'longText' }
          },
          {
            title: '是否犯罪',
            align: 'center',
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
280
            width: 100,
62156ef2   wxy   数据分析
281
282
283
284
285
286
287
288
289
            dataIndex: 'crime',
            customRender: (text) => {
              //字典值翻译通用方法
              return filterDictTextByCache('is_crime', text)
            }
          },
          {
            title: '犯罪原因',
            align: 'center',
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
290
291
            width: 200,
            ellipsis: true,
62156ef2   wxy   数据分析
292
293
294
295
296
297
            dataIndex: 'reason',
            scopedSlots: { customRender: 'longText' }
          },
          {
            title: '其他参考信息',
            align: 'center',
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
298
299
            width: 200,
            ellipsis: true,
62156ef2   wxy   数据分析
300
301
302
303
304
305
306
            dataIndex: 'other',
            scopedSlots: { customRender: 'longText' }
          }
        ],
        /* 分页参数 */
        familyPagination: {
          current: 1,
9c110e9a   wxy   未检人员列表、详情、新增、编辑
307
          pageSize: 20,
62156ef2   wxy   数据分析
308
309
310
311
312
          hideOnSinglePage: true,
          showTotal: (total, range) => {
            return range[0] + '-' + range[1] + ' 共' + total + '条'
          },
          showQuickJumper: true,
62156ef2   wxy   数据分析
313
          total: 0
9c110e9a   wxy   未检人员列表、详情、新增、编辑
314
        },
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
315
        familyLoading: false
62156ef2   wxy   数据分析
316
317
318
319
320
321
322
323
324
325
326
327
328
      }
    },
    created() {
      this.getSuperFieldList()
    },
    computed: {
      importExcelUrl: function() {
        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
      }
    },
    methods: {
      getAgeByIdentity(identity) {
        return GetAge(identity)
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
329
      },
62156ef2   wxy   数据分析
330
      handleDetail(record) {
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
331
332
333
334
335
        var that = this
        that.info = record
        that.infoVisible = true
        that.familyDatas = []
        if (null !== record.householdNum && '' !== record.householdNum && undefined !== record.householdNum) {
9c110e9a   wxy   未检人员列表、详情、新增、编辑
336
          let params = { householdNum: record.householdNum }
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
337
          that.familyLoading = true
9c110e9a   wxy   未检人员列表、详情、新增、编辑
338
339
          getAction(this.url.familys, params).then(res => {
            if (res.success) {
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
340
              that.familyLoading = false
9c110e9a   wxy   未检人员列表、详情、新增、编辑
341
342
              that.familyDatas = res.result || []
            } else {
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
343
              that.familyLoading = false
9c110e9a   wxy   未检人员列表、详情、新增、编辑
344
345
346
347
348
349
350
351
352
353
            }
          })
        }
      },
      handleImportModel: function(name, type) {
        if (!name || typeof name != 'string') {
          name = '导出文件'
        }
        let param = { 'fileName': name, 'type': type }
        console.log('导出参数', param)
416e1e27   wxy   未检人员删除、源数据管理查看
354
        downFile(this.url.exportXlsUrl, param).then((data) => {
9c110e9a   wxy   未检人员列表、详情、新增、编辑
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
          console.log(data)
          if (!data) {
            this.$message.warning('文件下载失败')
            return
          }
          console.log(window.navigator.msSaveBlob)
          if (typeof window.navigator.msSaveBlob !== 'undefined') {
            window.navigator.msSaveBlob(new Blob([data]), name + '.xlsx')
          } else {
            let url = window.URL.createObjectURL(new Blob([data]))
            console.log(url)
            let link = document.createElement('a')
            console.log(link)
            link.style.display = 'none'
            link.href = url
            link.setAttribute('download', name + '.xlsx')
            console.log(link)
            document.body.appendChild(link)
            link.click()
            console.log(link)
            document.body.removeChild(link) //下载完成移除元素
            window.URL.revokeObjectURL(url) //释放掉blob对象
          }
62156ef2   wxy   数据分析
378
        })
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
379
      },
62156ef2   wxy   数据分析
380
      initDictConfig() {
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
381
      },
62156ef2   wxy   数据分析
382
383
384
385
386
387
388
389
390
      getSuperFieldList() {
        let fieldList = []
        fieldList.push({ type: 'string', value: 'name', text: '姓名', dictCode: '' })
        fieldList.push({ type: 'int', value: 'gender', text: '性别', dictCode: '' })
        fieldList.push({ type: 'string', value: 'address', text: '家庭住址', dictCode: '' })
        fieldList.push({ type: 'string', value: 'identity', text: '身份证号', dictCode: '' })
        fieldList.push({ type: 'Text', value: 'reason', text: '重点关注原因', dictCode: '' })
        fieldList.push({ type: 'Text', value: 'remark', text: '备注', dictCode: '' })
        this.superFieldList = fieldList
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
391
392
      }
    }
62156ef2   wxy   数据分析
393
  }
50565778   wxy   新增未成年人、户籍信息、特殊学校、...
394
395
  </script>
  <style scoped>
62156ef2   wxy   数据分析
396
  @import '~@assets/less/common.less';
62156ef2   wxy   数据分析
397
  </style>
62156ef2   wxy   数据分析
398
  
9c110e9a   wxy   未检人员列表、详情、新增、编辑
399
  <style>
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
400
401
  .j-table-force-nowrap .ant-table-body {
    scrollbar-width: thin;
9c110e9a   wxy   未检人员列表、详情、新增、编辑
402
  }
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
  
  /* 设置滚动条的样式 */
  .j-table-force-nowrap .ant-table-body::-webkit-scrollbar {
    width: 10px;
    height: 10px;
  }
  
  /* 滚动槽 */
  .j-table-force-nowrap .ant-table-body::-webkit-scrollbar-track {
    background: #f5f5f5;
  }
  
  /* 滚动条滑块 */
  .j-table-force-nowrap .ant-table-body::-webkit-scrollbar-thumb {
    background: #dedede;
    -webkit-box-shadow: none;
  }
  
  .desc_info .ant-descriptions-item-label {
    width: 140px;
  }
9e6b9d19   lifengge   修改未检人员页面删除弹框样式问题
424
425
426
427
  
  .ant-popover-inner-content {
    min-width: 150px;
  }
106c9657   lifengge   修改未检人员页面,含新增、编辑、查...
428
  </style>