Browse Source

智能导出完成

xiaowang-dev
是小王呀\24601 1 year ago
parent
commit
26995113f9
  1. 38
      src/views/modules/base/smartExport/Records.vue
  2. 156
      src/views/modules/base/smartExport/exset.vue
  3. 74
      src/views/modules/base/smartExport/index.vue
  4. 71
      src/views/modules/shequzhili/timeOut/index.vue

38
src/views/modules/base/smartExport/Records.vue

@ -15,21 +15,30 @@
</div>
</template>
<script>
import requestPost from "@/js/dai/request";
import {requestPost} from "@/js/dai/request";
export default {
name: "Records",
data() {
return {
tableData: [],
showDialog: false,
pageSize: 20,
pageNo: 1,
total: 0
total: 0,
orgId:""
}
},
props: {
recordList: {
type: Object,
default: () => ({})
}
},
created() {
console.log("Component created");
console.log(this.recordList,"Component created");
this.getList()
this.orgId = this.$store.state.user.agencyId;
//
},
methods: {
@ -52,21 +61,20 @@
console.log("dskjbfdksj");
const url = "/commonservice/exportRecord/recordList";
let params = {
orgId: "1704313950756757506",
orgId: this.orgId,
pageNo: this.pageNo,
pageSize: this.pageSize,
originId: "1822813823567851522",
originId: this.recordList.originId,
};
requestPost('/commonservice/exportRecord/recordList',params).then(res => {
console.log(res,"res");
});
// const { data, code, msg } = await requestPost(url, params);
// if (code === 0) {
// this.tableData=data.list
// } else {
// this.$message.error(msg);
// }
// requestPost('/commonservice/exportRecord/recordList',params).then(res => {
// console.log(res,"res");
// });
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.tableData=data.list
} else {
this.$message.error(msg);
}
},
}

156
src/views/modules/base/smartExport/exset.vue

