Commit 02df282b authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents e479fa53 6b202c33
This diff is collapsed.
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
"lodash": "^4.17.21", "lodash": "^4.17.21",
"moment": "^2.29.4", "moment": "^2.29.4",
"qs": "^6.10.3", "qs": "^6.10.3",
"v-viewer": "^1.6.4",
"vue": "^2.6.14", "vue": "^2.6.14",
"vue-highlightjs": "^1.3.3", "vue-highlightjs": "^1.3.3",
"vue-router": "^3.5.1", "vue-router": "^3.5.1",
......
...@@ -41,6 +41,10 @@ Vue.prototype.$codeMap = codeMap; ...@@ -41,6 +41,10 @@ Vue.prototype.$codeMap = codeMap;
Vue.prototype.$bus = new Vue(); Vue.prototype.$bus = new Vue();
Vue.config.productionTip = false; Vue.config.productionTip = false;
// 图片预约
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
Vue.use(Viewer);
new Vue({ new Vue({
router, router,
store, store,
......
...@@ -227,9 +227,9 @@ ...@@ -227,9 +227,9 @@
}, },
{ {
title: "所属部门", title: "所属部门",
dataIndex: "dept_name", dataIndex: "reply_dept",
align: 'center', align: 'center',
customRender: (text, record, index) => `${record.dept_name || '--'}` customRender: (text, record, index) => `${record.reply_dept || '--'}`
}, },
{ {
title: "操作", title: "操作",
...@@ -336,7 +336,7 @@ ...@@ -336,7 +336,7 @@
this.tHeader, this.tHeader,
this.filterVal, this.filterVal,
data, data,
"填单记录报表" + this.$moment().format("YYYYMMDDHHmmss") "办不成事报表" + this.$moment().format("YYYYMMDDHHmmss")
); );
this.btnLoading = false; this.btnLoading = false;
}, },
......
...@@ -79,28 +79,28 @@ ...@@ -79,28 +79,28 @@
v-if="text.status == 0" v-if="text.status == 0"
color="#108ee9" color="#108ee9"
> >
未签到 {{statusItem[text.status]}}
</a-tag> </a-tag>
<a-tag <a-tag
@click="openDetails(text.id)" @click="openDetails(text.id)"
v-else-if="text.status == 1" v-else-if="text.status == 1"
color="#2db7f5" color="#2db7f5"
> >
排队中 {{statusItem[text.status]}}
</a-tag> </a-tag>
<a-tag <a-tag
@click="openDetails(text.id)" @click="openDetails(text.id)"
v-else-if="text.status == 2" v-else-if="text.status == 2"
color="#f50" color="#f50"
> >
超时未取号 {{statusItem[text.status]}}
</a-tag> </a-tag>
<a-tag <a-tag
@click="openDetails(text.id)" @click="openDetails(text.id)"
v-else-if="text.status == 3" v-else-if="text.status == 3"
color="red" color="red"
> >
已取消 {{statusItem[text.status]}}
</a-tag> </a-tag>
</template> </template>
</a-table> </a-table>
......
...@@ -45,14 +45,14 @@ ...@@ -45,14 +45,14 @@
<div class="infoBox"> <div class="infoBox">
<span class="infoTitle imgBox">身份证人像面:</span> <span class="infoTitle imgBox">身份证人像面:</span>
<span class="infoContent"> <span class="infoContent">
<img v-if="userInfo.z_img" :src="userInfo.z_img" /> <thumbImage v-if="userInfo.z_img" :src="imgBase+'/'+userInfo.z_img" fileType="img" />
<span v-else>--</span> <span v-else>--</span>
</span> </span>
</div> </div>
<div class="infoBox"> <div class="infoBox">
<span class="infoTitle imgBox">身份证国徽面:</span> <span class="infoTitle imgBox">身份证国徽面:</span>
<span class="infoContent"> <span class="infoContent">
<img v-if="userInfo.b_img" :src="userInfo.z_img" /> <thumbImage v-if="userInfo.b_img" :src="imgBase+'/'+userInfo.b_img" fileType="img" />
<span v-else>--</span> <span v-else>--</span>
</span> </span>
</div> </div>
...@@ -92,8 +92,17 @@ ...@@ -92,8 +92,17 @@
</template> </template>
<script> <script>
import thumbImage from "@/components/image/thumbImage.vue"
export default { export default {
name: "FormDetails", name: "FormDetails",
components:{
thumbImage
},
data(){
return{
imgBase:process.env.VUE_APP_API_PHP_URL
}
},
props: { props: {
visible: { visible: {
type: Boolean, type: Boolean,
......
...@@ -161,7 +161,7 @@ export default { ...@@ -161,7 +161,7 @@ export default {
{ {
title: "是否实名认证", title: "是否实名认证",
align: "center", align: "center",
customRender: (text) => "--", customRender: (text) => text.idcard_IDCardNo?"实名认证":"未实名认证",
// customRender: (text) => text.create_time || "--", // customRender: (text) => text.create_time || "--",
}, },
{ {
......
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
<img v-for="(item,index) in fromData.url" :key="index" <img v-for="(item,index) in fromData.url" :key="index"
:src="process.env.VUE_APP_API_BASE_URL+item"> :src="process.env.VUE_APP_API_BASE_URL+item">
</div> </div>
<div v-else>--</div>
</div> </div>
<div class="infoDetail"> <div class="infoDetail">
<div class="card"> <div class="card">
...@@ -81,7 +82,7 @@ ...@@ -81,7 +82,7 @@
<div class="cardTitle"> <div class="cardTitle">
回复内容<span>(必填)</span> 回复内容<span>(必填)</span>
</div> </div>
<div class="cardContent"></div> <div class="cardContent">{{ fromData.recontent }}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -90,9 +91,9 @@ ...@@ -90,9 +91,9 @@
position: 'absolute', right: 0, bottom: 0, width: '100%', borderTop: '1px solid #e9e9e9', position: 'absolute', right: 0, bottom: 0, width: '100%', borderTop: '1px solid #e9e9e9',
padding: '10px 16px', background: '#fff', textAlign: 'right', zIndex: 1, padding: '10px 16px', background: '#fff', textAlign: 'right', zIndex: 1,
}"> }">
<a-button type="primary" @click="onClose"> <!-- <a-button type="primary" @click="onClose">
确定 确定
</a-button> </a-button> -->
<a-button :style="{ marginRight: '8px' }" @click="onClose"> <a-button :style="{ marginRight: '8px' }" @click="onClose">
取消 取消
</a-button> </a-button>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="callRecord-Container"> <div class="callRecord-Container">
<div class="header_box"> <div class="header_box">
<div> <div>
<a-button type="success" @click="toexportTable"> <a-button type="success" @click="handleExportTable" :loading="btnLoading">
<span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span> <span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span>
</a-button> </a-button>
<b>建议次数:<i>{{JYCount}}</i></b> <b>建议次数:<i>{{JYCount}}</i></b>
...@@ -57,8 +57,38 @@ ...@@ -57,8 +57,38 @@
<script> <script>
import table from "@/mixins/table"; import table from "@/mixins/table";
import FormDetails from "./components/FormDetails.vue"; import FormDetails from "./components/FormDetails.vue";
import {getWLLZList,getWLLZCount,getWLLZInfo} from "@/api/dataAdmin" import {getWLLZList,getWLLZCount,getWLLZInfo} from "@/api/dataAdmin"
import {export2Excel} from "@/utils/js/exportExcel";
const tHeader = [
// 导出的表头名信息
"建议标题",
"建议类型",
"真实姓名",
"联系电话",
"是否公开",
"是否保密",
"提交日期",
"是否回复",
"回复人",
"回复时间",
"所属部门",
]
const filterVal = [
// 导出的表头字段名,需要导出表格字段名
"title",
"type",
"upname",
"upphone",
"valid",
"secrecy",
"create_time",
"status",
"reply_name",
"update_time",
"deptName",
]
export default { export default {
mixins: [table], mixins: [table],
name: "networkForm", name: "networkForm",
...@@ -139,7 +169,7 @@ export default { ...@@ -139,7 +169,7 @@ export default {
{ {
title: "所属部门", title: "所属部门",
align: "center", align: "center",
dataIndex: "dateName", dataIndex: "deptName",
}, },
{ {
title: "操作", title: "操作",
...@@ -159,6 +189,7 @@ export default { ...@@ -159,6 +189,7 @@ export default {
timeList:[],// 时间 timeList:[],// 时间
JYCount:0,//建议次数 JYCount:0,//建议次数
HFCount:0,//回复次数 HFCount:0,//回复次数
btnLoading: false,
}; };
}, },
components: { components: {
...@@ -186,66 +217,64 @@ export default { ...@@ -186,66 +217,64 @@ export default {
this.isReply = false this.isReply = false
this.togetWLLZCount() this.togetWLLZCount()
}, },
// 重写导出 // 导出
toexportTable() { async handleExportTable() {
let tableData = []; this.btnLoading = true;
if (this.tableSelectedRows.length == 0) { let obj = {
getWLLZList({ 1: "部门建议",
page:1, 2: "办事建议",
size:-1, 3: "网站建议",
4: "我要就错",
5: "我要投诉",
6: "我要咨询",
};
let data = [];
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
// 深度克隆避免影响页面表格展示
data = this.$_.cloneDeep(this.tableSelectedRows);
data.forEach((item) => {
Object.keys(obj).forEach((keys) => {
if (item.type == keys) {
item.type = obj[keys];
}
});
item.valid == 1?item.valid = "":item.valid = ''
item.secrecy == 1?item.secrecy = "":item.secrecy = ''
item.status == 1?item.status = "":item.status = ''
});
} else {
let datas = this.$_.cloneDeep(
await getWLLZList({
page: 1,
size: -1,
status:this.isReply?0:"", status:this.isReply?0:"",
type:this.nowType, type:this.nowType,
device:this.nowDevice, device:this.nowDevice,
keyword:this.searchName, keyword:this.searchName,
time:this.timeList, time:this.timeList,
}).then((res)=>{
const {code,data} = res;
if(code==1){
// 改变输出内容
data.data.forEach(item => {
item.type = item.type==1?'部门建议':item.type==2?'办事建议':item.type==3?'网站建议':item.type==4?'我要就错':item.type==5?'我要投诉':'我要咨询';
item.valid = item.valid==1?'':'';
item.secrecy = item.secrecy==1?'':'';
item.status = item.status==1?'':'';
});
tableData = JSON.parse(JSON.stringify(data.data));
let tableColumns = JSON.parse(JSON.stringify(this.tableHeaders));
let newTableData = tableData.map(item => {
let obj = {};
for (let key in item) {
obj[key] = item[key];
}
return obj;
}) })
let exprotExcelName = `${this.nowDay} / ${this.nowTime} / ${this.$route['meta']['title'] || '报表信息统计'}`; );
this.exportExcel(tableColumns, newTableData, exprotExcelName); data = datas.data.data
if (!data.length) return;
for (let item of data) {
Object.keys(obj).forEach((key) => {
if (item.type == key) {
item.type = obj[key];
} }
})
} else {
tableData = JSON.parse(JSON.stringify(this.tableSelectedRows));
tableData.forEach(item => {
item.type = item.type==1?'部门建议':item.type==2?'办事建议':item.type==3?'网站建议':item.type==4?'我要就错':item.type==5?'我要投诉':'我要咨询';
item.valid = item.valid==1?'':'';
item.secrecy = item.secrecy==1?'':'';
item.status = item.status==1?'':'';
}); });
item.valid == 1?item.valid = "":item.valid = ''
let tableColumns = JSON.parse(JSON.stringify(this.tableHeaders)); item.secrecy == 1?item.secrecy = "":item.secrecy = ''
let newTableData = tableData.map(item => { item.status == 1?item.status = "":item.status = ''
let obj = {};
for (let key in item) {
obj[key] = item[key];
} }
return obj;
})
let exprotExcelName = `${this.nowDay} / ${this.nowTime} / ${this.$route['meta']['title'] || '报表信息统计'}`;
this.exportExcel(tableColumns, newTableData, exprotExcelName);
} }
export2Excel(
tHeader,
filterVal,
data,
"网络理政报表" + this.$moment().format("YYYYMMDDHHmmss")
);
this.btnLoading = false;
}, },
changeReply(e){ changeReply(e){
this.isReply = e.target.checked this.isReply = e.target.checked
}, },
...@@ -294,7 +323,6 @@ export default { ...@@ -294,7 +323,6 @@ export default {
time:this.timeList, time:this.timeList,
} }
getWLLZList(params).then((res)=>{ getWLLZList(params).then((res)=>{
console.log(res);
const {code,data} = res; const {code,data} = res;
if(code==1){ if(code==1){
this.tableSourceData = data.data this.tableSourceData = data.data
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment