96ea988b by renchao@pashanhoo.com

Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev

2 parents 2d3f7fe3 ac1b414f
1 /*
2 * @Description: 信息备案
3 * @Autor:
4 * @LastEditTime: 2023-09-11 11:25:22
5 */
6
7 import request from '@/utils/request'
8 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
9
10 /**
11 * @description: cstj
12 * @author:
13 * @param params
14 */
15 export function cstj (params) {
16 return request({
17 url: SERVER.SERVERAPI + '/rest/tjfx/xn/cstj?startAt='+params.startAt + '&endAt=' + params.endAt,
18 method: 'post'
19 })
20 }
21
22 /**
23 * @description: exportCstj
24 * @author:
25 * @param params
26 */
27 export function exportCstj (params) {
28 return request({
29 url: SERVER.SERVERAPI + '/rest/tjfx/xn/exportCstj?startAt='+params.startAt + '&endAt=' + params.endAt,
30 method: 'post',
31 responseType: 'blob'
32 })
33 }
34
35 /**
36 * @description: tjtj
37 * @author:
38 * @param data
39 */
40 export function tjtj (data) {
41 return request({
42 url: SERVER.SERVERAPI + '/rest/tjfx/xn/tjtj',
43 method: 'post',
44 data
45 })
46 }
47
48 /**
49 * @description: exportTjtj
50 * @author:
51 * @param data
52 */
53 export function exportTjtj (data) {
54 return request({
55 url: SERVER.SERVERAPI + '/rest/tjfx/xn/exportTjtj',
56 method: 'post',
57 data,
58 responseType: 'blob'
59 })
60 }
61
62 /**
63 * @description: getDjlxStatistic
64 * @author:
65 * @param data
66 */
67 export function getDjlxStatistic (data) {
68 return request({
69 url: SERVER.SERVERAPI + '/rest/tjfx/djqkfx/getDjlxStatistic',
70 method: 'post',
71 data
72 })
73 }
74
75 /**
76 * @description: getPrintBdcqzStatistic
77 * @author:
78 * @param data
79 */
80 export function getPrintBdcqzStatistic (data) {
81 return request({
82 url: SERVER.SERVERAPI + '/rest/tjfx/djqkfx/getPrintBdcqzStatistic',
83 method: 'post',
84 data
85 })
86 }
87
88 /**
89 * @description: getSlryStatistic
90 * @author:
91 * @param data
92 */
93 export function getSlryStatistic (data) {
94 return request({
95 url: SERVER.SERVERAPI + '/rest/tjfx/djqkfx/getSlryStatistic',
96 method: 'post',
97 data
98 })
99 }
100
101 /**
102 * @description: getAcceptMonthStatistic
103 * @author:
104 * @param data
105 */
106 export function getAcceptMonthStatistic (data) {
107 return request({
108 url: SERVER.SERVERAPI + '/rest/tjfx/djqkfx/getAcceptMonthStatistic',
109 method: 'post',
110 data
111 })
112 }
113
114 /**
115 * @description: getAcceptDayStatistic
116 * @author:
117 * @param data
118 */
119 export function getAcceptDayStatistic (data) {
120 return request({
121 url: SERVER.SERVERAPI + '/rest/tjfx/djqkfx/getAcceptDayStatistic',
122 method: 'post',
123 data
124 })
125 }
126
127 /**
128 * @description: getAcceptAreaStatistic
129 * @author:
130 * @param data
131 */
132 export function getAcceptAreaStatistic (data) {
133 return request({
134 url: SERVER.SERVERAPI + '/rest/tjfx/djqkfx/getAcceptAreaStatistic',
135 method: 'post',
136 data
137 })
138 }
...@@ -86,6 +86,7 @@ ...@@ -86,6 +86,7 @@
86 </template> 86 </template>
87 <script> 87 <script>
88 import * as echarts from "echarts"; 88 import * as echarts from "echarts";
89 import { getDjlxStatistic } from "@/api/tjfx.js";
89 import { mapGetters } from "vuex"; 90 import { mapGetters } from "vuex";
90 import { getdatamonth } from "@/utils/util"; 91 import { getdatamonth } from "@/utils/util";
91 export default { 92 export default {
...@@ -97,27 +98,51 @@ export default { ...@@ -97,27 +98,51 @@ export default {
97 return { 98 return {
98 queryForm: { 99 queryForm: {
99 sj: [], 100 sj: [],
101 qy: ''
100 }, 102 },
101 tableList: [ 103 tableList: [
102 { name: "首次登记", value: "2" }, 104 // { name: "首次登记", value: "2" },
103 { name: "变更登记", value: "12" }, 105 // { name: "变更登记", value: "12" },
104 { name: "抵押登记", value: "23" }, 106 // { name: "抵押登记", value: "23" },
105 { name: "转移登记", value: "33" }, 107 // { name: "转移登记", value: "33" },
106 { name: "预告登记", value: "13" }, 108 // { name: "预告登记", value: "13" },
107 { name: "注销登记", value: "3" }, 109 // { name: "注销登记", value: "3" },
108 { name: "查封登记", value: "4" }, 110 // { name: "查封登记", value: "4" },
109 { name: "其他登记", value: "26" }, 111 // { name: "其他登记", value: "26" },
110 ], 112 ],
111 }; 113 };
112 }, 114 },
113 mounted() { 115 mounted() {
114 this.setdata(); 116 this.setdata();
115 // 创建一个 ECharts 实例
116 this.chart = echarts.init(this.$refs.chart);
117 // 在 ECharts 实例中配置图表
118 this.chart.setOption(this.getOption());
119 }, 117 },
120 methods: { 118 methods: {
119 getDjlxStatistic() {
120 getDjlxStatistic(
121 {
122 startDate: this.queryForm.sj[0],
123 endDate: this.queryForm.sj[1],
124 qxdm: this.queryForm.qy
125 }
126 ).then(res => {
127 if (res.code === 200) {
128 this.tableList = []
129 let dicList = this.dictData['A21']
130 res.result.forEach(it=>{
131 const matchingObject = dicList.find(obj => obj.dcode === it.DJLX);
132 const djlxmc = matchingObject != null ? matchingObject.dname : it.DJLX;
133 let obj = {
134 name: djlxmc,
135 value: it.SJCOUNT
136 }
137 this.tableList.push(obj)
138 })
139 // 创建一个 ECharts 实例
140 this.chart = echarts.init(this.$refs.chart);
141 // 在 ECharts 实例中配置图表
142 this.chart.setOption(this.getOption());
143 }
144 })
145 },
121 getOption() { 146 getOption() {
122 return { 147 return {
123 title: { 148 title: {
...@@ -171,10 +196,12 @@ export default { ...@@ -171,10 +196,12 @@ export default {
171 setdata() { 196 setdata() {
172 this.queryForm.sj = getdatamonth(); 197 this.queryForm.sj = getdatamonth();
173 console.log("this.queryForm", this.queryForm); 198 console.log("this.queryForm", this.queryForm);
199 this.getDjlxStatistic()
174 }, 200 },
175 201
176 handleSearch() { 202 handleSearch() {
177 console.log(" this.queryForm", this.queryForm); 203 console.log(" this.queryForm", this.queryForm);
204 this.getDjlxStatistic()
178 }, 205 },
179 }, 206 },
180 }; 207 };
......
...@@ -68,28 +68,56 @@ ...@@ -68,28 +68,56 @@
68 <script> 68 <script>
69 import * as echarts from "echarts"; 69 import * as echarts from "echarts";
70 import { getdatamonth } from "@/utils/util"; 70 import { getdatamonth } from "@/utils/util";
71 import { getAcceptAreaStatistic } from "@/api/tjfx.js";
72 import {mapGetters} from "vuex";
71 export default { 73 export default {
72 components: {}, 74 components: {},
75 computed: {
76 ...mapGetters(["dictData"]),
77 },
73 data() { 78 data() {
74 return { 79 return {
75 queryForm: {}, 80 queryForm: {},
76 tableList: [ 81 tableList: [
77 { name: "浐灞", value: "2" }, 82 // { name: "浐灞", value: "2" },
78 { name: "长安", value: "12" }, 83 // { name: "长安", value: "12" },
79 { name: "莲湖", value: "23" }, 84 // { name: "莲湖", value: "23" },
80 { name: "高新", value: "33" }, 85 // { name: "高新", value: "33" },
81 { name: "高新", value: "33" }, 86 // { name: "高新", value: "33" },
82 ], 87 ],
83 }; 88 };
84 }, 89 },
85 mounted() { 90 mounted() {
86 this.setdata(); 91 this.setdata();
87 // 创建一个 ECharts 实例
88 this.chart = echarts.init(this.$refs.chart);
89 // 在 ECharts 实例中配置图表
90 this.chart.setOption(this.getOption());
91 }, 92 },
92 methods: { 93 methods: {
94
95 getAcceptAreaStatistic() {
96 getAcceptAreaStatistic({
97 startDate: this.queryForm.sj[0],
98 endDate: this.queryForm.sj[1],
99 qxdm: this.queryForm.qy
100 }).then(res => {
101 if (res.code === 200) {
102 this.tableList = []
103 let dicList = this.dictData['A20']
104 res.result.forEach(it=>{
105 const matchingObject = dicList.find(obj => obj.dcode === it.QXDM);
106 const qxmc = matchingObject != null ? matchingObject.dname : it.QXDM;
107 let obj = {
108 name: qxmc,
109 value: it.SJCOUNT
110 }
111 this.tableList.push(obj)
112 })
113 // 创建一个 ECharts 实例
114 this.chart = echarts.init(this.$refs.chart);
115 // 在 ECharts 实例中配置图表
116 this.chart.setOption(this.getOption());
117 }
118 })
119 },
120
93 getOption() { 121 getOption() {
94 return { 122 return {
95 title: { 123 title: {
...@@ -143,9 +171,11 @@ export default { ...@@ -143,9 +171,11 @@ export default {
143 setdata() { 171 setdata() {
144 this.queryForm.sj = getdatamonth(); 172 this.queryForm.sj = getdatamonth();
145 console.log("this.queryForm", this.queryForm); 173 console.log("this.queryForm", this.queryForm);
174 this.getAcceptAreaStatistic()
146 }, 175 },
147 handleSearch() { 176 handleSearch() {
148 console.log(" this.queryForm", this.queryForm); 177 console.log(" this.queryForm", this.queryForm);
178 this.getAcceptAreaStatistic()
149 }, 179 },
150 }, 180 },
151 }; 181 };
......
...@@ -87,6 +87,7 @@ ...@@ -87,6 +87,7 @@
87 import * as echarts from "echarts"; 87 import * as echarts from "echarts";
88 import { mapGetters } from "vuex"; 88 import { mapGetters } from "vuex";
89 import { getdatamonth } from "@/utils/util"; 89 import { getdatamonth } from "@/utils/util";
90 import { getSlryStatistic } from "@/api/tjfx.js";
90 export default { 91 export default {
91 components: {}, 92 components: {},
92 computed: { 93 computed: {
...@@ -94,22 +95,46 @@ export default { ...@@ -94,22 +95,46 @@ export default {
94 }, 95 },
95 data() { 96 data() {
96 return { 97 return {
97 queryForm: {}, 98 queryForm: {
99 qy: ''
100 },
98 tableList: [ 101 tableList: [
99 { name: "小红", value: "2" }, 102 // { name: "小红", value: "2" },
100 { name: "小张", value: "12" }, 103 // { name: "小张", value: "12" },
101 { name: "小王", value: "23" }, 104 // { name: "小王", value: "23" },
102 ], 105 ],
103 }; 106 };
104 }, 107 },
105 mounted() { 108 mounted() {
106 this.setdata(); 109 this.setdata();
107 // 创建一个 ECharts 实例
108 this.chart = echarts.init(this.$refs.chart);
109 // 在 ECharts 实例中配置图表
110 this.chart.setOption(this.getOption());
111 }, 110 },
112 methods: { 111 methods: {
112 getSlryStatistic() {
113 getSlryStatistic({
114 startDate: this.queryForm.sj[0],
115 endDate: this.queryForm.sj[1],
116 qxdm: this.queryForm.qy
117 }).then(res => {
118 if (res.code === 200) {
119 this.tableList = []
120 res.result.forEach(it=>{
121 let obj = {
122 name: it.SLRY,
123 value: it.SJCOUNT
124 }
125 this.tableList.push(obj)
126 })
127 // 创建一个 ECharts 实例
128 this.chart = echarts.init(this.$refs.chart);
129 // 在 ECharts 实例中配置图表
130 this.chart.setOption(this.getOption());
131 // 创建一个 ECharts 实例
132 this.chart = echarts.init(this.$refs.chart);
133 // 在 ECharts 实例中配置图表
134 this.chart.setOption(this.getOption());
135 }
136 })
137 },
113 getOption() { 138 getOption() {
114 return { 139 return {
115 title: { 140 title: {
...@@ -163,9 +188,11 @@ export default { ...@@ -163,9 +188,11 @@ export default {
163 setdata() { 188 setdata() {
164 this.queryForm.sj = getdatamonth(); 189 this.queryForm.sj = getdatamonth();
165 console.log("this.queryForm", this.queryForm); 190 console.log("this.queryForm", this.queryForm);
191 this.getSlryStatistic()
166 }, 192 },
167 handleSearch() { 193 handleSearch() {
168 console.log(" this.queryForm", this.queryForm); 194 console.log(" this.queryForm", this.queryForm);
195 this.getSlryStatistic()
169 }, 196 },
170 }, 197 },
171 }; 198 };
......
...@@ -56,8 +56,27 @@ ...@@ -56,8 +56,27 @@
56 </div> 56 </div>
57 </template> 57 </template>
58 <script> 58 <script>
59 function getFirstAndLastDayOfMonth(dateString) {
60 const date = new Date(dateString);
61 const firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
62 const lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
63
64 // 将日期格式化为 "yyyy-MM-dd"
65 const formatDate = (d) => {
66 const year = d.getFullYear();
67 const month = String(d.getMonth() + 1).padStart(2, '0');
68 const day = String(d.getDate()).padStart(2, '0');
69 return `${year}-${month}-${day}`;
70 };
71
72 return {
73 firstDay: formatDate(firstDay),
74 lastDay: formatDate(lastDay)
75 };
76 }
59 import * as echarts from "echarts"; 77 import * as echarts from "echarts";
60 import { mapGetters } from "vuex"; 78 import { mapGetters } from "vuex";
79 import { getAcceptDayStatistic } from "@/api/tjfx.js";
61 export default { 80 export default {
62 components: {}, 81 components: {},
63 computed: { 82 computed: {
...@@ -66,23 +85,11 @@ export default { ...@@ -66,23 +85,11 @@ export default {
66 data() { 85 data() {
67 return { 86 return {
68 queryForm: { 87 queryForm: {
69 monthValue:"" 88 monthValue:"",
89 qy: ''
70 }, 90 },
71 datas: [12, 23, 15, 28, 37, 11, 13, 32, 34, 56, 12, 15], 91 datas: [],
72 datatime: [ 92 datatime: [],
73 "1日",
74 "2日",
75 "4日",
76 "5日",
77 "7日",
78 "10日",
79 "14日",
80 "15日",
81 "17日",
82 "19日",
83 "20日",
84 "21日",
85 ],
86 93
87 }; 94 };
88 }, 95 },
...@@ -101,16 +108,13 @@ export default { ...@@ -101,16 +108,13 @@ export default {
101 console.log("this.queryForm",this.queryForm); 108 console.log("this.queryForm",this.queryForm);
102 }, 109 },
103 mounted() { 110 mounted() {
104 // 创建一个 ECharts 实例 111 this.handleSearch()
105 this.chart = echarts.init(this.$refs.chart);
106 // 在 ECharts 实例中配置图表
107 this.chart.setOption(this.getOption());
108 }, 112 },
109 methods: { 113 methods: {
110 getOption() { 114 getOption() {
111 return { 115 return {
112 title: { 116 title: {
113 text: "2023年11月收件情况 ", // 主标题名称 117 text: "收件情况统计(月) ", // 主标题名称
114 118
115 textStyle: { 119 textStyle: {
116 //主标题文本设置 120 //主标题文本设置
...@@ -168,7 +172,20 @@ export default { ...@@ -168,7 +172,20 @@ export default {
168 }; 172 };
169 }, 173 },
170 174
171 handleSearch() {}, 175 handleSearch() {
176 const { firstDay, lastDay } = getFirstAndLastDayOfMonth(this.queryForm.monthValue);
177 getAcceptDayStatistic({startDate: firstDay, endDate: lastDay, qxdm: this.queryForm.qy}).then(res => {
178 if (res.code === 200) {
179 let dataSource = res.result
180 this.datas = dataSource.map(item => item.SJCOUNT)
181 this.datatime = dataSource.map(item => item.SJDAY)
182 // 创建一个 ECharts 实例
183 this.chart = echarts.init(this.$refs.chart);
184 // 在 ECharts 实例中配置图表
185 this.chart.setOption(this.getOption());
186 }
187 })
188 },
172 }, 189 },
173 }; 190 };
174 </script> 191 </script>
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
14 class="width100" 14 class="width100"
15 v-model="queryForm.sj" 15 v-model="queryForm.sj"
16 type="year" 16 type="year"
17 @change="chooseDateRange"
17 placeholder="选择年" 18 placeholder="选择年"
18 > 19 >
19 </el-date-picker> 20 </el-date-picker>
...@@ -58,7 +59,7 @@ ...@@ -58,7 +59,7 @@
58 <script> 59 <script>
59 import * as echarts from "echarts"; 60 import * as echarts from "echarts";
60 import { mapGetters } from "vuex"; 61 import { mapGetters } from "vuex";
61 62 import { getAcceptMonthStatistic } from "@/api/tjfx.js";
62 export default { 63 export default {
63 components: {}, 64 components: {},
64 computed: { 65 computed: {
...@@ -67,50 +68,44 @@ export default { ...@@ -67,50 +68,44 @@ export default {
67 data() { 68 data() {
68 return { 69 return {
69 queryForm: { 70 queryForm: {
70 sj:"" 71 sj:"",
72 year: "",
73 qy: ''
71 }, 74 },
75 datetime: [],
76 datas: []
72 }; 77 };
73 }, 78 },
74 created() { 79 created() {
75 var tempDate = new Date(); 80 var tempDate = new Date();
81 this.queryForm.sj = tempDate
76 var year = tempDate.getFullYear(); 82 var year = tempDate.getFullYear();
77 console.log("year", year); 83 console.log("year", year);
78 // 默认当月 84 // 默认当月
79 85
80 this.$set(this.queryForm, "sj", year.toString()); 86 this.$set(this.queryForm, "year", year.toString());
81 console.log("this.queryForm",this.queryForm); 87 console.log("this.queryForm",this.queryForm);
82 }, 88 },
83 mounted() { 89 mounted() {
84 // 创建一个 ECharts 实例 90 this.handleSearch()
85 this.chart = echarts.init(this.$refs.chart);
86 // 在 ECharts 实例中配置图表
87 this.chart.setOption(this.getOption());
88 }, 91 },
89 methods: { 92 methods: {
93 chooseDateRange() {
94 var year = this.queryForm.sj.getFullYear();
95 this.$set(this.queryForm, "year", year.toString());
96 this.handleSearch()
97 },
90 getOption() { 98 getOption() {
91 return { 99 return {
92 xAxis: { 100 xAxis: {
93 type: "category", 101 type: "category",
94 data: [ 102 data: this.datatime,
95 "1月",
96 "2月",
97 "3月",
98 "4月",
99 "5月",
100 "6月",
101 "7月",
102 "8月",
103 "9月",
104 "10月",
105 "11月",
106 "12月",
107 ],
108 }, 103 },
109 yAxis: { 104 yAxis: {
110 type: "value", 105 type: "value",
111 }, 106 },
112 title: { 107 title: {
113 text: "2023年收件情况 ", // 主标题名称 108 text: "收件情况统计(年) ", // 主标题名称
114 109
115 textStyle: { 110 textStyle: {
116 //主标题文本设置 111 //主标题文本设置
...@@ -149,7 +144,7 @@ export default { ...@@ -149,7 +144,7 @@ export default {
149 }, 144 },
150 series: [ 145 series: [
151 { 146 {
152 data: [38, 42, 50, 157, 40, 45, 60, 140, 36, 47, 54, 143], 147 data: this.datas,
153 barWidth: 40, 148 barWidth: 40,
154 type: "bar", 149 type: "bar",
155 }, 150 },
...@@ -157,7 +152,22 @@ export default { ...@@ -157,7 +152,22 @@ export default {
157 }; 152 };
158 }, 153 },
159 154
160 handleSearch() {}, 155 handleSearch() {
156 console.log(this.queryForm)
157 let startAt = this.queryForm.year + '-01-01'
158 let endAt = this.queryForm.year + '-12-31'
159 getAcceptMonthStatistic({startDate: startAt, endDate: endAt, qxdm: this.queryForm.qy}).then(res => {
160 if (res.code === 200) {
161 let dataSource = res.result
162 this.datas = dataSource.map(item => item.SJCOUNT)
163 this.datatime = dataSource.map(item => item.SJMONTH)
164 // 创建一个 ECharts 实例
165 this.chart = echarts.init(this.$refs.chart);
166 // 在 ECharts 实例中配置图表
167 this.chart.setOption(this.getOption());
168 }
169 })
170 },
161 }, 171 },
162 }; 172 };
163 </script> 173 </script>
......
...@@ -84,6 +84,7 @@ ...@@ -84,6 +84,7 @@
84 </div> 84 </div>
85 </template> 85 </template>
86 <script> 86 <script>
87 import { getPrintBdcqzStatistic } from "@/api/tjfx.js";
87 import * as echarts from "echarts"; 88 import * as echarts from "echarts";
88 import { mapGetters } from "vuex"; 89 import { mapGetters } from "vuex";
89 import { getdatamonth } from "@/utils/util"; 90 import { getdatamonth } from "@/utils/util";
...@@ -94,7 +95,9 @@ export default { ...@@ -94,7 +95,9 @@ export default {
94 }, 95 },
95 data() { 96 data() {
96 return { 97 return {
97 queryForm: {}, 98 queryForm: {
99 qy: ''
100 },
98 tableList: [ 101 tableList: [
99 { name: "单一版不动产权证书", value: "459" }, 102 { name: "单一版不动产权证书", value: "459" },
100 { name: "不动产登记证明", value: "164" }, 103 { name: "不动产登记证明", value: "164" },
...@@ -110,6 +113,48 @@ export default { ...@@ -110,6 +113,48 @@ export default {
110 this.chart.setOption(this.getOption()); 113 this.chart.setOption(this.getOption());
111 }, 114 },
112 methods: { 115 methods: {
116 getPrintBdcqzStatistic() {
117 getPrintBdcqzStatistic({
118 startDate: this.queryForm.sj[0],
119 endDate: this.queryForm.sj[1],
120 qxdm: this.queryForm.qy
121 }).then(res => {
122 if (res.code === 200) {
123 this.tableList = []
124 res.result.forEach(it=>{
125 let obj = {
126 name: it.BDCQZLX == '1' ? '单一版不动产权证书' : '不动产登记证明',
127 ky: it.BDCQZLX,
128 value: it.SJCOUNT
129 }
130 this.tableList.push(obj)
131 })
132 const hasBdclx1 = this.tableList.some(item => item.ky === '1');
133 if (!hasBdclx1) {
134 let obj1 = {
135 name: '单一版不动产权证书',
136 ky: '1',
137 value: 0
138 }
139 this.tableList.push(obj1)
140 }
141 const hasBdclx2 = this.tableList.some(item => item.ky === '2');
142 if (!hasBdclx2) {
143 let obj2 = {
144 name: '不动产登记证明',
145 ky: '2',
146 value: 0
147 }
148 this.tableList.push(obj2)
149 }
150
151 // 创建一个 ECharts 实例
152 this.chart = echarts.init(this.$refs.chart);
153 // 在 ECharts 实例中配置图表
154 this.chart.setOption(this.getOption());
155 }
156 })
157 },
113 getOption() { 158 getOption() {
114 return { 159 return {
115 title: { 160 title: {
...@@ -163,9 +208,11 @@ export default { ...@@ -163,9 +208,11 @@ export default {
163 setdata() { 208 setdata() {
164 this.queryForm.sj = getdatamonth(); 209 this.queryForm.sj = getdatamonth();
165 console.log("this.queryForm", this.queryForm); 210 console.log("this.queryForm", this.queryForm);
211 this.getPrintBdcqzStatistic()
166 }, 212 },
167 handleSearch() { 213 handleSearch() {
168 console.log(" this.queryForm", this.queryForm); 214 console.log(" this.queryForm", this.queryForm);
215 this.getPrintBdcqzStatistic()
169 }, 216 },
170 }, 217 },
171 }; 218 };
......
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
50 </template> 50 </template>
51 <script> 51 <script>
52 import * as echarts from "echarts"; 52 import * as echarts from "echarts";
53 import {cstj, exportCstj} from "@/api/tjfx.js";
53 import XLSX from "xlsx"; 54 import XLSX from "xlsx";
54 export default { 55 export default {
55 components: {}, 56 components: {},
...@@ -69,50 +70,62 @@ export default { ...@@ -69,50 +70,62 @@ export default {
69 chooseIndex: 0, // 日期快捷选择项索引 70 chooseIndex: 0, // 日期快捷选择项索引
70 dateRange: [], // 自定义列表 - 日期范围 71 dateRange: [], // 自定义列表 - 日期范围
71 queryForm: {}, 72 queryForm: {},
72 data1: [12, 10, 15, 12, 15, 19, 15], 73 data1: [],
73 data2: [1, 2, 2, 3, 2, 3, 2], 74 data2: [],
74 data3: [], 75 data3: [],
76 selectDate : {
77 startAt:'2020-01-03 02:57:57',
78 endAt:'2025-01-03 02:57:57'
79 },
75 xAxisData: [ 80 xAxisData: [
76 "赵龙龙", 81
77 "刘刚",
78 "任启亮",
79 "梁亚博",
80 "李含",
81 "周路",
82 ], 82 ],
83 }; 83 };
84 }, 84 },
85 mounted() { 85 mounted() {
86 this.setdata(); 86 this.setdata();
87 // 创建一个 ECharts 实例 87
88 this.chart = echarts.init(this.$refs.chart);
89 // 在 ECharts 实例中配置图表
90 this.chart.setOption(this.getOption());
91 this.chooseDateQuick(0);
92 }, 88 },
93 methods: { 89 methods: {
90
91 cstj () {
92 cstj(this.selectDate).then(res => {
93 if (res.code == 200) {
94 let dataSource = res.result;
95 if (dataSource != null) {
96 this.xAxisData = dataSource.map(item => item.assignee)
97 this.data1 = dataSource.map(item => item.total)
98 this.data2 = dataSource.map(item => item.count)
99 this.data3 = dataSource.map(item => item.cumulativeTimeout)
100 }
101 console.log(this.xAxisData)
102 console.log(this.data1)
103 console.log(this.data2)
104 console.log(this.data3)
105 // 创建一个 ECharts 实例
106 this.chart = echarts.init(this.$refs.chart);
107 // 在 ECharts 实例中配置图表
108 this.chart.setOption(this.getOption());
109 }
110 })
111 },
112
94 setdata() { 113 setdata() {
95 for (let i = 0; i < this.data1.length; i++) { 114 this.chooseDateQuick(7)
96 let sum = (this.data2[i] / this.data1[i]) * 100; 115 this.cstj()
97 this.data3.push(Number(sum).toFixed(0));
98 }
99 }, 116 },
100 // 导出 117 // 导出
101 derive() { 118 derive() {
102 this.exdata = [["受理人员", "收件数", "退件数", "推荐率"]]; 119 exportCstj(this.selectDate).then(res => {
103 this.xAxisData.forEach((item, index) => { 120 const link=document.createElement("a");
104 console.log("this.exdata[index+1]", this.exdata[index + 1]); 121 let blob=new Blob([res], { type: "application/vnd.ms-excel" }); //类型excel
105 this.exdata.push([]); 122 link.style.display="none";
106 this.exdata[index + 1].push(item); 123 link.href=URL.createObjectURL(blob);
107 this.exdata[index + 1].push(this.data1[index]); 124 link.setAttribute("download", this.dateRange[0]+'~'+ this.dateRange[1] +'超时统计');
108 this.exdata[index + 1].push(this.data2[index]); 125 document.body.appendChild(link);
109 this.exdata[index + 1].push(this.data3[index]); 126 link.click();
110 }); 127 document.body.removeChild(link);
111 console.log("this.exdata", this.exdata); 128 })
112 const ws = XLSX.utils.aoa_to_sheet(this.exdata);
113 const wb = XLSX.utils.book_new();
114 XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
115 XLSX.writeFile(wb, "收件与超时统计情况.xlsx");
116 }, 129 },
117 // 查询 130 // 查询
118 chchch() { 131 chchch() {
...@@ -140,15 +153,21 @@ export default { ...@@ -140,15 +153,21 @@ export default {
140 }, 153 },
141 // 如果需要自定义 tooltip样式,需要使用formatter 154 // 如果需要自定义 tooltip样式,需要使用formatter
142 formatter: (params) => { 155 formatter: (params) => {
143 console.log("paramsssssssssssssssssss", params); 156 if (params.seriesName == '超时时间') {
157 return `<div font-size: 14px;line-height: 24px>
158 ${params.seriesName}
159 <br>
160 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${
161 Number(params.value).toFixed(2) + "小时"
162 } </span>
163 </div>`;
164 }
144 return `<div font-size: 14px;line-height: 24px> 165 return `<div font-size: 14px;line-height: 24px>
145 ${params.seriesName} 166 ${params.seriesName}
146 <br> 167 <br>
147 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${ 168 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${
148 Number(params.value).toFixed(2) + "%" 169 Number(params.value).toFixed(2) + ""
149 } </span> 170 } </span>
150
151
152 </div>`; 171 </div>`;
153 }, 172 },
154 }, 173 },
...@@ -279,6 +298,9 @@ export default { ...@@ -279,6 +298,9 @@ export default {
279 this.formatDate(new Date(year - 1, 11, 31)) 298 this.formatDate(new Date(year - 1, 11, 31))
280 ); 299 );
281 } 300 }
301 this.selectDate.startAt = this.dateRange[0] + " 00:00:00"
302 this.selectDate.endAt = this.dateRange[1] + " 00:00:00"
303 this.cstj()
282 }, 304 },
283 // 日期范围选择器事件 305 // 日期范围选择器事件
284 chooseDateRange() { 306 chooseDateRange() {
......
...@@ -53,6 +53,7 @@ ...@@ -53,6 +53,7 @@
53 </template> 53 </template>
54 <script> 54 <script>
55 import * as echarts from "echarts"; 55 import * as echarts from "echarts";
56 import {tjtj, exportTjtj} from "@/api/tjfx.js";
56 import XLSX from 'xlsx'; 57 import XLSX from 'xlsx';
57 export default { 58 export default {
58 components: {}, 59 components: {},
...@@ -69,62 +70,68 @@ export default { ...@@ -69,62 +70,68 @@ export default {
69 { code: "7", name: "今年" }, 70 { code: "7", name: "今年" },
70 { code: "8", name: "去年" }, 71 { code: "8", name: "去年" },
71 ], 72 ],
73 selectDate : {
74 startAt:'2020-01-03 02:57:57',
75 endAt:'2025-01-03 02:57:57'
76 },
72 chooseIndex: 0, // 日期快捷选择项索引 77 chooseIndex: 0, // 日期快捷选择项索引
73 dateRange: [], // 自定义列表 - 日期范围 78 dateRange: [], // 自定义列表 - 日期范围
74 queryForm: {}, 79 queryForm: {},
75 data1: [23, 45, 23, 11, 15, 19, 35], 80 data1: [],
76 data2: [1, 4, 1, 3, 2, 3, 4], 81 data2: [],
77 data3: [], 82 data3: [],
78 xAxisData: [ 83 xAxisData: [],
79 "任超",
80 "杨威",
81 "魏娜",
82 "张祎旋",
83 "苗菁",
84 "王文刚",
85 "单帅旗",
86 ],
87 }; 84 };
88 }, 85 },
89 mounted() { 86 mounted() {
90 this.setdata(); 87 this.setdata();
91 // 创建一个 ECharts 实例
92 this.chart = echarts.init(this.$refs.chart);
93 // 在 ECharts 实例中配置图表
94 this.chart.setOption(this.getOption());
95 this.chooseDateQuick(0);
96
97 }, 88 },
98 methods: { 89 methods: {
90
91 tjtj () {
92 tjtj(this.selectDate).then(res => {
93 if (res.code == 200) {
94 let dataSource = res.result;
95 if (dataSource != null) {
96 this.xAxisData = dataSource.map(item => item.assignee)
97 this.data1 = dataSource.map(item => item.sj)
98 this.data2 = dataSource.map(item => item.tj)
99 this.data3 = dataSource.map(item => item.tjl)
100 }
101 console.log(this.xAxisData)
102 console.log(this.data1)
103 console.log(this.data2)
104 console.log(this.data3)
105 // 创建一个 ECharts 实例
106 this.chart = echarts.init(this.$refs.chart);
107 // 在 ECharts 实例中配置图表
108 this.chart.setOption(this.getOption());
109 }
110 })
111 },
112
99 setdata() { 113 setdata() {
100 for (let i = 0; i < this.data1.length; i++) { 114 this.chooseDateQuick(7)
101 let sum = (this.data2[i] / this.data1[i]) * 100; 115 this.tjtj()
102 this.data3.push(Number(sum).toFixed(0));
103 }
104 }, 116 },
105 // 导出 117 // 导出
106 // 导出 118 // 导出
107 derive() { 119 derive() {
108 this.exdata = [ 120 exportTjtj(this.selectDate).then(res => {
109 ['受理人员', '收件数','退件数','推荐率'] 121 const link=document.createElement("a");
110 ]; 122 let blob=new Blob([res], { type: "application/vnd.ms-excel" }); //类型excel
111 this.xAxisData.forEach((item,index) => { 123 link.style.display="none";
112 console.log("this.exdata[index+1]",this.exdata[index+1]); 124 link.href=URL.createObjectURL(blob);
113 this.exdata.push([]) 125 link.setAttribute("download", this.dateRange[0]+'~'+ this.dateRange[1] +'收件退件统计');
114 this.exdata[index+1].push(item) 126 document.body.appendChild(link);
115 this.exdata[index+1].push(this.data1[index]) 127 link.click();
116 this.exdata[index+1].push(this.data2[index]) 128 document.body.removeChild(link);
117 this.exdata[index+1].push(this.data3[index]) 129 })
118 })
119 console.log("this.exdata",this.exdata);
120 const ws = XLSX.utils.aoa_to_sheet(this.exdata);
121 const wb = XLSX.utils.book_new();
122 XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
123 XLSX.writeFile(wb, '收件与退件统计情况.xlsx');
124 }, 130 },
125 // 查询 131 // 查询
126 chchch() { 132 chchch() {
127 console.log("dateRange", this.dateRange); 133 console.log("dateRange", this.dateRange);
134 this.setdata()
128 }, 135 },
129 getOption() { 136 getOption() {
130 return { 137 return {
...@@ -148,11 +155,20 @@ console.log("this.exdata",this.exdata); ...@@ -148,11 +155,20 @@ console.log("this.exdata",this.exdata);
148 }, 155 },
149 // 如果需要自定义 tooltip样式,需要使用formatter 156 // 如果需要自定义 tooltip样式,需要使用formatter
150 formatter: (params) => { 157 formatter: (params) => {
158 if (params.seriesName == '退件率') {
159 return `<div font-size: 14px;line-height: 24px>
160 ${params.seriesName}
161 <br>
162 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${
163 Number(params.value).toFixed(2) + "%"
164 } </span>
165 </div>`;
166 }
151 return `<div font-size: 14px;line-height: 24px> 167 return `<div font-size: 14px;line-height: 24px>
152 ${params.seriesName} 168 ${params.seriesName}
153 <br> 169 <br>
154 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${ 170 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${
155 Number(params.value).toFixed(2) + "%" 171 Number(params.value).toFixed(2) + ""
156 } </span> 172 } </span>
157 </div>`; 173 </div>`;
158 }, 174 },
...@@ -284,6 +300,9 @@ console.log("this.exdata",this.exdata); ...@@ -284,6 +300,9 @@ console.log("this.exdata",this.exdata);
284 this.formatDate(new Date(year - 1, 11, 31)) 300 this.formatDate(new Date(year - 1, 11, 31))
285 ); 301 );
286 } 302 }
303 this.selectDate.startAt = this.dateRange[0] + " 00:00:00"
304 this.selectDate.endAt = this.dateRange[1] + " 00:00:00"
305 this.tjtj()
287 }, 306 },
288 // 日期范围选择器事件 307 // 日期范围选择器事件
289 chooseDateRange() { 308 chooseDateRange() {
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-11-22 17:09:14 4 * @LastEditTime: 2023-11-22 17:09:14
5 --> 5 -->
...@@ -65,10 +65,18 @@ ...@@ -65,10 +65,18 @@
65 } 65 }
66 }) 66 })
67 } else { 67 } else {
68 getPrintTemplateByCode({ tmpno: Vue.prototype.BASE_API.adapter + '-2' }).then(res => { 68 // getPrintTemplateByCode({ tmpno: Vue.prototype.BASE_API.adapter + '-2' }).then(res => {
69 getPrintTemplateByCode({ tmpno: 'dysqs-bz-2' }).then(res => {
69 if (res.code === 200) { 70 if (res.code === 200) {
70 getPrintApplicationForm(this.formData.bsmSldy).then(infoRes => { 71 getPrintApplicationForm(this.formData.bsmSldy).then(infoRes => {
71 if (infoRes.code === 200) { 72 if (infoRes.code === 200) {
73 if (infoRes.result.fileList && infoRes.result.fileList.length > 0) {
74 infoRes.result.fileList.forEach((it, index) => {
75 let key = index + 1
76 this.$set(infoRes.result, "file" + key, it.sjmc)
77 })
78 }
79 console.log(infoRes.result)
72 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); 80 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
73 81
74 // 装载第一个模板并设置数据 82 // 装载第一个模板并设置数据
...@@ -92,4 +100,4 @@ ...@@ -92,4 +100,4 @@
92 } 100 }
93 } 101 }
94 } 102 }
95 </script>
...\ No newline at end of file ...\ No newline at end of file
103 </script>
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-12-29 16:35:50 4 * @LastEditTime: 2023-12-29 16:35:50
5 --> 5 -->
...@@ -113,6 +113,10 @@ ...@@ -113,6 +113,10 @@
113 label: "收费人员", 113 label: "收费人员",
114 }, 114 },
115 { 115 {
116 prop: "sfkmmc",
117 label: "收费科目名称",
118 },
119 {
116 prop: "sjffr", 120 prop: "sjffr",
117 label: "实际付费人", 121 label: "实际付费人",
118 }, 122 },
...@@ -227,4 +231,4 @@ ...@@ -227,4 +231,4 @@
227 margin-left: 10px; 231 margin-left: 10px;
228 } 232 }
229 } 233 }
230 </style>
...\ No newline at end of file ...\ No newline at end of file
234 </style>
......
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
99 } 99 }
100 }; 100 };
101 import store from '@/store/index.js' 101 import store from '@/store/index.js'
102 import { addQy, update } from "@/api/xxba.js" 102 import { addQy, update, addYh } from "@/api/xxba.js"
103 import clxx from './clxx/index.vue' 103 import clxx from './clxx/index.vue'
104 export default { 104 export default {
105 props: { 105 props: {
...@@ -215,19 +215,36 @@ ...@@ -215,19 +215,36 @@
215 that.$refs['ruleForm'].validate((valid) => { 215 that.$refs['ruleForm'].validate((valid) => {
216 if (valid) { 216 if (valid) {
217 store.dispatch("user/refreshPage", false); 217 store.dispatch("user/refreshPage", false);
218 addQy(this.ruleForm).then(res => { 218 if (this.formData.QyYh == 1) {
219 if (res.code == 200) { 219 addQy(this.ruleForm).then(res => {
220 that.$message.success('保存成功') 220 if (res.code == 200) {
221 that.$emit("input", false); 221 that.$message.success('保存成功')
222 that.$refs['ruleForm'].resetFields(); 222 that.$emit("input", false);
223 that.resetTableFields(); 223 that.$refs['ruleForm'].resetFields();
224 that.closeDialog(); 224 that.resetTableFields();
225 //刷新列表 225 that.closeDialog();
226 store.dispatch("user/refreshPage", true); 226 //刷新列表
227 } else { 227 store.dispatch("user/refreshPage", true);
228 that.$message.error(res.message); 228 } else {
229 } 229 that.$message.error(res.message);
230 }) 230 }
231 })
232 } else {
233 addYh(this.ruleForm).then(res => {
234 if (res.code == 200) {
235 that.$message.success('保存成功')
236 that.$emit("input", false);
237 that.$refs['ruleForm'].resetFields();
238 that.resetTableFields();
239 that.closeDialog();
240 //刷新列表
241 store.dispatch("user/refreshPage", true);
242 } else {
243 that.$message.error(res.message);
244 }
245 })
246 }
247
231 } else { 248 } else {
232 this.$message.error('请完善表单'); 249 this.$message.error('请完善表单');
233 return false; 250 return false;
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-15 15:41:36 4 * @LastEditTime: 2024-01-17 09:02:49
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
106 * @author: renchao 106 * @author: renchao
107 */ 107 */
108 handleAdd () { 108 handleAdd () {
109 this.$popupDialog("添加企业", "xxba/qyxxba/components/addDialog", { isAdd: 1 }, "75%") 109 this.$popupDialog("添加企业", "xxba/components/addDialog", { isAdd: 1, QyYh: 1 }, "75%")
110 }, 110 },
111 /** 111 /**
112 * @description: handleDelete 112 * @description: handleDelete
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-01-17 08:55:41 4 * @LastEditTime: 2024-01-17 09:02:55
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
106 * @author: renchao 106 * @author: renchao
107 */ 107 */
108 handleAdd () { 108 handleAdd () {
109 this.$popupDialog("添加银行", "xxba/yhjgba/components/addDialog", { isAdd: 1 }, "75%") 109 this.$popupDialog("添加银行", "xxba/components/addDialog", { isAdd: 1, QyYh: 2 }, "75%")
110 }, 110 },
111 /** 111 /**
112 * @description: handleDelete 112 * @description: handleDelete
......