@ -2,7 +2,7 @@
<div class="div_form">
<div class="form">
<h4>智能导出/导出设置</h4>
<el-form ref="form" :model="form" >
<el-form ref="form" >
<el-form-item required label="报表名称" autocomplete="off" >
<el-input v-model="form.name" size="mini" style="width: 40%; margin-left: 30px"></el-input>
</el-form-item>
@ -10,66 +10,34 @@
<el-form :inline="true" class="header_form_box" :model="form" size="mini"
:label-width="'105px'">
<el-form-item style="margin-bottom: 10px;" class="tableList" label="所属组织">
<el-cascader class="u-item-width-normal" size="small" ref="myCascader" v-model="form.agencyId"
<el-cascader class="u-item-width-normal" size="small" ref="myCascader" v-model="form.agencyId"
:options="orgOptions" :props="orgOptionProps" :show-all-levels="false" @change="handleChangeAgency"
clearable></el-cascader>
</el-form-item>
<!-- <el-form-item style="margin-bottom: 10px;" prop="villageId" class="tableList">
<div class="resi-cell">
<div class="resi-cell-value" >
<span style="width:100px;text-align: right;padding-right:14px;display: inline-block; ">所属房屋:</span>
<el-select v-model.trim="form.villageId" placeholder="请选择小区" size="small" filterable clearable
class="u-item-width-communitycascader" @clear="handleClearVillage" @change="handleChangeV"
v-el-select-loadmore="loadmore">
<el-option v-for="item in optionsV" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.buildId" placeholder="楼号" size="small" filterable clearable
style="margin-left: 5px" class="u-item-width-buildcascader" :disabled="changeVDisabled"
@clear="handleClearBuild" @change="handleChangeB">
<el-option v-for="item in optionsB" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.unitId" :disabled="changeBDisabled" placeholder="单元" size="small"
filterable clearable style="margin-left: 5px" class="u-item-width-buildcascader"
@click="handleClearDan" @change="handleChangeD">
<el-option v-for="item in optionsD" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-select v-model.trim="form.homeId" :disabled="changeDDisabled" placeholder="房号" size="small"
filterable clearable style="margin-left: 5px" class="u-item-width-buildcascader">
<el-option v-for="item in optionsH" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
</div>
</el-form-item> -->
<el-form-item style="margin-bottom: 10px;" label="小区" class="tableList" >
<el-select v-model.trim="form.partyFlag" class="u-item-width-normal" clearable size="small">
<template v-for="item in partyList">
<el-select v-model.trim="form.villageId" class="u-item-width-normal" clearable size="small">
<template v-for="item in optionsV">
<el-option :label='item.label' :value='item.value'> </el-option>
</template>
</el-select>
</el-form-item>
<el-form-item style="margin-bottom: 10px;" label="楼号" class="tableList">
<el-select v-model.trim="form.partyFlag" class="u-item-width-normal" clearable size="small">
<el-select v-model.trim="form.buildId" class="u-item-width-normal" clearable size="small">
<template v-for="item in partyList">
<el-option :label='item.label' :value='item.value'> </el-option>
<el-option :label='item.optionsB' :value='item.value'> </el-option>
</template>
</el-select>
</el-form-item>
<el-form-item style="margin-bottom: 10px;" label="单元号" class="tableList">
<el-select v-model.trim="form.partyFlag" class="u-item-width-normal" clearable size="small">
<el-select v-model.trim="form.unitId" class="u-item-width-normal" clearable size="small">
<template v-for="item in partyList">
<el-option :label='item.label' :value='item.value'> </el-option>
<el-option :label='item.optionsD' :value='item.value'> </el-option>
</template>
</el-select>
</el-form-item>
<el-form-item style="margin-bottom: 10px;" label="房屋号" class="tableList">
<el-select v-model.trim="form.partyFlag" class="u-item-width-normal" clearable size="small">
<template v-for="item in partyList">
<el-select v-model.trim="form.homeId" class="u-item-width-normal" clearable size="small">
<template v-for="item in optionsH">
<el-option :label='item.label' :value='item.value'> </el-option>
</template>
</el-select>
@ -110,11 +78,11 @@
>
</el-date-picker>
</el-form-item>
<el-form-item style="margin-bottom: 10px;" label="籍贯">
<!-- <el-form-item style="margin-bottom: 10px;" label="籍贯">
<el-input v-model.trim="form.nativePlace" class="u-item-width-service" placeholder="请输入" clearable
size="small">
</el-input>
</el-form-item>
</el-form-item> -->
<el-form-item style="margin-bottom: 10px;" label="人户状况" class="tableList">
<el-select v-model.trim="form.householdSituation" class="u-item-width-normal" clearable size="small">
<template v-for="item in household">
@ -164,20 +132,20 @@
</template>
</el-select>
</el-form-item>
<el-form-item class="tableList" style="margin-bottom: 10px;" label="婚姻状态">
<!-- <el-form-item class="tableList" style="margin-bottom: 10px;" label="婚姻状态">
<el-select v-model.trim="form.nation" class="u-item-width-normal" clearable size="small">
<template v-for="item in nation">
<el-option :label='item.label' :value='item.value'> </el-option>
</template>
</el-select>
</el-form-item>
<el-form-item class="tableList" style="margin-bottom: 10px;" label="宗教信仰">
</el-form-item> -->
<!-- <el-form-item class="tableList" style="margin-bottom: 10px;" label="宗教信仰">
<el-select v-model.trim="form.nationality" class="u-item-width-normal" clearable size="small">
<template v-for="item in nationalityList">
<el-option :label='item.label' :value='item.value'> </el-option>
</template>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item style="margin-bottom: 10px;" label="就业状态" class="tableList">
<el-select v-model.trim="form.careerStatus" class="u-item-width-normal" clearable size="small">
<template v-for="item in careerStatusList">
@ -198,8 +166,8 @@
</el-input>
</el-form-item> -->
<el-form-item class="tableList" style="margin-bottom: 10px;" label="岗位人员">
<el-select v-model.trim="form.nationality" class="u-item-width-normal" clearable size="small">
<template v-for="item in nationalityList">
<el-select v-model.trim="form.identity" class="u-item-width-normal" clearable size="small">
<template v-for="item in projectStaffList">
<el-option :label='item.label' :value='item.value'> </el-option>
</template>
</el-select>
@ -266,6 +234,27 @@ export default {
return {
orgOptionProps,
household: [],
projectStaffList: [
{
label: '志愿者',
value: 'VOLUNTEER_FLAG'
},{
label: '网格员',
value: 'GRID_MEMBER_FLAG'
},
{
label: '楼长',
value: 'BUILDING_CHIEF_FLAG'
},
{
label: '单元长',
value: 'UNIT_CHIEF_FLAG'
},
{
label: '公益岗',
value: 'PUBLIC_WELFARE_FLAG'
}
],
directives: {
"el-select-loadmore": {
bind(el, binding) {
@ -473,8 +462,9 @@ specialCategoryList: [
}
],
careerStatusList: [],
pageSize:20,
pageNo:1,
form: {
name: '',
mobile: '',
updateCategory: null,
@ -684,7 +674,6 @@ specialCategoryList: [
this.getEducation()
this.getNationality()
this.getDictList()
this.getOrgTreeList()
@ -696,14 +685,24 @@ specialCategoryList: [
list: {
type: Array,
default: () => []
}
},
see: {
type: Object,
default: () => ({})
},
},
components: {
checkBox,
dragItem
},
mounted() {
console.log(this.list, "lk");
if(this.see.originId){
this.orgId = this.$store.state.user.agencyId;
this.originId= this.see.originId,
this.getList()
}
console.log(this.list,this.see,this.type, this.originId,"lk");
this.list.forEach(item => {
this.$set(this.info, item.id, [])
})
@ -729,6 +728,8 @@ specialCategoryList: [
await this.handleChangeB(val.id)
}
})
},
computed:{
changeVDisabled() {
@ -752,6 +753,38 @@ specialCategoryList: [
}
,
methods: {
//
async getList() {
console.log("dskjbfdksj");
const url = "/commonservice/exportRecord/recordList";
let params = {
orgId: this.orgId,
pageNo: this.pageNo,
pageSize: this.pageSize,
originId: this.originId,
};
// requestPost('/commonservice/exportRecord/recordList',params).then(res => {
// console.log(res,"res");
// });
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.form= JSON.parse(data.list[0].filterCriteria).searchForm
console.log(JSON.parse(data.list[0].filterCriteria).exportConfig.itemList);
this.rightList=JSON.parse(data.list[0].filterCriteria).exportConfig.itemList
console.log(this.rightList,"this.rightList");
this.rightList.forEach(item => {
item.queryItemList=item.children,
item.queryItemList.forEach(item1=>{
item1.id=item1.itemId
})
item.id=item.itemId
})
console.log( this.form,"this.form");
} else {
this.$message.error(msg);
}
},
//
getOrgTreeList() {
this.$http
@ -770,17 +803,19 @@ specialCategoryList: [
})
},
//
handleChangeAgency(val) {
console.log("otg");
async handleChangeAgency(val) {
this.sarr = []
this.getLastItem(
this.orgOptions,
val,
"agencyId"
);
this.form.agencyId=this.sarr[this.sarr.length - 1].agencyId
console.log(this.sarr,'seee');
this.form.level = this.sarr[this.sarr.length - 1].level;
this.getValiheList()
this.form.agencyId = this.sarr[this.sarr.length - 1].agencyId;
this.optionsV = [];
this.optionsVPageNo = 1;
await this.getValiheList()
},
getLastItem(list, vals, key) {
@ -875,6 +910,9 @@ specialCategoryList: [
},
//
async exportTemplate() {
if(!this.form.name){
return this.$message.error("请输入模板名称")
}
let url = "/actual/base/residentBaseInfo/exportExcelCustom"
let params = {
templateId: '',
@ -983,7 +1021,7 @@ specialCategoryList: [
this.form.homeId = ''
this.getBuildList()
},
loadmore() {
this.optionsVPageNo++;
this.getValiheList();

74
src/views/modules/base/smartExport/index.vue

@ -10,15 +10,15 @@
<el-form-item label="创建人">
<el-select v-model.trim="createdBy" placeholder="请选择" size="small" class="u-item-width-normal"
clearable>
<el-option v-for="item in dicts.resident_category_import" :key="item.value" :label="item.label"
:value="item.value">
<el-option v-for="item in agencyStaffTableListData" :key="item.staffId" :label="item.name"
:value="item.staffId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="SearchData.createdTimeStart" type="datetime" placeholder="选择日期时间">
<el-date-picker v-model="createdTimeStart" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期时间">
</el-date-picker>
<el-date-picker v-model="SearchData.createdTimeEnd" type="datetime" placeholder="选择日期时间">
<el-date-picker v-model="createdTimeEnd" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-row type="flex">
@ -41,7 +41,7 @@
</el-table-column>
<el-table-column prop="exportNum" align="center" width="150" label="导出记录" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-button style="width: 100%" type="text" @click="showAwoList(scope.row.exportNum)">{{scope.row.exportNum}}</el-button>
<el-button style="width: 100%" type="text" @click="showAwoList(scope.row)">{{scope.row.exportNum}}</el-button>
</template>
</el-table-column>
@ -51,9 +51,9 @@
<span>{{ binaryText(scope.row.processStatus) }}</span>
</template>
</el-table-column> -->
<el-table-column prop="createdByName" align="center" width="80" label="创建人" :show-overflow-tooltip="true">
<el-table-column prop="createdByName" align="center" label="创建人" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="createdTime" align="center" width="80" label="创建时间" :show-overflow-tooltip="true">
<el-table-column prop="createdTime" align="center" label="创建时间" :show-overflow-tooltip="true">
</el-table-column>
<!-- <el-table-column prop="createdByName" align="center" width="100" label="操作人"
:show-overflow-tooltip="true">
@ -61,13 +61,13 @@
<el-table-column prop="completedTime" align="center" width="180" label="操作完成时间"
:show-overflow-tooltip="true"> -->
<!-- </el-table-column> -->
<el-table-column fixed="right" label="操作" align="center" width="220">
<el-table-column fixed="right" label="操作" align="center" >
<template slot-scope="scope">
<!-- <el-button @click="handleCloseImport(scope.row)"
v-if="scope.row.importCategory === 'processing'" type="text"
size="small">取消导入</el-button> -->
<!-- <el-button @click="handleCloseCheck(scope.row)" v-if="scope.row.importCategory === 'processing'" type="text" size="small">确认完成</el-button> -->
<el-button @click="handleDetail(scope.row)" type="text" size="small">查看</el-button>
<el-button @click="handleAdd(scope.row)" type="text" size="small">查看</el-button>
<el-button @click="handleDetail(scope.row)" type="text" size="small">删除</el-button>
</template>
</el-table-column>
@ -81,11 +81,11 @@
</div>
</div>
<div v-if="pageType == 'set'">
<exset ref="exportSetting" :list="exportList" @send-data="handleData" />
<exset ref="exportSetting" :list="exportList" :see="see" @send-data="handleData" />
</div>
<el-dialog :destroy-on-close="true" :modal="true" :visible.sync="showDialog" width="60%" top="5vh"
@close="handleClose" title="导出记录">
<Records v-if="showDialog" ref="RecordsForm" />
<Records v-if="showDialog" ref="RecordsForm" :recordList="recordList1" />
</el-dialog>
</div>
<!-- <div v-if="pageType == 'add'">
@ -108,6 +108,9 @@
export default {
data() {
return {
agencyStaffTableListData: [],
see:[],
type:"",
exportList: [],
showDialog: false,
SearchData: {
@ -144,6 +147,7 @@
value: 2
}
],
recordList1:[],
dicts: {
import_status: [],
@ -175,6 +179,7 @@
console.log(this.$store.state);
this.orgId = this.$store.state.user.agencyId;
console.log(this.orgId,"orgiD");
this.getAgencyStaffListData()
},
methods: {
handleData(data){
@ -191,7 +196,7 @@
pageNo: this.pageNo,
pageSize: this.pageSize,
createdTimeStart: this.createdTimeStart,
createdTimeEnd: this.createdTimeEndm,
createdTimeEnd: this.createdTimeEnd,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
@ -201,6 +206,8 @@
}
},
showAwoList(row){
this.recordList1=row
console.log(row);
this.showDialog=true
},
//
@ -246,6 +253,28 @@
// console.log(": ", error);
// }
// },
//
async getAgencyStaffListData () {
const url = "/data/aggregator/org/stafflist";
let params = {
orgId: this.orgId,
orgType: "agency",
pageNo: 1,
pageSize: 100,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.agencyStaffTableListData = data.staffList;
console.log(this.agencyStaffTableListData,"lkvxxciovjxlvj"
);
} else {
this.$message.error(msg);
}
},
binaryText(value) {
let text = "";
let foundItem = this.dicts.import_status.filter(
@ -263,7 +292,26 @@
},
//
async handleAdd() {
async handleAdd(row) {
if(row){
this.see=row
}else{
this.see=null
}
this.pageType="set"
},
//
async handleEdit(row) {
this.pageType = "edit";
this.taskId = row.taskId;
this.fileCode = row.fileCode;
this.processStatus = row.processStatus;
this.showDialog=true
// this.type=type
// console.log(row,type,"row");
this.pageType="set"
},

71
src/views/modules/shequzhili/timeOut/index.vue

@ -104,7 +104,7 @@
<!-- <template slot-scope="scope">
{{ scope.row.firstName + '-' + scope.row.secondName }}
</template>
</el-table-column> -->
</el-table-column> -->
<el-table-column prop="eventContent" label="事件描述" align="center" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="contactTime" label="联系来电人时限" align="center" :show-overflow-tooltip="true">
@ -162,7 +162,7 @@
</div>
</div>
</div>
<div v-if="pageType == 'dispose' || pageType == 'info' || pageType == 'assign' || pageType=='check'">
<div v-if="pageType == 'dispose' || pageType == 'info' || pageType == 'assign' || pageType == 'check'">
<event-info ref="eleEditForm" :pageType="pageType" :eventId="eventId" :eventDetailData="eventDetailData"
@handleClose="handleClose" @handleOk="handleOk" @dialogOk="handleEditSuccess" />
</div>
@ -173,7 +173,7 @@
:eventDetailData="eventDetailData"></Urging>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="sendTimeLimitMSM"> </el-button>
</span>
</el-dialog>
</div>
@ -223,7 +223,7 @@ export default {
agencyId: "",
ProcessingList: [
{
{
value: "1",
label: "未联系当事人",
},
@ -234,7 +234,7 @@ export default {
{
value: "3",
label: "办理中",
},
},
{
value: "4",
label: "已办结待审核",
@ -248,7 +248,7 @@ export default {
level: '',
optionsG: [],
sarr: [],
dialogVisible:false,
dialogVisible: false,
tableData: [
],
@ -276,7 +276,7 @@ export default {
formData: {
agencyId: "",
sourceType: "",
departId:'',
departId: '',
eventContent: "",
name: "",
mobile: "",
@ -288,9 +288,9 @@ export default {
firstIdList: [],
secondIdList: [],
workOrderNum: "",
limitStatus:"",
operationType:"",
action:0
limitStatus: "",
operationType: "",
action: 0
},
cateOptions: [],
eventTypeCheck: [],
@ -310,10 +310,10 @@ export default {
selVoiceUrl: "",
multipleSelection: [],
importLoading: false,
importType: "1"
importType: "1"
};
},
components:{Urging,eventInfo},
components: { Urging, eventInfo },
computed: {
maxTableHeight() {
const h = this.clientHeight - this.searchH - 275 + this.iframeHeight;
@ -419,7 +419,7 @@ export default {
this.$router.push({ name: 'jumin-huaxiang' });
this.$store.state.contentTabs = this.$store.state.contentTabs.map(item => {
if (item.name === "jumin-huaxiang") {
return {...item, title: name };
return { ...item, title: name };
}
return item;
});
@ -461,7 +461,7 @@ export default {
async handleAdd() {
this.pageType = "add";
},
async getDetail(row){
async getDetail(row) {
this.eventId = row.icEventId;
const url = "/governance/icEvent/detail";
const { data, code, msg } = await requestPost(url, {
@ -474,13 +474,13 @@ export default {
}
},
async handleWatch(row) {
await this.getDetail(row)
this.pageType = "info";
await this.getDetail(row)
this.pageType = "info";
},
async handleDispose(row) {
await this.getDetail(row)
this.dialogVisible=true;
async handleDispose(row) {
await this.getDetail(row)
this.dialogVisible = true;
},
//
async handleExportModule() {
@ -557,7 +557,7 @@ export default {
formData.append('code', ''); //
let url = '/governance/icEvent/importEvent'
if (this.importType == 2) {
url = '/governance/icEvent/importAwo'
url = '/governance/icEvent/importAwo'
}
console.log(url)
await this.$http
@ -647,11 +647,11 @@ export default {
if (this.eventTypeCheck) {
this.formData.secondIdList = this.eventTypeCheck
}
const { pageSize, pageNo, formData } = this;
// formData
let newFormData = { ...formData };
if(!this.formData.limitStatus){
if (!this.formData.limitStatus) {
newFormData.limitStatus = '3'
}
// agencyId
@ -732,8 +732,6 @@ export default {
return this.$message.error('网络错误')
})
},
getLastItem(list, vals, key) {
let LIST = list || [];
for (let item of LIST) {
@ -760,7 +758,7 @@ export default {
endTime: "",
limitStartTime: "",
limitEndTime: "",
operationType:'',
operationType: '',
status: "",
firstIdList: [],
secondIdList: [],
@ -784,9 +782,9 @@ export default {
});
}
},
showAwoList(row) {
this.$refs.awoList.open(row)
},
showAwoList(row) {
this.$refs.awoList.open(row)
},
handleChangeAgency(val) {
this.sarr = []
const map = new Map();
@ -798,6 +796,23 @@ export default {
this.level = this.sarr[this.sarr.length - 1].level
this.formData.departId = this.sarr[this.sarr.length - 1].agencyId
},
async sendTimeLimitMSM() {
const params = {
eventId: this.eventDetailData.icEventId,
agencyName: this.eventDetailData.agencyName,
deptId: this.eventDetailData.deptId,
timeLimit: !this.eventDetailData.limitStatus.startsWith("部") ?
this.eventDetailData.contactTime : this.eventDetailData.limitTime,
workOrderNum: this.eventDetailData.workOrderNum
}
this.dialogVisible = false
const { data, code, msg } = await requestPost('/governance/icEvent/sendTimeLimitSMS', params);
if (code === 0) {
this.$message.success("发送成功!");
} else {
this.$message.error("操作失败!");
}
}
},
};
</script>

Loading…
Cancel
Save