|
@@ -1,49 +1,51 @@
|
|
|
<template>
|
|
<template>
|
|
|
|
|
+ <a-row :gutter="10">
|
|
|
|
|
|
|
|
- <div>
|
|
|
|
|
- <a-page-header
|
|
|
|
|
- style="background-color: #FFFFFF;"
|
|
|
|
|
- title="客户列表 "
|
|
|
|
|
- sub-title=""
|
|
|
|
|
- @back="goBack"
|
|
|
|
|
- >
|
|
|
|
|
- <a-descriptions :title="'任务名称: '+task.taskName" :column="3" :bordered="false">
|
|
|
|
|
- <a-descriptions-item label="状态"><a-tag :color="task.taskStateColor">{{task.taskStateText}}</a-tag></a-descriptions-item>
|
|
|
|
|
- <a-descriptions-item label="开始时间">{{task.taskStartTime}}</a-descriptions-item>
|
|
|
|
|
- <a-descriptions-item label="结束时间">{{task.taskEndTime}}</a-descriptions-item>
|
|
|
|
|
-<!-- <a-descriptions-item label="描述"><span v-html="task.description"></span></a-descriptions-item>-->
|
|
|
|
|
- </a-descriptions>
|
|
|
|
|
- <a-divider style="margin: 6px;"/>
|
|
|
|
|
- </a-page-header>
|
|
|
|
|
-
|
|
|
|
|
- <a-card :bordered="false" style="margin-top: -20px;">
|
|
|
|
|
- <a-tabs :active-key="currentTab" default-active-key="all" @change="tabChange">
|
|
|
|
|
- <a-tab-pane key="all" :tab="tabAll"></a-tab-pane>
|
|
|
|
|
- <a-tab-pane key="noUp" :tab="noUp"></a-tab-pane>
|
|
|
|
|
- <a-tab-pane key="undo" :tab="tabUndo"></a-tab-pane>
|
|
|
|
|
- <a-tab-pane key="uncheck" :tab="tabUncheck"></a-tab-pane>
|
|
|
|
|
- <a-tab-pane key="checked" :tab="tabChecked"></a-tab-pane>
|
|
|
|
|
- <a-tab-pane key="passed" :tab="tabPassed"></a-tab-pane>
|
|
|
|
|
-
|
|
|
|
|
- </a-tabs>
|
|
|
|
|
- <!-- 查询区域 -->
|
|
|
|
|
- <div class="table-page-search-wrapper">
|
|
|
|
|
- <a-form layout="inline" @keyup.enter.native="searchQuery">
|
|
|
|
|
- <a-row :gutter="24">
|
|
|
|
|
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
|
|
|
|
|
- <a-form-item label="客户编号">
|
|
|
|
|
- <j-input placeholder="请输入客户编号" v-model="queryParam.customerNo"></j-input>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
|
|
|
|
|
- <a-form-item label="客户名称">
|
|
|
|
|
- <j-input placeholder="请输入客户名称" v-model="queryParam.customerName"></j-input>
|
|
|
|
|
- </a-form-item>
|
|
|
|
|
- </a-col>
|
|
|
|
|
- <template v-if="toggleSearchStatus">
|
|
|
|
|
-
|
|
|
|
|
- </template>
|
|
|
|
|
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
|
|
|
|
|
|
|
+ <a-col :md="leftColMd" :sm="24" style="margin-bottom: 20px">
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <a-page-header
|
|
|
|
|
+ style="background-color: #FFFFFF;"
|
|
|
|
|
+ title="客户列表 "
|
|
|
|
|
+ sub-title=""
|
|
|
|
|
+ @back="goBack"
|
|
|
|
|
+ >
|
|
|
|
|
+ <a-descriptions :title="'任务名称: '+task.taskName" :column="3" :bordered="false">
|
|
|
|
|
+ <a-descriptions-item label="状态"><a-tag :color="task.taskStateColor">{{task.taskStateText}}</a-tag></a-descriptions-item>
|
|
|
|
|
+ <a-descriptions-item label="开始时间">{{task.taskStartTime}}</a-descriptions-item>
|
|
|
|
|
+ <a-descriptions-item label="结束时间">{{task.taskEndTime}}</a-descriptions-item>
|
|
|
|
|
+ <!-- <a-descriptions-item label="描述"><span v-html="task.description"></span></a-descriptions-item>-->
|
|
|
|
|
+ </a-descriptions>
|
|
|
|
|
+ <a-divider style="margin: 6px;"/>
|
|
|
|
|
+ </a-page-header>
|
|
|
|
|
+
|
|
|
|
|
+ <a-card :bordered="false" style="margin-top: -20px;">
|
|
|
|
|
+ <a-tabs :active-key="currentTab" default-active-key="all" @change="tabChange">
|
|
|
|
|
+ <a-tab-pane key="all" :tab="tabAll"></a-tab-pane>
|
|
|
|
|
+ <a-tab-pane key="noUp" :tab="noUp"></a-tab-pane>
|
|
|
|
|
+ <a-tab-pane key="undo" :tab="tabUndo"></a-tab-pane>
|
|
|
|
|
+ <a-tab-pane key="uncheck" :tab="tabUncheck"></a-tab-pane>
|
|
|
|
|
+ <a-tab-pane key="checked" :tab="tabChecked"></a-tab-pane>
|
|
|
|
|
+ <a-tab-pane key="passed" :tab="tabPassed"></a-tab-pane>
|
|
|
|
|
+
|
|
|
|
|
+ </a-tabs>
|
|
|
|
|
+ <!-- 查询区域 -->
|
|
|
|
|
+ <div class="table-page-search-wrapper">
|
|
|
|
|
+ <a-form layout="inline" @keyup.enter.native="searchQuery">
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :xl="6" :lg="7" :md="8" :sm="24">
|
|
|
|
|
+ <a-form-item label="客户编号">
|
|
|
|
|
+ <j-input placeholder="请输入客户编号" v-model="queryParam.customerNo"></j-input>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :xl="6" :lg="7" :md="8" :sm="24">
|
|
|
|
|
+ <a-form-item label="客户名称">
|
|
|
|
|
+ <j-input placeholder="请输入客户名称" v-model="queryParam.customerName"></j-input>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <template v-if="toggleSearchStatus">
|
|
|
|
|
+
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <a-col :xl="6" :lg="7" :md="8" :sm="24">
|
|
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
|
|
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
|
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
|
|
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
|
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
|
@@ -52,126 +54,216 @@
|
|
|
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
|
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
|
|
</a>
|
|
</a>
|
|
|
</span>
|
|
</span>
|
|
|
- </a-col>
|
|
|
|
|
- </a-row>
|
|
|
|
|
- </a-form>
|
|
|
|
|
- </div>
|
|
|
|
|
- <!-- 查询区域-END -->
|
|
|
|
|
-
|
|
|
|
|
- <!-- 操作按钮区域 -->
|
|
|
|
|
- <div class="table-operator">
|
|
|
|
|
- <a-button type="primary" icon="download" @click="handleExportXls('客户列表')">导出</a-button>
|
|
|
|
|
- <!-- 高级查询区域 -->
|
|
|
|
|
- <a-dropdown v-if="selectedRowKeys.length > 0">
|
|
|
|
|
- <a-menu slot="overlay">
|
|
|
|
|
- <a-menu-item key="1" @click="batchDel" v-has="'task:check:list:delete'"><a-icon type="delete"/>删除</a-menu-item>
|
|
|
|
|
- </a-menu>
|
|
|
|
|
- <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
|
|
|
|
|
- </a-dropdown>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <!-- table区域-begin -->
|
|
|
|
|
- <div>
|
|
|
|
|
- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
|
|
|
|
- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
|
|
|
|
- <a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <a-table
|
|
|
|
|
- ref="table"
|
|
|
|
|
- size="middle"
|
|
|
|
|
- :scroll="{x:true}"
|
|
|
|
|
- bordered
|
|
|
|
|
- rowKey="id"
|
|
|
|
|
- :columns="columns"
|
|
|
|
|
- :dataSource="dataSource"
|
|
|
|
|
- :pagination="ipagination"
|
|
|
|
|
- :loading="loading"
|
|
|
|
|
- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
|
|
|
|
- class="j-table-force-nowrap"
|
|
|
|
|
- @change="handleTableChange">
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- <template slot="action" slot-scope="text, record">
|
|
|
|
|
-<!-- <span v-has="'task:check:list:improve'" v-if="record.checkState == 1 || record.checkState == 0-->
|
|
|
|
|
-<!-- || record.checkState == 3 || record.checkState == 4" >-->
|
|
|
|
|
-<!-- <a @click="showImprove(record)">完善</a>-->
|
|
|
|
|
-<!-- <a-divider type="vertical"/>-->
|
|
|
|
|
-<!-- </span>-->
|
|
|
|
|
-
|
|
|
|
|
-<!-- <span v-has="'task:check:list:upload'" v-if="record.checkState == 1 || record.checkState == 0-->
|
|
|
|
|
-<!-- || record.checkState == 3 || record.checkState == 4">-->
|
|
|
|
|
-<!-- <a @click="showUpload(record)">上传</a>-->
|
|
|
|
|
-<!-- <a-divider type="vertical"/>-->
|
|
|
|
|
-<!-- </span>-->
|
|
|
|
|
- <span v-has="'task:check:list:improve'" v-if="record.checkState == 1 || record.checkState == 0 " >
|
|
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ </a-form>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- 查询区域-END -->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 操作按钮区域 -->
|
|
|
|
|
+ <div class="table-operator">
|
|
|
|
|
+ <a-button type="primary" icon="download" @click="handleExportXls('客户列表')">导出</a-button>
|
|
|
|
|
+ <a-button type="primary" @click="handleOpen">转派<a-icon type="right" /></a-button>
|
|
|
|
|
+ <!-- 高级查询区域 -->
|
|
|
|
|
+ <a-dropdown v-if="selectedRowKeys.length > 0">
|
|
|
|
|
+ <a-menu slot="overlay">
|
|
|
|
|
+ <a-menu-item key="1" @click="batchDel" v-has="'task:check:list:delete'"><a-icon type="delete"/>删除</a-menu-item>
|
|
|
|
|
+ </a-menu>
|
|
|
|
|
+ <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
|
|
|
|
|
+ </a-dropdown>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- table区域-begin -->
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
|
|
|
|
+ <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
|
|
|
|
+ <a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <a-table
|
|
|
|
|
+ ref="table"
|
|
|
|
|
+ size="middle"
|
|
|
|
|
+ :scroll="{x:true}"
|
|
|
|
|
+ bordered
|
|
|
|
|
+ rowKey="id"
|
|
|
|
|
+ :columns="columns"
|
|
|
|
|
+ :dataSource="dataSource"
|
|
|
|
|
+ :pagination="ipagination"
|
|
|
|
|
+ :loading="loading"
|
|
|
|
|
+ :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
|
|
|
|
+ class="j-table-force-nowrap"
|
|
|
|
|
+ @change="handleTableChange">
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <template slot="action" slot-scope="text, record">
|
|
|
|
|
+ <!-- <span v-has="'task:check:list:improve'" v-if="record.checkState == 1 || record.checkState == 0-->
|
|
|
|
|
+ <!-- || record.checkState == 3 || record.checkState == 4" >-->
|
|
|
|
|
+ <!-- <a @click="showImprove(record)">完善</a>-->
|
|
|
|
|
+ <!-- <a-divider type="vertical"/>-->
|
|
|
|
|
+ <!-- </span>-->
|
|
|
|
|
+
|
|
|
|
|
+ <!-- <span v-has="'task:check:list:upload'" v-if="record.checkState == 1 || record.checkState == 0-->
|
|
|
|
|
+ <!-- || record.checkState == 3 || record.checkState == 4">-->
|
|
|
|
|
+ <!-- <a @click="showUpload(record)">上传</a>-->
|
|
|
|
|
+ <!-- <a-divider type="vertical"/>-->
|
|
|
|
|
+ <!-- </span>-->
|
|
|
|
|
+ <span v-has="'task:check:list:improve'" v-if="record.checkState == 1 || record.checkState == 0 " >
|
|
|
<a @click="showImprove(record)">完善上传</a>
|
|
<a @click="showImprove(record)">完善上传</a>
|
|
|
<a-divider type="vertical"/>
|
|
<a-divider type="vertical"/>
|
|
|
</span>
|
|
</span>
|
|
|
|
|
|
|
|
-<!-- <span v-has="'task:check:list:submit'" v-if=" record.checkState == 4">-->
|
|
|
|
|
-<!-- <a @click="handSubmit(record)">提交</a>-->
|
|
|
|
|
-<!-- <a-divider type="vertical"/>-->
|
|
|
|
|
-<!-- </span>-->
|
|
|
|
|
|
|
+ <!-- <span v-has="'task:check:list:submit'" v-if=" record.checkState == 4">-->
|
|
|
|
|
+ <!-- <a @click="handSubmit(record)">提交</a>-->
|
|
|
|
|
+ <!-- <a-divider type="vertical"/>-->
|
|
|
|
|
+ <!-- </span>-->
|
|
|
|
|
|
|
|
- <span v-has="'task:check:list:check'" v-if="record.checkState === 2 || record.checkState === 3">
|
|
|
|
|
|
|
+ <span v-has="'task:check:list:check'" v-if="record.checkState === 2 || record.checkState === 3">
|
|
|
<a @click="showCheckCheck(record)">稽核</a>
|
|
<a @click="showCheckCheck(record)">稽核</a>
|
|
|
<a-divider type="vertical" />
|
|
<a-divider type="vertical" />
|
|
|
</span>
|
|
</span>
|
|
|
|
|
|
|
|
- <span v-has="'task:check:list:history'" v-if="record.checkState === 4">
|
|
|
|
|
|
|
+ <span v-has="'task:check:list:history'" v-if="record.checkState === 4">
|
|
|
<a @click="showImproveGZ(record)">整改</a>
|
|
<a @click="showImproveGZ(record)">整改</a>
|
|
|
<a-divider type="vertical" />
|
|
<a-divider type="vertical" />
|
|
|
</span>
|
|
</span>
|
|
|
- <span v-has="'task:check:list:selectData'" v-if="record.checkState === 5">
|
|
|
|
|
|
|
+ <span v-has="'task:check:list:selectData'" v-if="record.checkState === 5">
|
|
|
<a @click="selectData(record)">查看数据</a>
|
|
<a @click="selectData(record)">查看数据</a>
|
|
|
<a-divider type="vertical" />
|
|
<a-divider type="vertical" />
|
|
|
</span>
|
|
</span>
|
|
|
- <span v-has="'task:check:list:selectDataDown'">
|
|
|
|
|
|
|
+ <span v-has="'task:check:list:selectDataDown'">
|
|
|
<a @click="getFileUrls(record)">下载资料</a>
|
|
<a @click="getFileUrls(record)">下载资料</a>
|
|
|
<a-divider type="vertical" />
|
|
<a-divider type="vertical" />
|
|
|
</span>
|
|
</span>
|
|
|
- <span v-has="'task:check:list:notice'" v-if="record.checkState != 2 && record.checkState != 3 && record.checkState != 5">
|
|
|
|
|
|
|
+ <span v-has="'task:check:list:notice'" v-if="record.checkState != 2 && record.checkState != 3 && record.checkState != 5">
|
|
|
<a @click="noticeDeal(record)">催办</a>
|
|
<a @click="noticeDeal(record)">催办</a>
|
|
|
<a-divider type="vertical" />
|
|
<a-divider type="vertical" />
|
|
|
</span>
|
|
</span>
|
|
|
|
|
|
|
|
- <a-dropdown>
|
|
|
|
|
- <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
|
|
|
|
|
- <a-menu slot="overlay">
|
|
|
|
|
|
|
+ <a-dropdown>
|
|
|
|
|
+ <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
|
|
|
|
|
+ <a-menu slot="overlay">
|
|
|
|
|
+
|
|
|
|
|
+ <a-menu-item v-has="'task:check:list:delete'">
|
|
|
|
|
+ <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
|
|
|
|
|
+ <a>删除</a>
|
|
|
|
|
+ </a-popconfirm>
|
|
|
|
|
+ </a-menu-item>
|
|
|
|
|
+ <a-menu-item v-has="'task:check:list:clear'">
|
|
|
|
|
+ <a-popconfirm title="确定清空吗?" @confirm="() => dataDelete(record.id)">
|
|
|
|
|
+ <a>清空</a>
|
|
|
|
|
+ </a-popconfirm>
|
|
|
|
|
+ </a-menu-item>
|
|
|
|
|
+ </a-menu>
|
|
|
|
|
+ </a-dropdown>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template v-slot:customerName="text, record">
|
|
|
|
|
+ <a @click="showCheckDetail(record)">{{text}}</a>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:checkState="status">
|
|
|
|
|
+ <a-badge :status="status | statusTypeFilter" :text="status | statusFilter"/>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:rowIndex="text,records,index">
|
|
|
|
|
+ {{ (ipagination.current - 1) * ipagination.pageSize + Number(index)+1 }}
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ </a-table>
|
|
|
|
|
+
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- table区域 end -->
|
|
|
|
|
+ </a-card>
|
|
|
|
|
|
|
|
- <a-menu-item v-has="'task:check:list:delete'">
|
|
|
|
|
- <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
|
|
|
|
|
- <a>删除</a>
|
|
|
|
|
- </a-popconfirm>
|
|
|
|
|
- </a-menu-item>
|
|
|
|
|
- <a-menu-item v-has="'task:check:list:clear'">
|
|
|
|
|
- <a-popconfirm title="确定清空吗?" @confirm="() => dataDelete(record.id)">
|
|
|
|
|
- <a>清空</a>
|
|
|
|
|
- </a-popconfirm>
|
|
|
|
|
- </a-menu-item>
|
|
|
|
|
- </a-menu>
|
|
|
|
|
- </a-dropdown>
|
|
|
|
|
- </template>
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :md="rightColMd" :sm="24" v-if="this.rightcolval == 1">
|
|
|
|
|
+ <a-card :bordered="false">
|
|
|
|
|
+ <div style="text-align: right;">
|
|
|
|
|
+ <a-icon type="close-circle" @click="hideUserList" />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div style='margin-top: 126px' ></div>
|
|
|
|
|
+ <!-- 查询区域 -->
|
|
|
|
|
+ <div class="table-page-search-wrapper">
|
|
|
|
|
+ <a-form layout="inline">
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+
|
|
|
|
|
+ <a-col :md="15" :sm="24">
|
|
|
|
|
+ <a-form-item label="用户账号">
|
|
|
|
|
+ <a-input placeholder="" v-model="queryParam2.username"></a-input>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :md="15" :sm="24">
|
|
|
|
|
+ <a-form-item label="用户名称">
|
|
|
|
|
+ <a-input placeholder="" v-model="queryParam2.realname"></a-input>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
|
|
|
|
+ <a-col :md="9" :sm="24">
|
|
|
|
|
+ <a-button type="primary" @click="searchQuery2" icon="search" style="margin-left: 21px">查询</a-button>
|
|
|
|
|
+ <a-button type="primary" @click="searchReset2" icon="reload" style="margin-left: 8px">重置</a-button>
|
|
|
|
|
+<!-- <a-button type="danger" @click="transfer" style="margin-left: 8px">转派</a-button>-->
|
|
|
|
|
|
|
|
- <template v-slot:customerName="text, record">
|
|
|
|
|
- <a @click="showCheckDetail(record)">{{text}}</a>
|
|
|
|
|
- </template>
|
|
|
|
|
- <template v-slot:checkState="status">
|
|
|
|
|
- <a-badge :status="status | statusTypeFilter" :text="status | statusFilter"/>
|
|
|
|
|
- </template>
|
|
|
|
|
- <template v-slot:rowIndex="text,records,index">
|
|
|
|
|
- {{ (ipagination.current - 1) * ipagination.pageSize + Number(index)+1 }}
|
|
|
|
|
- </template>
|
|
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ </a-form>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- 操作按钮区域 -->
|
|
|
|
|
+ <div class="table-operator" :md="24" :sm="24">
|
|
|
|
|
|
|
|
- </a-table>
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- table区域-begin -->
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
|
|
|
|
+ <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
|
|
|
|
|
+ selectedRowKeys2.length }}</a>项
|
|
|
|
|
+ <a style="margin-left: 24px" @click="onClearSelected2">清空</a>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <a-table
|
|
|
|
|
+ style="height:500px"
|
|
|
|
|
+ ref="table2"
|
|
|
|
|
+ bordered
|
|
|
|
|
+ size="middle"
|
|
|
|
|
+ rowKey="id"
|
|
|
|
|
+ :columns="columns2"
|
|
|
|
|
+ :dataSource="dataSource2"
|
|
|
|
|
+ :pagination="ipagination2"
|
|
|
|
|
+ :rowSelection="{selectedRowKeys: selectedRowKeys2, onChange: onSelectChange2 ,type:'radio'}"
|
|
|
|
|
+ @change="handleTableChange2">
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <span slot="action" slot-scope="text, record">
|
|
|
|
|
+ <a-divider type="vertical"/>
|
|
|
|
|
+ <a-dropdown>
|
|
|
|
|
|
|
|
- </div>
|
|
|
|
|
- <!-- table区域 end -->
|
|
|
|
|
- </a-card>
|
|
|
|
|
|
|
+ </a-dropdown>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </a-table>
|
|
|
|
|
+ <a-modal v-model="visible" title="请选择所属部门" on-ok="handleOk">
|
|
|
|
|
+ <template slot="footer">
|
|
|
|
|
+ <a-button key="back" @click="handleCancel">
|
|
|
|
|
+ 返回
|
|
|
|
|
+ </a-button>
|
|
|
|
|
+<!-- <a-button key="submit" type="primary" :loading="loading" @click="handleOk">-->
|
|
|
|
|
+<!-- 确认-->
|
|
|
|
|
+<!-- </a-button>-->
|
|
|
|
|
+ <a-button type="danger" @click="transfer" style="margin-left: 8px">转派</a-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div> 请选择部门
|
|
|
|
|
+ <a-select style="width: 220px" v-model="orgCode">
|
|
|
|
|
+ <a-select-option v-for="item in statusList" :key="statusList.orgCode" :value="item.orgCode">
|
|
|
|
|
+ {{ item.departName }}
|
|
|
|
|
+ </a-select-option>
|
|
|
|
|
+ </a-select>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
|
|
+ </a-modal>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- 表单区域 -->
|
|
|
|
|
+ </a-card>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+
|
|
|
|
|
+ </a-row>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
@@ -181,25 +273,52 @@ import '@/assets/less/TableExpand.less'
|
|
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
|
|
import JSZip from 'jszip'
|
|
import JSZip from 'jszip'
|
|
|
import FileSaver from 'file-saver'
|
|
import FileSaver from 'file-saver'
|
|
|
-
|
|
|
|
|
|
|
+import RoleModal from '@views/system/modules/RoleModal.vue'
|
|
|
|
|
+import SelectUserModal from '@views/system/modules/SelectUserModal.vue'
|
|
|
|
|
+import UserModal from '@views/system/modules/UserModal.vue'
|
|
|
|
|
+import { filterObj } from '@/utils/util'
|
|
|
|
|
+const statusMap1 = {
|
|
|
|
|
+ 1: {
|
|
|
|
|
+ color: 'green',
|
|
|
|
|
+ text: '正常'
|
|
|
|
|
+ },
|
|
|
|
|
+ 2: {
|
|
|
|
|
+ color: 'red',
|
|
|
|
|
+ text: '冻结'
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
export default {
|
|
export default {
|
|
|
name: 'TaskCheckList',
|
|
name: 'TaskCheckList',
|
|
|
|
|
+ components: { UserModal, SelectUserModal, RoleModal },
|
|
|
mixins:[JeecgListMixin],
|
|
mixins:[JeecgListMixin],
|
|
|
inject:['closeCurrent'],
|
|
inject:['closeCurrent'],
|
|
|
data () {
|
|
data () {
|
|
|
let _self = this;
|
|
let _self = this;
|
|
|
return {
|
|
return {
|
|
|
|
|
+ statusList:[],
|
|
|
|
|
+ loading: false,
|
|
|
|
|
+ visible: false,
|
|
|
|
|
+ dataSource1: [],
|
|
|
|
|
+ dataSource2: [],
|
|
|
|
|
+ currentRoleId: '',
|
|
|
|
|
+ ipagination2: {
|
|
|
|
|
+ current: 1,
|
|
|
|
|
+ pageSize: 10,
|
|
|
|
|
+ pageSizeOptions: ['10', '20', '30'],
|
|
|
|
|
+ showTotal: (total, range) => {
|
|
|
|
|
+ return range[0] + '-' + range[1] + ' 共' + total + '条'
|
|
|
|
|
+ },
|
|
|
|
|
+ showQuickJumper: true,
|
|
|
|
|
+ showSizeChanger: true,
|
|
|
|
|
+ total: 0
|
|
|
|
|
+ },
|
|
|
|
|
+ queryParam2: {},
|
|
|
|
|
+ rightcolval:0,
|
|
|
|
|
+ selectedRowKeys1: [],
|
|
|
|
|
+ selectedRowKeys2: [],
|
|
|
queryParam:{
|
|
queryParam:{
|
|
|
},
|
|
},
|
|
|
fileInfoList:[
|
|
fileInfoList:[
|
|
|
- {
|
|
|
|
|
- fileStaticUrl:"http://223.223.177.220:9001/default/截屏2023-10-2311.04.07_1700125245908.png",
|
|
|
|
|
- fileId:"xxx"
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- fileStaticUrl:"http://223.223.177.220:9001/default/截屏2023-10-2311.04.07_1700125245908.png",
|
|
|
|
|
- fileId:"yyyy"
|
|
|
|
|
- }
|
|
|
|
|
],
|
|
],
|
|
|
dataListSelections:'',
|
|
dataListSelections:'',
|
|
|
description: '稽核详情页面',
|
|
description: '稽核详情页面',
|
|
@@ -227,6 +346,19 @@ export default {
|
|
|
uncheckCount: 0,
|
|
uncheckCount: 0,
|
|
|
checkedCount: 0,
|
|
checkedCount: 0,
|
|
|
passedCount: 0,
|
|
passedCount: 0,
|
|
|
|
|
+ orgCode:"",
|
|
|
|
|
+ columns2: [{
|
|
|
|
|
+ title: '用户账号',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ dataIndex: 'username',
|
|
|
|
|
+ width: 120
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: '用户名称',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ width: 100,
|
|
|
|
|
+ dataIndex: 'realname'
|
|
|
|
|
+ }],
|
|
|
|
|
|
|
|
columns: [
|
|
columns: [
|
|
|
{
|
|
{
|
|
@@ -338,6 +470,7 @@ export default {
|
|
|
editCheck: "/smsCheck/customerInfo/edit/check/state",
|
|
editCheck: "/smsCheck/customerInfo/edit/check/state",
|
|
|
dataDelete: "/smsCheck/customerData/clear",
|
|
dataDelete: "/smsCheck/customerData/clear",
|
|
|
exportXlsUrl: "smsCheck/customerInfo/exportXls",
|
|
exportXlsUrl: "smsCheck/customerInfo/exportXls",
|
|
|
|
|
+ list2: '/sys/user/userRoleList',
|
|
|
},
|
|
},
|
|
|
autoSearch: false,
|
|
autoSearch: false,
|
|
|
}
|
|
}
|
|
@@ -350,6 +483,14 @@ export default {
|
|
|
this.loadData();
|
|
this.loadData();
|
|
|
this.loadTabNumber(this.task.id);
|
|
this.loadTabNumber(this.task.id);
|
|
|
},
|
|
},
|
|
|
|
|
+ computed: {
|
|
|
|
|
+ leftColMd() {
|
|
|
|
|
+ return this.selectedRowKeys1.length === 0 ? 24 : 15
|
|
|
|
|
+ },
|
|
|
|
|
+ rightColMd() {
|
|
|
|
|
+ return this.selectedRowKeys1.length === 0 ? 0 : 9
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
filters: {
|
|
filters: {
|
|
|
statusTypeFilter(type) {
|
|
statusTypeFilter(type) {
|
|
|
const statusTypeMap = {
|
|
const statusTypeMap = {
|
|
@@ -375,6 +516,149 @@ export default {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ onSelectChange2(selectedRowKeys, selectionRows) {
|
|
|
|
|
+ this.selectedRowKeys2 = selectedRowKeys
|
|
|
|
|
+ this.selectionRows2 = selectionRows
|
|
|
|
|
+
|
|
|
|
|
+ let url = '/smsCheck/customerData/queryDeptById';
|
|
|
|
|
+ let params = {
|
|
|
|
|
+ workNo: selectionRows[0].workNo
|
|
|
|
|
+ }
|
|
|
|
|
+ this.statusList=[]
|
|
|
|
|
+ this.orgCode=''
|
|
|
|
|
+ getAction(url, params).then(res => {
|
|
|
|
|
+ if (res.success) {
|
|
|
|
|
+
|
|
|
|
|
+ this.statusList=res.result
|
|
|
|
|
+ this.visible = true;
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ showModal() {
|
|
|
|
|
+ this.visible = true;
|
|
|
|
|
+ },
|
|
|
|
|
+ handleOk(e) {
|
|
|
|
|
+ this.loading = true;
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ this.visible = false;
|
|
|
|
|
+ this.loading = false;
|
|
|
|
|
+ }, 3000);
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ handleTableChange2(pagination, filters, sorter) {
|
|
|
|
|
+ //分页、排序、筛选变化时触发
|
|
|
|
|
+ //TODO 筛选
|
|
|
|
|
+ if (Object.keys(sorter).length > 0) {
|
|
|
|
|
+ this.isorter2.column = sorter.field
|
|
|
|
|
+ this.isorter2.order = 'ascend' == sorter.order ? 'asc' : 'desc'
|
|
|
|
|
+ }
|
|
|
|
|
+ this.ipagination2 = pagination
|
|
|
|
|
+ this.loadData2()
|
|
|
|
|
+ },
|
|
|
|
|
+ hideUserList(){
|
|
|
|
|
+ //this.rightcolval = 0
|
|
|
|
|
+ this.selectedRowKeys1 = []
|
|
|
|
|
+ },
|
|
|
|
|
+ getQueryParams2() {
|
|
|
|
|
+ //获取查询条件
|
|
|
|
|
+ let sqp = {}
|
|
|
|
|
+ if (this.superQueryParams2) {
|
|
|
|
|
+ sqp['superQueryParams'] = encodeURI(this.superQueryParams2)
|
|
|
|
|
+ sqp['superQueryMatchType'] = this.superQueryMatchType2
|
|
|
|
|
+ }
|
|
|
|
|
+ var param = Object.assign(sqp, this.queryParam2, this.isorter2, this.filters2)
|
|
|
|
|
+ param.field = this.getQueryField2()
|
|
|
|
|
+ param.pageNo = this.ipagination2.current
|
|
|
|
|
+ param.pageSize = this.ipagination2.pageSize
|
|
|
|
|
+ return filterObj(param)
|
|
|
|
|
+ },
|
|
|
|
|
+ getQueryField2() {
|
|
|
|
|
+ //TODO 字段权限控制
|
|
|
|
|
+ var str = 'id,'
|
|
|
|
|
+ this.columns2.forEach(function(value) {
|
|
|
|
|
+ str += ',' + value.dataIndex
|
|
|
|
|
+ })
|
|
|
|
|
+ return str
|
|
|
|
|
+ },
|
|
|
|
|
+ transfer(){
|
|
|
|
|
+ if (this.selectedRowKeys2.length===0){
|
|
|
|
|
+ this.$message.warn('未选择转派人!')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (this.selectedRowKeys.length===0){
|
|
|
|
|
+ this.$message.warn('未选择需转派的数据!')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ if ( this.orgCode===''){
|
|
|
|
|
+ this.$message.warn('部门不可为空!')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ let url = '/smsCheck/customerData/transfer';
|
|
|
|
|
+ let params = {
|
|
|
|
|
+ userId : this.selectedRowKeys2[0],
|
|
|
|
|
+ ids:this.selectedRowKeys,
|
|
|
|
|
+ orgCode: this.orgCode
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ postAction(url, params).then(res => {
|
|
|
|
|
+ if (res.success) {
|
|
|
|
|
+ this.$message.success('转派成功!')
|
|
|
|
|
+ this.visible = false;
|
|
|
|
|
+ this.rightcolval=0;
|
|
|
|
|
+ this.selectedRowKeys1=[];
|
|
|
|
|
+ this.searchReset()
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ searchQuery2() {
|
|
|
|
|
+ this.loadData2(1)
|
|
|
|
|
+ },
|
|
|
|
|
+ searchReset2() {
|
|
|
|
|
+ this.queryParam2 = {}
|
|
|
|
|
+ this.loadData2(1)
|
|
|
|
|
+ },
|
|
|
|
|
+ loadData2(arg) {
|
|
|
|
|
+ if (!this.url.list2) {
|
|
|
|
|
+ this.$message.error('请设置url.list2属性!')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ //加载数据 若传入参数1则加载第一页的内容
|
|
|
|
|
+ if (arg === 1) {
|
|
|
|
|
+ this.ipagination2.current = 1
|
|
|
|
|
+ }
|
|
|
|
|
+ let params = this.getQueryParams2()//查询条件
|
|
|
|
|
+ //params.roleId = this.currentRoleId
|
|
|
|
|
+ getAction(this.url.list2, params).then((res) => {
|
|
|
|
|
+ if (res.success) {
|
|
|
|
|
+ this.dataSource2 = res.result.records
|
|
|
|
|
+ this.ipagination2.total = res.result.total
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ handleOpen(record) {
|
|
|
|
|
+
|
|
|
|
|
+ if (this.selectedRowKeys.length===0){
|
|
|
|
|
+ this.$message.warn('未选择需转派的数据!')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ this.rightcolval = 1
|
|
|
|
|
+ this.selectedRowKeys1 = '1'
|
|
|
|
|
+ this.model1 = Object.assign({}, record)
|
|
|
|
|
+
|
|
|
|
|
+ this.onClearSelected2()
|
|
|
|
|
+ this.loadData2()
|
|
|
|
|
+ },
|
|
|
|
|
+ onClearSelected2() {
|
|
|
|
|
+ this.selectedRowKeys2 = []
|
|
|
|
|
+ this.selectionRows2 = []
|
|
|
|
|
+ },
|
|
|
getFileUrls(data) {
|
|
getFileUrls(data) {
|
|
|
let url = '/smsCheck/customerInfo/queryUrlById';
|
|
let url = '/smsCheck/customerInfo/queryUrlById';
|
|
|
let params = {
|
|
let params = {
|