f66da719 by renchao@pashanhoo.com

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

2 parents ac61b2de e95e2c21
...@@ -7,41 +7,32 @@ ...@@ -7,41 +7,32 @@
7 <div class="djlx"> 7 <div class="djlx">
8 <div class="inquire"> 8 <div class="inquire">
9 <el-form :model="queryForm" ref="queryForm" label-width="100px"> 9 <el-form :model="queryForm" ref="queryForm" label-width="100px">
10 <el-row> 10 <el-row :gutter="20">
11 <el-col :span="6"> 11 <el-col :span="12">
12 <el-form-item label="开始时间" class="width100"> 12 <el-form-item label="收件时间" class="width100">
13 <el-date-picker 13 <el-date-picker
14 v-model="queryForm.kssj" 14 v-model="queryForm.sj"
15 type="daterange"
15 class="width100" 16 class="width100"
16 type="date" 17 range-separator="至"
17 placeholder="选择日期" 18 :clearable="false"
18 value-format="yyyy-MM-dd HH:mm:ss" 19 value-format="yyyy-MM-dd"
19 format="yyyy-MM-dd" 20 start-placeholder="开始日期"
20 ></el-date-picker> 21 end-placeholder="结束日期"
21 </el-form-item> 22 >
22 </el-col> 23 </el-date-picker>
23 <el-col :span="6">
24 <el-form-item label="结束时间" class="width100">
25 <el-date-picker
26 v-model="queryForm.kssj"
27 class="width100"
28 type="date"
29 placeholder="选择日期"
30 value-format="yyyy-MM-dd HH:mm:ss"
31 format="yyyy-MM-dd"
32 ></el-date-picker>
33 </el-form-item> 24 </el-form-item>
34 </el-col> 25 </el-col>
35 <el-col :span="6"> 26 <el-col :span="7">
36 <el-form-item label="区域" class="width100"> 27 <el-form-item label="区域" class="width100">
37 <el-select 28 <el-select
38 v-model="queryForm.qy" 29 v-model="queryForm.qy"
39 class="width100" 30 class="width100"
40 clearable 31 clearable
41 placeholder="请选择权利类型" 32 placeholder="请选择区域"
42 > 33 >
43 <el-option 34 <el-option
44 v-for="item in dictData['A8']" 35 v-for="item in dictData['A20']"
45 :key="item.dcode" 36 :key="item.dcode"
46 :label="item.dname" 37 :label="item.dname"
47 :value="item.dcode" 38 :value="item.dcode"
...@@ -50,7 +41,7 @@ ...@@ -50,7 +41,7 @@
50 </el-select> 41 </el-select>
51 </el-form-item> 42 </el-form-item>
52 </el-col> 43 </el-col>
53 <el-col :span="5" class="btnColRight"> 44 <el-col :span="4" class="btnColRight">
54 <el-form-item> 45 <el-form-item>
55 <el-button 46 <el-button
56 type="primary" 47 type="primary"
...@@ -74,13 +65,13 @@ ...@@ -74,13 +65,13 @@
74 header-cell-class-name="table-header-gray" 65 header-cell-class-name="table-header-gray"
75 > 66 >
76 <el-table-column 67 <el-table-column
77 label="类型" 68 label="登记类型"
78 prop="name" 69 prop="name"
79 minWidth="100" 70 minWidth="100"
80 align="center" /> 71 align="center" />
81 <el-table-column 72 <el-table-column
82 label="数量" 73 label="收件数量"
83 prop="agent" 74 prop="value"
84 minWidth="120" 75 minWidth="120"
85 align="center" 76 align="center"
86 /></el-table> 77 /></el-table>
...@@ -94,64 +85,87 @@ ...@@ -94,64 +85,87 @@
94 <script> 85 <script>
95 import * as echarts from "echarts"; 86 import * as echarts from "echarts";
96 import { mapGetters } from "vuex"; 87 import { mapGetters } from "vuex";
97 export default { 88 export default {
98 components: {}, 89 components: {},
99 computed: { 90 computed: {
100 ...mapGetters(["dictData", "transfer"]), 91 ...mapGetters(["dictData", "transfer"]),
101 }, 92 },
102 data () { 93 data() {
103 return { 94 return {
104 queryForm: {}, 95 queryForm: {},
105 tableList: [{ name: "111" }, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 23], 96 tableList: [
97 { name: "首次登记", value: "2" },
98 { name: "变更登记", value: "12" },
99 { name: "抵押登记", value: "23" },
100 { name: "转移登记", value: "33" },
101 { name: "预告登记", value: "13" },
102 { name: "注销登记", value: "3" },
103 { name: "查封登记", value: "4" },
104 { name: "其他登记", value: "26" },
105 ],
106 }; 106 };
107 }, 107 },
108 mounted() { 108 mounted() {
109 // 创建一个 ECharts 实例 109 // 创建一个 ECharts 实例
110 this.chart = echarts.init(this.$refs.chart); 110 this.chart = echarts.init(this.$refs.chart);
111 // 在 ECharts 实例中配置图表 111 // 在 ECharts 实例中配置图表
112 this.chart.setOption(this.getOption()); 112 this.chart.setOption(this.getOption());
113 }, 113 },
114 methods: { 114 methods: {
115 getOption() { 115 getOption() {
116 return { 116 return {
117 117 title: {
118 text: "统计分析图",
119 x: "center",
120 textStyle: {
121 //主标题文本设置
122 fontSize: 12, //大小
123 },
124 },
118 tooltip: { 125 tooltip: {
119 trigger: "item", 126 trigger: "item",
120 formatter: "{a} <br/>{b}: {c} ({d}%)", 127 formatter: "{a} <br/>{b} : {c}个 ({d}%)",
128 },
129 grid: {
130 top: "4%",
131 left: "2%",
132 right: "3%",
133 bottom: "20%",
134 containLabel: true,
121 }, 135 },
122 series: [ 136 series: [
123 { 137 {
124 name: "饼图名称", 138 name: "统计分析图",
125 type: "pie", 139 type: "pie",
126 radius: ["20%", "70%"], 140 radius: "70%",
127 avoidLabelOverlap: false, 141 center: ["50%", "100%"],
128 label: { 142 data: this.tableList,
129 show: false, 143 itemStyle: {
130 position: "center", 144 emphasis: {
131 }, 145 shadowBlur: 10,
132 emphasis: { 146 shadowOffsetX: 0,
133 label: { 147 shadowColor: "rgba(0, 0, 0, 0.5)",
134 show: true,
135 fontSize: "30",
136 fontWeight: "bold",
137 }, 148 },
138 }, 149 },
139 labelLine: { 150 label: {
140 show: false, 151 normal: {
152 formatter: "{c}/个",
153 position: "inside", //让文字显示在饼状图里面
154 textStyle: {
155 fontSize: 10,
156 color: "#fff",
157 },
158 },
141 }, 159 },
142 data: [ 160 center: ["50%", "50%"], // 这个属性调整图像的位置!!!!!
143 { value: 335, name: "数据1" },
144 { value: 310, name: "数据2" },
145 { value: 234, name: "数据3" },
146 { value: 135, name: "数据4" },
147 { value: 1548, name: "数据5" },
148 ],
149 }, 161 },
150 ], 162 ],
151 }; 163 };
152 }, 164 },
153 165
154 handleSearch() {}, 166 handleSearch() {
167 console.log(" this.queryForm", this.queryForm);
168 },
155 }, 169 },
156 }; 170 };
157 </script> 171 </script>
...@@ -171,20 +185,30 @@ import { mapGetters } from "vuex"; ...@@ -171,20 +185,30 @@ import { mapGetters } from "vuex";
171 .inquire { 185 .inquire {
172 width: 100%; 186 width: 100%;
173 height: 40px; 187 height: 40px;
174 border: 1px solid rgb(184, 217, 243); 188 background-color: #f4f7fd;
175 // background-color: rebeccapurple; 189 /deep/ .el-form {
190 .el-form-item--small.el-form-item {
191 margin-bottom: 5px;
192 }
193 }
176 } 194 }
195
177 .concent { 196 .concent {
178 width: 100%; 197 width: 100%;
179 height: 300px; 198 height: 300px;
180 display: flex; 199 display: flex;
200 //调整表头高度
201 /deep/.el-table__header {
202 height: 22px!important;
203 background-color: salmon;
204 }
181 .left { 205 .left {
182 width: 70%; 206 width: 70%;
183 height: 200px; 207 height: 200px;
184 } 208 }
185 .right { 209 .right {
186 width: 30%; 210 width: 30%;
187 height: 200px; 211 height: 300px;
188 } 212 }
189 } 213 }
190 } 214 }
......
...@@ -7,50 +7,23 @@ ...@@ -7,50 +7,23 @@
7 <div class="djlx"> 7 <div class="djlx">
8 <div class="inquire"> 8 <div class="inquire">
9 <el-form :model="queryForm" ref="queryForm" label-width="100px"> 9 <el-form :model="queryForm" ref="queryForm" label-width="100px">
10 <el-row> 10 <el-row :gutter="20">
11 <el-col :span="6"> 11 <el-col :span="12">
12 <el-form-item label="开始时间" class="width100"> 12 <el-form-item label="收件时间" class="width100">
13 <el-date-picker 13 <el-date-picker
14 v-model="queryForm.kssj" 14 v-model="queryForm.sj"
15 type="daterange"
15 class="width100" 16 class="width100"
16 type="date" 17 range-separator="至"
17 placeholder="选择日期" 18 :clearable="false"
18 value-format="yyyy-MM-dd HH:mm:ss" 19 value-format="yyyy-MM-dd"
19 format="yyyy-MM-dd" 20 start-placeholder="开始日期"
20 ></el-date-picker> 21 end-placeholder="结束日期"
21 </el-form-item>
22 </el-col>
23 <el-col :span="6">
24 <el-form-item label="结束时间" class="width100">
25 <el-date-picker
26 v-model="queryForm.kssj"
27 class="width100"
28 type="date"
29 placeholder="选择日期"
30 value-format="yyyy-MM-dd HH:mm:ss"
31 format="yyyy-MM-dd"
32 ></el-date-picker>
33 </el-form-item>
34 </el-col>
35 <el-col :span="6">
36 <el-form-item label="区域" class="width100">
37 <el-select
38 v-model="queryForm.qy"
39 class="width100"
40 clearable
41 placeholder="请选择权利类型"
42 > 22 >
43 <el-option 23 </el-date-picker>
44 v-for="item in dictData['A8']"
45 :key="item.dcode"
46 :label="item.dname"
47 :value="item.dcode"
48 >
49 </el-option>
50 </el-select>
51 </el-form-item> 24 </el-form-item>
52 </el-col> 25 </el-col>
53 <el-col :span="5" class="btnColRight"> 26 <el-col :span="4" class="btnColRight">
54 <el-form-item> 27 <el-form-item>
55 <el-button 28 <el-button
56 type="primary" 29 type="primary"
...@@ -74,13 +47,13 @@ ...@@ -74,13 +47,13 @@
74 header-cell-class-name="table-header-gray" 47 header-cell-class-name="table-header-gray"
75 > 48 >
76 <el-table-column 49 <el-table-column
77 label="类型" 50 label="区域"
78 prop="name" 51 prop="name"
79 minWidth="100" 52 minWidth="100"
80 align="center" /> 53 align="center" />
81 <el-table-column 54 <el-table-column
82 label="数量" 55 label="收件数量"
83 prop="agent" 56 prop="value"
84 minWidth="120" 57 minWidth="120"
85 align="center" 58 align="center"
86 /></el-table> 59 /></el-table>
...@@ -93,65 +66,84 @@ ...@@ -93,65 +66,84 @@
93 </template> 66 </template>
94 <script> 67 <script>
95 import * as echarts from "echarts"; 68 import * as echarts from "echarts";
96 import { mapGetters } from "vuex"; 69 export default {
97 export default { 70 components: {},
98 components: {}, 71 data() {
99 computed: { 72 return {
100 ...mapGetters(["dictData", "transfer"]),
101 },
102 data () {
103 return {
104 queryForm: {}, 73 queryForm: {},
105 tableList: [{ name: "111" }, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 23], 74 tableList: [
75 { name: "首次登记", value: "2" },
76 { name: "变更登记", value: "12" },
77 { name: "抵押登记", value: "23" },
78 { name: "转移登记", value: "33" },
79 { name: "预告登记", value: "13" },
80 { name: "注销登记", value: "3" },
81 { name: "查封登记", value: "4" },
82 { name: "其他登记", value: "26" },
83 ],
106 }; 84 };
107 }, 85 },
108 mounted() { 86 mounted() {
109 // 创建一个 ECharts 实例 87 // 创建一个 ECharts 实例
110 this.chart = echarts.init(this.$refs.chart); 88 this.chart = echarts.init(this.$refs.chart);
111 // 在 ECharts 实例中配置图表 89 // 在 ECharts 实例中配置图表
112 this.chart.setOption(this.getOption()); 90 this.chart.setOption(this.getOption());
113 }, 91 },
114 methods: { 92 methods: {
115 getOption() { 93 getOption() {
116 return { 94 return {
117 95 title: {
96 text: "统计分析图",
97 x: "center",
98 textStyle: {
99 //主标题文本设置
100 fontSize: 12, //大小
101 },
102 },
118 tooltip: { 103 tooltip: {
119 trigger: "item", 104 trigger: "item",
120 formatter: "{a} <br/>{b}: {c} ({d}%)", 105 formatter: "{a} <br/>{b} : {c}个 ({d}%)",
106 },
107 grid: {
108 top: "4%",
109 left: "2%",
110 right: "3%",
111 bottom: "20%",
112 containLabel: true,
121 }, 113 },
122 series: [ 114 series: [
123 { 115 {
124 name: "饼图名称", 116 name: "统计分析图",
125 type: "pie", 117 type: "pie",
126 radius: ["20%", "70%"], 118 radius: "70%",
127 avoidLabelOverlap: false, 119 center: ["50%", "100%"],
128 label: { 120 data: this.tableList,
129 show: false, 121 itemStyle: {
130 position: "center", 122 emphasis: {
131 }, 123 shadowBlur: 10,
132 emphasis: { 124 shadowOffsetX: 0,
133 label: { 125 shadowColor: "rgba(0, 0, 0, 0.5)",
134 show: true,
135 fontSize: "30",
136 fontWeight: "bold",
137 }, 126 },
138 }, 127 },
139 labelLine: { 128 label: {
140 show: false, 129 normal: {
130 formatter: "{c}/个",
131 position: "inside", //让文字显示在饼状图里面
132 textStyle: {
133 fontSize: 10,
134 color: "#fff",
135 },
136 },
141 }, 137 },
142 data: [ 138 center: ["50%", "50%"], // 这个属性调整图像的位置!!!!!
143 { value: 335, name: "数据1" },
144 { value: 310, name: "数据2" },
145 { value: 234, name: "数据3" },
146 { value: 135, name: "数据4" },
147 { value: 1548, name: "数据5" },
148 ],
149 }, 139 },
150 ], 140 ],
151 }; 141 };
152 }, 142 },
153 143
154 handleSearch() {}, 144 handleSearch() {
145 console.log(" this.queryForm", this.queryForm);
146 },
155 }, 147 },
156 }; 148 };
157 </script> 149 </script>
...@@ -171,20 +163,30 @@ import { mapGetters } from "vuex"; ...@@ -171,20 +163,30 @@ import { mapGetters } from "vuex";
171 .inquire { 163 .inquire {
172 width: 100%; 164 width: 100%;
173 height: 40px; 165 height: 40px;
174 border: 1px solid rgb(184, 217, 243); 166 background-color: #f4f7fd;
175 // background-color: rebeccapurple; 167 /deep/ .el-form {
168 .el-form-item--small.el-form-item {
169 margin-bottom: 5px;
170 }
171 }
176 } 172 }
173
177 .concent { 174 .concent {
178 width: 100%; 175 width: 100%;
179 height: 300px; 176 height: 300px;
180 display: flex; 177 display: flex;
178 //调整表头高度
179 /deep/.el-table__header {
180 height: 22px!important;
181 background-color: salmon;
182 }
181 .left { 183 .left {
182 width: 70%; 184 width: 70%;
183 height: 200px; 185 height: 200px;
184 } 186 }
185 .right { 187 .right {
186 width: 30%; 188 width: 30%;
187 height: 200px; 189 height: 300px;
188 } 190 }
189 } 191 }
190 } 192 }
......
...@@ -7,41 +7,32 @@ ...@@ -7,41 +7,32 @@
7 <div class="djlx"> 7 <div class="djlx">
8 <div class="inquire"> 8 <div class="inquire">
9 <el-form :model="queryForm" ref="queryForm" label-width="100px"> 9 <el-form :model="queryForm" ref="queryForm" label-width="100px">
10 <el-row> 10 <el-row :gutter="20">
11 <el-col :span="6"> 11 <el-col :span="12">
12 <el-form-item label="开始时间" class="width100"> 12 <el-form-item label="收件时间" class="width100">
13 <el-date-picker 13 <el-date-picker
14 v-model="queryForm.kssj" 14 v-model="queryForm.sj"
15 type="daterange"
15 class="width100" 16 class="width100"
16 type="date" 17 range-separator="至"
17 placeholder="选择日期" 18 :clearable="false"
18 value-format="yyyy-MM-dd HH:mm:ss" 19 value-format="yyyy-MM-dd"
19 format="yyyy-MM-dd" 20 start-placeholder="开始日期"
20 ></el-date-picker> 21 end-placeholder="结束日期"
21 </el-form-item> 22 >
22 </el-col> 23 </el-date-picker>
23 <el-col :span="6">
24 <el-form-item label="结束时间" class="width100">
25 <el-date-picker
26 v-model="queryForm.kssj"
27 class="width100"
28 type="date"
29 placeholder="选择日期"
30 value-format="yyyy-MM-dd HH:mm:ss"
31 format="yyyy-MM-dd"
32 ></el-date-picker>
33 </el-form-item> 24 </el-form-item>
34 </el-col> 25 </el-col>
35 <el-col :span="6"> 26 <el-col :span="7">
36 <el-form-item label="区域" class="width100"> 27 <el-form-item label="区域" class="width100">
37 <el-select 28 <el-select
38 v-model="queryForm.qy" 29 v-model="queryForm.qy"
39 class="width100" 30 class="width100"
40 clearable 31 clearable
41 placeholder="请选择权利类型" 32 placeholder="请选择区域"
42 > 33 >
43 <el-option 34 <el-option
44 v-for="item in dictData['A8']" 35 v-for="item in dictData['A20']"
45 :key="item.dcode" 36 :key="item.dcode"
46 :label="item.dname" 37 :label="item.dname"
47 :value="item.dcode" 38 :value="item.dcode"
...@@ -50,7 +41,7 @@ ...@@ -50,7 +41,7 @@
50 </el-select> 41 </el-select>
51 </el-form-item> 42 </el-form-item>
52 </el-col> 43 </el-col>
53 <el-col :span="5" class="btnColRight"> 44 <el-col :span="4" class="btnColRight">
54 <el-form-item> 45 <el-form-item>
55 <el-button 46 <el-button
56 type="primary" 47 type="primary"
...@@ -74,13 +65,13 @@ ...@@ -74,13 +65,13 @@
74 header-cell-class-name="table-header-gray" 65 header-cell-class-name="table-header-gray"
75 > 66 >
76 <el-table-column 67 <el-table-column
77 label="类型" 68 label="收件人"
78 prop="name" 69 prop="name"
79 minWidth="100" 70 minWidth="100"
80 align="center" /> 71 align="center" />
81 <el-table-column 72 <el-table-column
82 label="数量" 73 label="收件数量"
83 prop="agent" 74 prop="value"
84 minWidth="120" 75 minWidth="120"
85 align="center" 76 align="center"
86 /></el-table> 77 /></el-table>
...@@ -94,64 +85,87 @@ ...@@ -94,64 +85,87 @@
94 <script> 85 <script>
95 import * as echarts from "echarts"; 86 import * as echarts from "echarts";
96 import { mapGetters } from "vuex"; 87 import { mapGetters } from "vuex";
97 export default { 88 export default {
98 components: {}, 89 components: {},
99 computed: { 90 computed: {
100 ...mapGetters(["dictData", "transfer"]), 91 ...mapGetters(["dictData", "transfer"]),
101 }, 92 },
102 data () { 93 data() {
103 return { 94 return {
104 queryForm: {}, 95 queryForm: {},
105 tableList: [{ name: "111" }, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 23], 96 tableList: [
97 { name: "首次登记", value: "2" },
98 { name: "变更登记", value: "12" },
99 { name: "抵押登记", value: "23" },
100 { name: "转移登记", value: "33" },
101 { name: "预告登记", value: "13" },
102 { name: "注销登记", value: "3" },
103 { name: "查封登记", value: "4" },
104 { name: "其他登记", value: "26" },
105 ],
106 }; 106 };
107 }, 107 },
108 mounted() { 108 mounted() {
109 // 创建一个 ECharts 实例 109 // 创建一个 ECharts 实例
110 this.chart = echarts.init(this.$refs.chart); 110 this.chart = echarts.init(this.$refs.chart);
111 // 在 ECharts 实例中配置图表 111 // 在 ECharts 实例中配置图表
112 this.chart.setOption(this.getOption()); 112 this.chart.setOption(this.getOption());
113 }, 113 },
114 methods: { 114 methods: {
115 getOption() { 115 getOption() {
116 return { 116 return {
117 117 title: {
118 text: "统计分析图",
119 x: "center",
120 textStyle: {
121 //主标题文本设置
122 fontSize: 12, //大小
123 },
124 },
118 tooltip: { 125 tooltip: {
119 trigger: "item", 126 trigger: "item",
120 formatter: "{a} <br/>{b}: {c} ({d}%)", 127 formatter: "{a} <br/>{b} : {c}个 ({d}%)",
128 },
129 grid: {
130 top: "4%",
131 left: "2%",
132 right: "3%",
133 bottom: "20%",
134 containLabel: true,
121 }, 135 },
122 series: [ 136 series: [
123 { 137 {
124 name: "饼图名称", 138 name: "统计分析图",
125 type: "pie", 139 type: "pie",
126 radius: ["20%", "70%"], 140 radius: "70%",
127 avoidLabelOverlap: false, 141 center: ["50%", "100%"],
128 label: { 142 data: this.tableList,
129 show: false, 143 itemStyle: {
130 position: "center", 144 emphasis: {
131 }, 145 shadowBlur: 10,
132 emphasis: { 146 shadowOffsetX: 0,
133 label: { 147 shadowColor: "rgba(0, 0, 0, 0.5)",
134 show: true,
135 fontSize: "30",
136 fontWeight: "bold",
137 }, 148 },
138 }, 149 },
139 labelLine: { 150 label: {
140 show: false, 151 normal: {
152 formatter: "{c}/个",
153 position: "inside", //让文字显示在饼状图里面
154 textStyle: {
155 fontSize: 10,
156 color: "#fff",
157 },
158 },
141 }, 159 },
142 data: [ 160 center: ["50%", "50%"], // 这个属性调整图像的位置!!!!!
143 { value: 335, name: "数据1" },
144 { value: 310, name: "数据2" },
145 { value: 234, name: "数据3" },
146 { value: 135, name: "数据4" },
147 { value: 1548, name: "数据5" },
148 ],
149 }, 161 },
150 ], 162 ],
151 }; 163 };
152 }, 164 },
153 165
154 handleSearch() {}, 166 handleSearch() {
167 console.log(" this.queryForm", this.queryForm);
168 },
155 }, 169 },
156 }; 170 };
157 </script> 171 </script>
...@@ -171,20 +185,30 @@ import { mapGetters } from "vuex"; ...@@ -171,20 +185,30 @@ import { mapGetters } from "vuex";
171 .inquire { 185 .inquire {
172 width: 100%; 186 width: 100%;
173 height: 40px; 187 height: 40px;
174 border: 1px solid rgb(184, 217, 243); 188 background-color: #f4f7fd;
175 // background-color: rebeccapurple; 189 /deep/ .el-form {
190 .el-form-item--small.el-form-item {
191 margin-bottom: 5px;
192 }
193 }
176 } 194 }
195
177 .concent { 196 .concent {
178 width: 100%; 197 width: 100%;
179 height: 300px; 198 height: 300px;
180 display: flex; 199 display: flex;
200 //调整表头高度
201 /deep/.el-table__header {
202 height: 22px!important;
203 background-color: salmon;
204 }
181 .left { 205 .left {
182 width: 70%; 206 width: 70%;
183 height: 200px; 207 height: 200px;
184 } 208 }
185 .right { 209 .right {
186 width: 30%; 210 width: 30%;
187 height: 200px; 211 height: 300px;
188 } 212 }
189 } 213 }
190 } 214 }
......
...@@ -9,27 +9,14 @@ ...@@ -9,27 +9,14 @@
9 <el-form :model="queryForm" ref="queryForm" label-width="100px"> 9 <el-form :model="queryForm" ref="queryForm" label-width="100px">
10 <el-row> 10 <el-row>
11 <el-col :span="6"> 11 <el-col :span="6">
12 <el-form-item label="开始时间" class="width100"> 12 <el-form-item label="统计时间" class="width100">
13 <el-date-picker 13 <el-date-picker
14 v-model="queryForm.kssj" 14 v-model="queryForm.sj"
15 class="width100" 15 class="width100"
16 type="date" 16 type="month"
17 placeholder="选择日期" 17 placeholder="选择月"
18 value-format="yyyy-MM-dd HH:mm:ss" 18 >
19 format="yyyy-MM-dd" 19 </el-date-picker>
20 ></el-date-picker>
21 </el-form-item>
22 </el-col>
23 <el-col :span="6">
24 <el-form-item label="结束时间" class="width100">
25 <el-date-picker
26 v-model="queryForm.kssj"
27 class="width100"
28 type="date"
29 placeholder="选择日期"
30 value-format="yyyy-MM-dd HH:mm:ss"
31 format="yyyy-MM-dd"
32 ></el-date-picker>
33 </el-form-item> 20 </el-form-item>
34 </el-col> 21 </el-col>
35 <el-col :span="6"> 22 <el-col :span="6">
...@@ -41,7 +28,7 @@ ...@@ -41,7 +28,7 @@
41 placeholder="请选择权利类型" 28 placeholder="请选择权利类型"
42 > 29 >
43 <el-option 30 <el-option
44 v-for="item in dictData['A8']" 31 v-for="item in dictData['A20']"
45 :key="item.dcode" 32 :key="item.dcode"
46 :label="item.dname" 33 :label="item.dname"
47 :value="item.dcode" 34 :value="item.dcode"
...@@ -64,88 +51,101 @@ ...@@ -64,88 +51,101 @@
64 </el-form> 51 </el-form>
65 </div> 52 </div>
66 <div class="concent"> 53 <div class="concent">
67 <div class="left"> 54 <div ref="chart" style="width: 100%; height: 200px"></div>
68 <el-table
69 height="187"
70 stripe
71 :data="tableList"
72 size="mini"
73 border
74 header-cell-class-name="table-header-gray"
75 >
76 <el-table-column
77 label="类型"
78 prop="name"
79 minWidth="100"
80 align="center" />
81 <el-table-column
82 label="数量"
83 prop="agent"
84 minWidth="120"
85 align="center"
86 /></el-table>
87 </div>
88 <div class="right">
89 <div ref="chart" style="width: 100%; height: 200px"></div>
90 </div>
91 </div> 55 </div>
92 </div> 56 </div>
93 </template> 57 </template>
94 <script> 58 <script>
95 import * as echarts from "echarts"; 59 import * as echarts from "echarts";
96 import { mapGetters } from "vuex"; 60 import { mapGetters } from "vuex";
97 export default { 61 export default {
98 components: {}, 62 components: {},
99 computed: { 63 computed: {
100 ...mapGetters(["dictData", "transfer"]), 64 ...mapGetters(["dictData", "transfer"]),
101 }, 65 },
102 data () { 66 data() {
103 return { 67 return {
104 queryForm: {}, 68 queryForm: {},
105 tableList: [{ name: "111" }, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 23], 69 datas: [12, 23, 15, 28, 37, 11, 13, 32, 34, 56, 12, 15],
70 datatime: [
71 "1日",
72 "2日",
73 "4日",
74 "5日",
75 "7日",
76 "10日",
77 "14日",
78 "15日",
79 "17日",
80 "19日",
81 "20日",
82 "21日",
83 ],
106 }; 84 };
107 }, 85 },
108 mounted() { 86 mounted() {
109 // 创建一个 ECharts 实例 87 // 创建一个 ECharts 实例
110 this.chart = echarts.init(this.$refs.chart); 88 this.chart = echarts.init(this.$refs.chart);
111 // 在 ECharts 实例中配置图表 89 // 在 ECharts 实例中配置图表
112 this.chart.setOption(this.getOption()); 90 this.chart.setOption(this.getOption());
113 }, 91 },
114 methods: { 92 methods: {
115 getOption() { 93 getOption() {
116 return { 94 return {
95 title: {
96 text: "2023年11月收件情况 ", // 主标题名称
117 97
98 textStyle: {
99 //主标题文本设置
100 fontSize: 18, //大小
101 },
102
103 itemGap: 3, //主副标题间距
104 x: "center", //主副标题的水平位置
105 y: "top", //主副标题的垂直位置
106 },
107 legend: {
108 data: ["转诊量"],
109 top: "6%",
110 right: "4%",
111 textStyle: {
112 color: "#747474",
113 },
114 },
118 tooltip: { 115 tooltip: {
119 trigger: "item", 116 // trigger: "item", //默认效果
120 formatter: "{a} <br/>{b}: {c} ({d}%)", 117 //柱状图加阴影
118 trigger: "axis",
119 axisPointer: {
120 type: "shadow",
121 label: {
122 show: true,
123 },
124 },
125 },
126 grid: {
127 top: "20%",
128 left: "2%",
129 right: "3%",
130 bottom: "20%",
131 containLabel: true,
132 },
133 xAxis: {
134 type: "category",
135 data: this.datatime,
136 },
137 yAxis: {
138 type: "value",
121 }, 139 },
122 series: [ 140 series: [
123 { 141 {
124 name: "饼图名称", 142 data: this.datas,
125 type: "pie", 143 type: "bar",
126 radius: ["20%", "70%"], 144 barWidth: 15,
127 avoidLabelOverlap: false, 145 showBackground: true,
128 label: { 146 backgroundStyle: {
129 show: false, 147 color: "rgba(220, 220, 220, 0.8)",
130 position: "center",
131 },
132 emphasis: {
133 label: {
134 show: true,
135 fontSize: "30",
136 fontWeight: "bold",
137 },
138 },
139 labelLine: {
140 show: false,
141 }, 148 },
142 data: [
143 { value: 335, name: "数据1" },
144 { value: 310, name: "数据2" },
145 { value: 234, name: "数据3" },
146 { value: 135, name: "数据4" },
147 { value: 1548, name: "数据5" },
148 ],
149 }, 149 },
150 ], 150 ],
151 }; 151 };
...@@ -178,14 +178,6 @@ import { mapGetters } from "vuex"; ...@@ -178,14 +178,6 @@ import { mapGetters } from "vuex";
178 width: 100%; 178 width: 100%;
179 height: 300px; 179 height: 300px;
180 display: flex; 180 display: flex;
181 .left {
182 width: 70%;
183 height: 200px;
184 }
185 .right {
186 width: 30%;
187 height: 200px;
188 }
189 } 181 }
190 } 182 }
191 </style> 183 </style>
......
...@@ -9,27 +9,9 @@ ...@@ -9,27 +9,9 @@
9 <el-form :model="queryForm" ref="queryForm" label-width="100px"> 9 <el-form :model="queryForm" ref="queryForm" label-width="100px">
10 <el-row> 10 <el-row>
11 <el-col :span="6"> 11 <el-col :span="6">
12 <el-form-item label="开始时间" class="width100"> 12 <el-form-item label="统计年份" class="width100">
13 <el-date-picker 13 <el-date-picker class="width100" v-model="queryForm.sj" type="year" placeholder="选择年">
14 v-model="queryForm.kssj" 14 </el-date-picker>
15 class="width100"
16 type="date"
17 placeholder="选择日期"
18 value-format="yyyy-MM-dd HH:mm:ss"
19 format="yyyy-MM-dd"
20 ></el-date-picker>
21 </el-form-item>
22 </el-col>
23 <el-col :span="6">
24 <el-form-item label="结束时间" class="width100">
25 <el-date-picker
26 v-model="queryForm.kssj"
27 class="width100"
28 type="date"
29 placeholder="选择日期"
30 value-format="yyyy-MM-dd HH:mm:ss"
31 format="yyyy-MM-dd"
32 ></el-date-picker>
33 </el-form-item> 15 </el-form-item>
34 </el-col> 16 </el-col>
35 <el-col :span="6"> 17 <el-col :span="6">
...@@ -41,7 +23,7 @@ ...@@ -41,7 +23,7 @@
41 placeholder="请选择权利类型" 23 placeholder="请选择权利类型"
42 > 24 >
43 <el-option 25 <el-option
44 v-for="item in dictData['A8']" 26 v-for="item in dictData['A20']"
45 :key="item.dcode" 27 :key="item.dcode"
46 :label="item.dname" 28 :label="item.dname"
47 :value="item.dcode" 29 :value="item.dcode"
...@@ -50,7 +32,7 @@ ...@@ -50,7 +32,7 @@
50 </el-select> 32 </el-select>
51 </el-form-item> 33 </el-form-item>
52 </el-col> 34 </el-col>
53 <el-col :span="5" class="btnColRight"> 35 <el-col :span="12" class="btnColRight">
54 <el-form-item> 36 <el-form-item>
55 <el-button 37 <el-button
56 type="primary" 38 type="primary"
...@@ -64,88 +46,96 @@ ...@@ -64,88 +46,96 @@
64 </el-form> 46 </el-form>
65 </div> 47 </div>
66 <div class="concent"> 48 <div class="concent">
67 <div class="left"> 49 <div ref="chart" style="width: 100%; height: 200px"></div>
68 <el-table
69 height="187"
70 stripe
71 :data="tableList"
72 size="mini"
73 border
74 header-cell-class-name="table-header-gray"
75 >
76 <el-table-column
77 label="类型"
78 prop="name"
79 minWidth="100"
80 align="center" />
81 <el-table-column
82 label="数量"
83 prop="agent"
84 minWidth="120"
85 align="center"
86 /></el-table>
87 </div>
88 <div class="right">
89 <div ref="chart" style="width: 100%; height: 200px"></div>
90 </div>
91 </div> 50 </div>
92 </div> 51 </div>
93 </template> 52 </template>
94 <script> 53 <script>
95 import * as echarts from "echarts"; 54 import * as echarts from "echarts";
96 import { mapGetters } from "vuex"; 55 import { mapGetters } from "vuex";
97 export default { 56 export default {
98 components: {}, 57 components: {},
99 computed: { 58 computed: {
100 ...mapGetters(["dictData", "transfer"]), 59 ...mapGetters(["dictData", "transfer"]),
101 }, 60 },
102 data () { 61 data() {
103 return { 62 return {
104 queryForm: {}, 63 queryForm: {},
105 tableList: [{ name: "111" }, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 23],
106 }; 64 };
107 }, 65 },
108 mounted() { 66 mounted() {
109 // 创建一个 ECharts 实例 67 // 创建一个 ECharts 实例
110 this.chart = echarts.init(this.$refs.chart); 68 this.chart = echarts.init(this.$refs.chart);
111 // 在 ECharts 实例中配置图表 69 // 在 ECharts 实例中配置图表
112 this.chart.setOption(this.getOption()); 70 this.chart.setOption(this.getOption());
113 }, 71 },
114 methods: { 72 methods: {
115 getOption() { 73 getOption() {
116 return { 74 return {
75 xAxis: {
76 type: "category",
77 data: [
78 "1月",
79 "2月",
80 "3月",
81 "4月",
82 "5月",
83 "6月",
84 "7月",
85 "8月",
86 "9月",
87 "10月",
88 "11月",
89 "12月",
90 ],
91 },
92 yAxis: {
93 type: "value",
94 },
95 title: {
96 text: "2023年收件情况 ", // 主标题名称
97
98 textStyle: {
99 //主标题文本设置
100 fontSize: 18, //大小
101 },
117 102
103 itemGap: 3, //主副标题间距
104 x: "center", //主副标题的水平位置
105 y: "top", //主副标题的垂直位置
106 },
107 legend: {
108 data: ["转诊量"],
109 top: "6%",
110 right: "4%",
111 textStyle: {
112 color: "#747474",
113 },
114 },
118 tooltip: { 115 tooltip: {
119 trigger: "item", 116 // trigger: "item", //默认效果
120 formatter: "{a} <br/>{b}: {c} ({d}%)", 117 //柱状图加阴影
118 trigger: "axis",
119 axisPointer: {
120 type: "shadow",
121 label: {
122 show: true,
123 },
124 },
125 },
126 grid: {
127 top: "20%",
128 left: "2%",
129 right: "3%",
130 bottom: "20%",
131 containLabel: true,
121 }, 132 },
122 series: [ 133 series: [
123 { 134 {
124 name: "饼图名称", 135 name: "转诊量",
125 type: "pie", 136 data: [38, 42, 50, 157, 40, 45, 60, 140, 36, 47, 54, 143],
126 radius: ["20%", "70%"], 137 barWidth: 40,
127 avoidLabelOverlap: false, 138 type: "bar",
128 label: {
129 show: false,
130 position: "center",
131 },
132 emphasis: {
133 label: {
134 show: true,
135 fontSize: "30",
136 fontWeight: "bold",
137 },
138 },
139 labelLine: {
140 show: false,
141 },
142 data: [
143 { value: 335, name: "数据1" },
144 { value: 310, name: "数据2" },
145 { value: 234, name: "数据3" },
146 { value: 135, name: "数据4" },
147 { value: 1548, name: "数据5" },
148 ],
149 }, 139 },
150 ], 140 ],
151 }; 141 };
...@@ -178,14 +168,6 @@ import { mapGetters } from "vuex"; ...@@ -178,14 +168,6 @@ import { mapGetters } from "vuex";
178 width: 100%; 168 width: 100%;
179 height: 300px; 169 height: 300px;
180 display: flex; 170 display: flex;
181 .left {
182 width: 70%;
183 height: 200px;
184 }
185 .right {
186 width: 30%;
187 height: 200px;
188 }
189 } 171 }
190 } 172 }
191 </style> 173 </style>
......
...@@ -7,41 +7,32 @@ ...@@ -7,41 +7,32 @@
7 <div class="djlx"> 7 <div class="djlx">
8 <div class="inquire"> 8 <div class="inquire">
9 <el-form :model="queryForm" ref="queryForm" label-width="100px"> 9 <el-form :model="queryForm" ref="queryForm" label-width="100px">
10 <el-row> 10 <el-row :gutter="20">
11 <el-col :span="6"> 11 <el-col :span="12">
12 <el-form-item label="开始时间" class="width100"> 12 <el-form-item label="缮证日期" class="width100">
13 <el-date-picker 13 <el-date-picker
14 v-model="queryForm.kssj" 14 v-model="queryForm.sj"
15 type="daterange"
15 class="width100" 16 class="width100"
16 type="date" 17 range-separator="至"
17 placeholder="选择日期" 18 :clearable="false"
18 value-format="yyyy-MM-dd HH:mm:ss" 19 value-format="yyyy-MM-dd"
19 format="yyyy-MM-dd" 20 start-placeholder="开始日期"
20 ></el-date-picker> 21 end-placeholder="结束日期"
21 </el-form-item> 22 >
22 </el-col> 23 </el-date-picker>
23 <el-col :span="6">
24 <el-form-item label="结束时间" class="width100">
25 <el-date-picker
26 v-model="queryForm.kssj"
27 class="width100"
28 type="date"
29 placeholder="选择日期"
30 value-format="yyyy-MM-dd HH:mm:ss"
31 format="yyyy-MM-dd"
32 ></el-date-picker>
33 </el-form-item> 24 </el-form-item>
34 </el-col> 25 </el-col>
35 <el-col :span="6"> 26 <el-col :span="7">
36 <el-form-item label="区域" class="width100"> 27 <el-form-item label="区域" class="width100">
37 <el-select 28 <el-select
38 v-model="queryForm.qy" 29 v-model="queryForm.qy"
39 class="width100" 30 class="width100"
40 clearable 31 clearable
41 placeholder="请选择权利类型" 32 placeholder="请选择区域"
42 > 33 >
43 <el-option 34 <el-option
44 v-for="item in dictData['A8']" 35 v-for="item in dictData['A20']"
45 :key="item.dcode" 36 :key="item.dcode"
46 :label="item.dname" 37 :label="item.dname"
47 :value="item.dcode" 38 :value="item.dcode"
...@@ -50,7 +41,7 @@ ...@@ -50,7 +41,7 @@
50 </el-select> 41 </el-select>
51 </el-form-item> 42 </el-form-item>
52 </el-col> 43 </el-col>
53 <el-col :span="5" class="btnColRight"> 44 <el-col :span="4" class="btnColRight">
54 <el-form-item> 45 <el-form-item>
55 <el-button 46 <el-button
56 type="primary" 47 type="primary"
...@@ -74,13 +65,13 @@ ...@@ -74,13 +65,13 @@
74 header-cell-class-name="table-header-gray" 65 header-cell-class-name="table-header-gray"
75 > 66 >
76 <el-table-column 67 <el-table-column
77 label="类型" 68 label="证书种类"
78 prop="name" 69 prop="name"
79 minWidth="100" 70 minWidth="100"
80 align="center" /> 71 align="center" />
81 <el-table-column 72 <el-table-column
82 label="数量" 73 label="收件数量"
83 prop="agent" 74 prop="value"
84 minWidth="120" 75 minWidth="120"
85 align="center" 76 align="center"
86 /></el-table> 77 /></el-table>
...@@ -94,64 +85,87 @@ ...@@ -94,64 +85,87 @@
94 <script> 85 <script>
95 import * as echarts from "echarts"; 86 import * as echarts from "echarts";
96 import { mapGetters } from "vuex"; 87 import { mapGetters } from "vuex";
97 export default { 88 export default {
98 components: {}, 89 components: {},
99 computed: { 90 computed: {
100 ...mapGetters(["dictData", "transfer"]), 91 ...mapGetters(["dictData", "transfer"]),
101 }, 92 },
102 data () { 93 data() {
103 return { 94 return {
104 queryForm: {}, 95 queryForm: {},
105 tableList: [{ name: "111" }, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 23], 96 tableList: [
97 { name: "首次登记", value: "2" },
98 { name: "变更登记", value: "12" },
99 { name: "抵押登记", value: "23" },
100 { name: "转移登记", value: "33" },
101 { name: "预告登记", value: "13" },
102 { name: "注销登记", value: "3" },
103 { name: "查封登记", value: "4" },
104 { name: "其他登记", value: "26" },
105 ],
106 }; 106 };
107 }, 107 },
108 mounted() { 108 mounted() {
109 // 创建一个 ECharts 实例 109 // 创建一个 ECharts 实例
110 this.chart = echarts.init(this.$refs.chart); 110 this.chart = echarts.init(this.$refs.chart);
111 // 在 ECharts 实例中配置图表 111 // 在 ECharts 实例中配置图表
112 this.chart.setOption(this.getOption()); 112 this.chart.setOption(this.getOption());
113 }, 113 },
114 methods: { 114 methods: {
115 getOption() { 115 getOption() {
116 return { 116 return {
117 117 title: {
118 text: "统计分析图",
119 x: "center",
120 textStyle: {
121 //主标题文本设置
122 fontSize: 12, //大小
123 },
124 },
118 tooltip: { 125 tooltip: {
119 trigger: "item", 126 trigger: "item",
120 formatter: "{a} <br/>{b}: {c} ({d}%)", 127 formatter: "{a} <br/>{b} : {c}个 ({d}%)",
128 },
129 grid: {
130 top: "4%",
131 left: "2%",
132 right: "3%",
133 bottom: "20%",
134 containLabel: true,
121 }, 135 },
122 series: [ 136 series: [
123 { 137 {
124 name: "饼图名称", 138 name: "统计分析图",
125 type: "pie", 139 type: "pie",
126 radius: ["20%", "70%"], 140 radius: "70%",
127 avoidLabelOverlap: false, 141 center: ["50%", "100%"],
128 label: { 142 data: this.tableList,
129 show: false, 143 itemStyle: {
130 position: "center", 144 emphasis: {
131 }, 145 shadowBlur: 10,
132 emphasis: { 146 shadowOffsetX: 0,
133 label: { 147 shadowColor: "rgba(0, 0, 0, 0.5)",
134 show: true,
135 fontSize: "30",
136 fontWeight: "bold",
137 }, 148 },
138 }, 149 },
139 labelLine: { 150 label: {
140 show: false, 151 normal: {
152 formatter: "{c}/个",
153 position: "inside", //让文字显示在饼状图里面
154 textStyle: {
155 fontSize: 10,
156 color: "#fff",
157 },
158 },
141 }, 159 },
142 data: [ 160 center: ["50%", "50%"], // 这个属性调整图像的位置!!!!!
143 { value: 335, name: "数据1" },
144 { value: 310, name: "数据2" },
145 { value: 234, name: "数据3" },
146 { value: 135, name: "数据4" },
147 { value: 1548, name: "数据5" },
148 ],
149 }, 161 },
150 ], 162 ],
151 }; 163 };
152 }, 164 },
153 165
154 handleSearch() {}, 166 handleSearch() {
167 console.log(" this.queryForm", this.queryForm);
168 },
155 }, 169 },
156 }; 170 };
157 </script> 171 </script>
...@@ -171,20 +185,30 @@ import { mapGetters } from "vuex"; ...@@ -171,20 +185,30 @@ import { mapGetters } from "vuex";
171 .inquire { 185 .inquire {
172 width: 100%; 186 width: 100%;
173 height: 40px; 187 height: 40px;
174 border: 1px solid rgb(184, 217, 243); 188 background-color: #f4f7fd;
175 // background-color: rebeccapurple; 189 /deep/ .el-form {
190 .el-form-item--small.el-form-item {
191 margin-bottom: 5px;
192 }
193 }
176 } 194 }
195
177 .concent { 196 .concent {
178 width: 100%; 197 width: 100%;
179 height: 300px; 198 height: 300px;
180 display: flex; 199 display: flex;
200 //调整表头高度
201 /deep/.el-table__header {
202 height: 22px!important;
203 background-color: salmon;
204 }
181 .left { 205 .left {
182 width: 70%; 206 width: 70%;
183 height: 200px; 207 height: 200px;
184 } 208 }
185 .right { 209 .right {
186 width: 30%; 210 width: 30%;
187 height: 200px; 211 height: 300px;
188 } 212 }
189 } 213 }
190 } 214 }
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
10 <el-card 10 <el-card
11 shadow="hover" 11 shadow="hover"
12 :body-style="{ padding: '0' }" 12 :body-style="{ padding: '0' }"
13 style="height: 270px" 13 style="height: 260px"
14 > 14 >
15 <div slot="header" class="flexst"> 15 <div slot="header" class="flexst">
16 <h5 class="title">根据登记类型统计分析收件</h5> 16 <h5 class="title">根据登记类型统计分析收件</h5>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
22 <el-card 22 <el-card
23 shadow="hover" 23 shadow="hover"
24 :body-style="{ padding: '0' }" 24 :body-style="{ padding: '0' }"
25 style="height: 270px" 25 style="height: 260px"
26 > 26 >
27 <div slot="header" class="flexst"> 27 <div slot="header" class="flexst">
28 <h5 class="title">根据证书种类统计分析发证情况</h5> 28 <h5 class="title">根据证书种类统计分析发证情况</h5>
...@@ -36,12 +36,12 @@ ...@@ -36,12 +36,12 @@
36 <el-card 36 <el-card
37 shadow="hover" 37 shadow="hover"
38 :body-style="{ padding: '0' }" 38 :body-style="{ padding: '0' }"
39 style="height: 270px" 39 style="height: 260px"
40 > 40 >
41 <div slot="header" class="flexst"> 41 <div slot="header" class="flexst">
42 <h5 class="title">根据收件人统计分析收件</h5> 42 <h5 class="title">根据收件人统计分析收件</h5>
43 </div> 43 </div>
44 <djlx/> 44 <psjr/>
45 </el-card> 45 </el-card>
46 </el-col> 46 </el-col>
47 47
...@@ -49,12 +49,12 @@ ...@@ -49,12 +49,12 @@
49 <el-card 49 <el-card
50 shadow="hover" 50 shadow="hover"
51 :body-style="{ padding: '0' }" 51 :body-style="{ padding: '0' }"
52 style="height: 270px" 52 style="height: 260px"
53 > 53 >
54 <div slot="header" class="flexst"> 54 <div slot="header" class="flexst">
55 <h5 class="title">收件日统计</h5> 55 <h5 class="title">收件日统计</h5>
56 </div> 56 </div>
57 <ul class="workbench flexst"></ul> 57 <sjri/>
58 </el-card> 58 </el-card>
59 </el-col> 59 </el-col>
60 </el-row> 60 </el-row>
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
63 <el-card 63 <el-card
64 shadow="hover" 64 shadow="hover"
65 :body-style="{ padding: '0' }" 65 :body-style="{ padding: '0' }"
66 style="height: 270px" 66 style="height: 260px"
67 > 67 >
68 <div slot="header" class="flexst"> 68 <div slot="header" class="flexst">
69 <h5 class="title">根据区域统计分析收件</h5> 69 <h5 class="title">根据区域统计分析收件</h5>
...@@ -75,12 +75,12 @@ ...@@ -75,12 +75,12 @@
75 <el-card 75 <el-card
76 shadow="hover" 76 shadow="hover"
77 :body-style="{ padding: '0' }" 77 :body-style="{ padding: '0' }"
78 style="height: 270px" 78 style="height: 260px"
79 > 79 >
80 <div slot="header" class="flexst"> 80 <div slot="header" class="flexst">
81 <h5 class="title">收件月统计</h5> 81 <h5 class="title">收件月统计</h5>
82 </div> 82 </div>
83 <ul class="workbench flexst"></ul> 83 <sjyue/>
84 </el-card> 84 </el-card>
85 </el-col> 85 </el-col>
86 </el-row> 86 </el-row>
...@@ -92,9 +92,12 @@ import { mapGetters } from "vuex"; ...@@ -92,9 +92,12 @@ import { mapGetters } from "vuex";
92 import djlx from "./components/djlx.vue"; 92 import djlx from "./components/djlx.vue";
93 import zszl from "./components/zszl.vue"; 93 import zszl from "./components/zszl.vue";
94 import qytj from "./components/qytj.vue"; 94 import qytj from "./components/qytj.vue";
95 import sjri from "./components/sjri.vue";
96 import sjyue from "./components/sjyue.vue";
97 import psjr from "./components/sjr.vue";
95 98
96 export default { 99 export default {
97 components: {djlx,zszl,qytj}, 100 components: {djlx,zszl,qytj,sjri,sjyue,psjr},
98 computed: { 101 computed: {
99 ...mapGetters(["dictData", "transfer"]), 102 ...mapGetters(["dictData", "transfer"]),
100 }, 103 },
...@@ -105,48 +108,13 @@ export default { ...@@ -105,48 +108,13 @@ export default {
105 }; 108 };
106 }, 109 },
107 mounted() { 110 mounted() {
108 // 创建一个 ECharts 实例 111
109 this.chart = echarts.init(this.$refs.chart);
110 // 在 ECharts 实例中配置图表
111 this.chart.setOption(this.getOption());
112 }, 112 },
113 methods: { 113 methods: {
114 getOption() { 114 getOption() {
115 return { 115 return {
116 116
117 tooltip: { 117
118 trigger: "item",
119 formatter: "{a} <br/>{b}: {c} ({d}%)",
120 },
121 series: [
122 {
123 name: "饼图名称",
124 type: "pie",
125 radius: ["20%", "70%"],
126 avoidLabelOverlap: false,
127 label: {
128 show: false,
129 position: "center",
130 },
131 emphasis: {
132 label: {
133 show: true,
134 fontSize: "30",
135 fontWeight: "bold",
136 },
137 },
138 labelLine: {
139 show: false,
140 },
141 data: [
142 { value: 335, name: "数据1" },
143 { value: 310, name: "数据2" },
144 { value: 234, name: "数据3" },
145 { value: 135, name: "数据4" },
146 { value: 1548, name: "数据5" },
147 ],
148 },
149 ],
150 }; 118 };
151 }, 119 },
152 120
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-25 08:59:04 4 * @LastEditTime: 2023-08-25 08:59:04
5 --> 5 -->
6 <template> 6 <template>
7 <div class='yhjgba'> 7 <div class="tjltj">
8 <el-empty description="正在开发"></el-empty> 8 <div class="inquire">
9 <el-form :model="queryForm" ref="queryForm" label-width="100px">
10 <el-row>
11 <el-col :span="19">
12 <div class="rowAc">
13 <div
14 v-for="(item, index) in dateQuickSelection"
15 :key="index"
16 class="rowAc dateQuickItem"
17 @click="chooseDateQuick(index)"
18 >
19 {{ item.name }}
20 </div>
21 <el-date-picker
22 v-model="dateRange"
23 type="daterange"
24 value-format="yyyy-MM-dd"
25 end-placeholder="结束日期"
26 start-placeholder="开始日期"
27 :clearable="false"
28 range-separator="-"
29 class="dataRangePicker"
30 @change="chooseDateRange"
31 ></el-date-picker>
32 </div>
33 </el-col>
34
35 <el-col :span="5" class="btnColRight">
36 <el-form-item>
37 <el-button
38 type="primary"
39 native-type="submit"
40 @click="handleSearch"
41 >查询</el-button
42 >
43 <el-button type="primary" native-type="submit" @click="derive"
44 >导出</el-button
45 >
46 </el-form-item>
47 </el-col>
48 </el-row>
49 </el-form>
50 </div>
51 <div ref="chart" style="width: 100%; height: 92%"></div>
9 </div> 52 </div>
10 </template> 53 </template>
11 <script> 54 <script>
55 import * as echarts from "echarts";
56 export default {
57 components: {},
58 data() {
59 return {
60 dateQuickSelection: [
61 // 日期快捷选择列表
62 { code: "1", name: "今日" },
63 { code: "2", name: "昨日" },
64 { code: "3", name: "本周" },
65 { code: "4", name: "上周" },
66 { code: "5", name: "本月" },
67 { code: "6", name: "上月" },
68 { code: "7", name: "今年" },
69 { code: "8", name: "去年" },
70 ],
71 chooseIndex: 0, // 日期快捷选择项索引
72 dateRange: [], // 自定义列表 - 日期范围
73 queryForm: {},
74 data1: [12, 10, 15, 12, 15, 19, 15],
75 data2: [1, 2, 2, 3, 2, 3, 2],
76 data3: [],
77 xAxisData: [
78 "赵龙龙",
79 "刘龙龙",
80 "田龙龙",
81 "任龙龙",
82 "孙龙龙",
83 "李龙龙",
84 "周龙龙",
85 ],
86 };
87 },
88 mounted() {
89 this.setdata();
90 // 创建一个 ECharts 实例
91 this.chart = echarts.init(this.$refs.chart);
92 // 在 ECharts 实例中配置图表
93 this.chart.setOption(this.getOption());
94 this.chooseDateQuick(0);
12 95
13 export default { 96 },
14 components: {}, 97 methods: {
15 data () { 98 setdata() {
99 for (let i = 0; i < this.data1.length; i++) {
100 let sum = (this.data2[i] / this.data1[i]) * 100;
101 this.data3.push(Number(sum).toFixed(0));
102 }
103 },
104 // 导出
105 derive() {},
106 // 查询
107 handleSearch() {
108 console.log("dateRange", this.dateRange);
109 },
110 getOption() {
16 return { 111 return {
112 title: {
113 text: "收件与超时统计情况 ", // 主标题名称
114
115 textStyle: {
116 //主标题文本设置
117 fontSize: 26, //大小
118 },
119
120 itemGap: 3, //主副标题间距
121 x: "center", //主副标题的水平位置
122 y: "top", //主副标题的垂直位置
123 },
124 tooltip: {
125 trigger: "item",
126 textStyle: {
127 fontSize: 14,
128 lineHeight: 22,
129 },
130 // 如果需要自定义 tooltip样式,需要使用formatter
131 formatter: (params) => {
132 console.log("paramsssssssssssssssssss", params);
133 return `<div font-size: 14px;line-height: 24px>
134 ${params.seriesName}
135 <br>
136 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${
137 Number(params.value).toFixed(2) + "%"
138 } </span>
139
140
141 </div>`;
142 },
143 },
144
145 legend: {
146 data: ["办件数", "超时数", "超时时间"],
147 bottom: "3%",
148 itemWidth: 20,
149 itemHeight: 20,
150 //文字样式
151 textStyle: {
152 fontSize: 17, //设置文字大小
153 },
154 },
155 grid: [{ right: "3%", top: "10%", bottom: "15%", left: "3%" }],
156 color: ["#94ae0a", "#115fa6", "#a61120"],
157 xAxis: {
158 data: this.xAxisData,
159 axisLabel: {
160 // 轴文字
161 fontSize: 18,
162 },
163 },
164 yAxis: {
165 axisLabel: {
166 // 轴文字
167 fontSize: 18,
168 },
169 },
170 series: [
171 {
172 name: "办件数",
173 type: "bar",
174 data: this.data1,
175 label: {
176 normal: {
177 show: true,
178 fontSize: 13,
179 position: "top",
180 },
181 },
182 },
183 {
184 name: "超时数",
185 type: "bar",
186 data: this.data2,
187 label: {
188 normal: {
189 show: true,
190 fontSize: 13,
191 position: "top",
192 },
193 },
194 },
195 {
196 name: "超时时间",
197 type: "bar",
198 data: this.data3,
199 label: {
200 normal: {
201 show: true,
202 fontSize: 13,
203 position: "top",
204 },
205 },
206 },
207 ],
208 };
209 },
210 // 日期快捷选择事件
211 chooseDateQuick(index) {
212 this.chooseIndex = index;
213 var tempCode = this.dateQuickSelection.find(
214 (ele) => this.chooseIndex === Number(ele.code) - 1
215 ).code;
216 var tempDate = new Date();
217 var year = tempDate.getFullYear();
218 var month = tempDate.getMonth();
219 var day = tempDate.getDate();
220 var week = tempDate.getDay();
221 this.dateRange = [];
222 if (tempCode === "1") {
223 // 今日
224 this.dateRange.push(
225 this.formatDate(tempDate),
226 this.formatDate(tempDate)
227 );
228 } else if (tempCode === "2") {
229 // 昨日
230 this.dateRange.push(
231 this.jumpNumDay(tempDate, -1, "-"),
232 this.jumpNumDay(tempDate, -1, "-")
233 );
234 } else if (tempCode === "3") {
235 // 本周
236 this.dateRange.push(
237 this.formatDate(new Date(year, month, day - week + 1)),
238 this.formatDate(tempDate)
239 );
240 } else if (tempCode === "4") {
241 // 上周
242 this.dateRange.push(
243 this.formatDate(new Date(year, month, day - week - 6)),
244 this.formatDate(new Date(year, month, day - week))
245 );
246 } else if (tempCode === "5") {
247 // 本月
248 this.dateRange.push(
249 this.formatDate(new Date(year, month, 1)),
250 this.formatDate(tempDate)
251 );
252 } else if (tempCode === "6") {
253 // 上月
254 this.dateRange.push(
255 this.formatDate(new Date(year, month - 1, 1)),
256 this.formatDate(new Date(year, month, 0))
257 );
258 } else if (tempCode === "7") {
259 // 今年
260 this.dateRange.push(
261 this.formatDate(new Date(year, 0, 1)),
262 this.formatDate(tempDate)
263 );
264 } else if (tempCode === "8") {
265 // 去年
266 this.dateRange.push(
267 this.formatDate(new Date(year - 1, 0, 1)),
268 this.formatDate(new Date(year - 1, 11, 31))
269 );
17 } 270 }
18 } 271 },
19 } 272 // 日期范围选择器事件
273 chooseDateRange() {
274 this.chooseIndex = null;
275 },
276 // 数字转换
277 changeNum(num) {
278 if (num >= 10) {
279 return num;
280 } else {
281 return "0" + num;
282 }
283 },
284 // 格式化日期
285 formatDate(date) {
286 var year = date.getFullYear();
287 var month = this.changeNum(date.getMonth() + 1);
288 var day = this.changeNum(date.getDate());
289 return `${year}-${month}-${day}`;
290 },
291 // 某日期向前/向后num天
292 jumpNumDay(date, num, linkStr = '-') {
293 date = new Date(date.getTime() + (num * 24 * 60 * 60 * 1000))
294 return date.getFullYear() + linkStr + this.changeNum(date.getMonth() + 1) + linkStr + this.changeNum(date.getDate())
295 },
296 },
297 };
20 </script> 298 </script>
21 <style scoped lang='scss'>
22 </style>
...\ No newline at end of file ...\ No newline at end of file
299 <style scoped lang="scss">
300 .tjltj {
301 width: 100%;
302 height: 100%;
303 .inquire {
304 width: 100%;
305 height: 40px;
306 padding-top: 3px;
307 background-color: #ffffff;
308 margin-bottom: 10px;
309
310
311 }
312 .rowAc {
313 margin-left: 10px;
314 display: flex;
315 justify-content: flex-start;
316 align-items: center;
317 }
318 .dateQuickItem {
319 padding: 1px 8px;
320 margin-right: 16px;
321 color: #3c4353;
322 font-size: 14px;
323 line-height: 22px;
324 font-weight: 400;
325 border: 1px solid #dcdee0;
326 border-radius: 16px;
327 background: #ffffff;
328 cursor: pointer;
329 box-sizing: border-box;
330 }
331 .dateQuickItem:hover,
332 .dateQuickItem.active {
333 color: #1b58f4;
334 border: 1px solid #1b58f4;
335 }
336 .dateQuickItem.disabled {
337 color: #c8c9cc;
338 border: 1px solid #dcdee0;
339 background: #f7f8f9;
340 cursor: not-allowed; // 禁止鼠标事件
341 }
342 .dataRangePicker {
343 width: 240px !important;
344 height: 32px !important;
345 }
346 .dataRangePicker.el-date-editor .el-range-separator {
347 line-height: 24px;
348 }
349 .dataRangePicker.el-date-editor .el-range__icon {
350 margin-left: 0px;
351 line-height: 24px;
352 }
353 .dataRangePicker.el-date-editor .el-range-input {
354 width: 95px;
355 }
356 }
357 </style>
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-25 08:59:04 4 * @LastEditTime: 2023-08-25 08:59:04
5 --> 5 -->
6 <template> 6 <template>
7 <div class='yhjgba'> 7 <div class="tjltj">
8 <el-empty description="正在开发"></el-empty> 8 <div class="inquire">
9 <el-form :model="queryForm" ref="queryForm" label-width="100px">
10 <el-row>
11 <el-col :span="19">
12 <div class="rowAc">
13 <div
14 v-for="(item, index) in dateQuickSelection"
15 :key="index"
16 class="rowAc dateQuickItem"
17 @click="chooseDateQuick(index)"
18 >
19 {{ item.name }}
20 </div>
21 <el-date-picker
22 v-model="dateRange"
23 type="daterange"
24 value-format="yyyy-MM-dd"
25 end-placeholder="结束日期"
26 start-placeholder="开始日期"
27 :clearable="false"
28 range-separator="-"
29 class="dataRangePicker"
30 @change="chooseDateRange"
31 ></el-date-picker>
32 </div>
33 </el-col>
34
35 <el-col :span="5" class="btnColRight">
36 <el-form-item>
37 <el-button
38 type="primary"
39 native-type="submit"
40 @click="handleSearch"
41 >查询</el-button
42 >
43 <el-button type="primary" native-type="submit" @click="derive"
44 >导出</el-button
45 >
46 </el-form-item>
47 </el-col>
48 </el-row>
49 </el-form>
50 </div>
51 <div ref="chart" style="width: 100%; height: 92%"></div>
9 </div> 52 </div>
10 </template> 53 </template>
11 <script> 54 <script>
55 import * as echarts from "echarts";
56 export default {
57 components: {},
58 data() {
59 return {
60 dateQuickSelection: [
61 // 日期快捷选择列表
62 { code: "1", name: "今日" },
63 { code: "2", name: "昨日" },
64 { code: "3", name: "本周" },
65 { code: "4", name: "上周" },
66 { code: "5", name: "本月" },
67 { code: "6", name: "上月" },
68 { code: "7", name: "今年" },
69 { code: "8", name: "去年" },
70 ],
71 chooseIndex: 0, // 日期快捷选择项索引
72 dateRange: [], // 自定义列表 - 日期范围
73 queryForm: {},
74 data1: [23, 45, 23, 11, 15, 19, 35],
75 data2: [1, 4, 1, 3, 2, 3, 4],
76 data3: [],
77 xAxisData: [
78 "赵红红",
79 "刘红红",
80 "田红红",
81 "任红红",
82 "孙红红",
83 "李红红",
84 "周红红",
85 ],
86 };
87 },
88 mounted() {
89 this.setdata();
90 // 创建一个 ECharts 实例
91 this.chart = echarts.init(this.$refs.chart);
92 // 在 ECharts 实例中配置图表
93 this.chart.setOption(this.getOption());
94 this.chooseDateQuick(0);
12 95
13 export default { 96 },
14 components: {}, 97 methods: {
15 data () { 98 setdata() {
99 for (let i = 0; i < this.data1.length; i++) {
100 let sum = (this.data2[i] / this.data1[i]) * 100;
101 this.data3.push(Number(sum).toFixed(0));
102 }
103 },
104 // 导出
105 derive() {},
106 // 查询
107 handleSearch() {
108 console.log("dateRange", this.dateRange);
109 },
110 getOption() {
16 return { 111 return {
112 title: {
113 text: "收件与退件统计情况 ", // 主标题名称
114
115 textStyle: {
116 //主标题文本设置
117 fontSize: 26, //大小
118 },
119
120 itemGap: 3, //主副标题间距
121 x: "center", //主副标题的水平位置
122 y: "top", //主副标题的垂直位置
123 },
124 tooltip: {
125 trigger: "item",
126 textStyle: {
127 fontSize: 14,
128 lineHeight: 22,
129 },
130 // 如果需要自定义 tooltip样式,需要使用formatter
131 formatter: (params) => {
132 return `<div font-size: 14px;line-height: 24px>
133 ${params.seriesName}
134 <br>
135 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${
136 Number(params.value).toFixed(2) + "%"
137 } </span>
138
139
140 </div>`;
141 },
142 },
143
144 legend: {
145 data: ["收件", "退件", "退件率"],
146 bottom: "3%",
147 itemWidth: 20,
148 itemHeight: 20,
149 //文字样式
150 textStyle: {
151 fontSize: 17, //设置文字大小
152 },
153 },
154 grid: [{ right: "3%", top: "10%", bottom: "15%", left: "3%" }],
155 color: ["#94ae0a", "#115fa6", "#a61120"],
156 xAxis: {
157 data: this.xAxisData,
158 axisLabel: {
159 // 轴文字
160 fontSize: 18,
161 },
162 },
163 yAxis: {
164 axisLabel: {
165 // 轴文字
166 fontSize: 18,
167 },
168 },
169 series: [
170 {
171 name: "收件",
172 type: "bar",
173 data: this.data1,
174 label: {
175 normal: {
176 show: true,
177 fontSize: 13,
178 position: "top",
179 },
180 },
181 },
182 {
183 name: "退件",
184 type: "bar",
185 data: this.data2,
186 label: {
187 normal: {
188 show: true,
189 fontSize: 13,
190 position: "top",
191 },
192 },
193 },
194 {
195 name: "退件率",
196 type: "bar",
197 data: this.data3,
198 label: {
199 normal: {
200 show: true,
201 fontSize: 13,
202 position: "top",
203 },
204 },
205 },
206 ],
207 };
208 },
209 // 日期快捷选择事件
210 chooseDateQuick(index) {
211 this.chooseIndex = index;
212 var tempCode = this.dateQuickSelection.find(
213 (ele) => this.chooseIndex === Number(ele.code) - 1
214 ).code;
215 var tempDate = new Date();
216 var year = tempDate.getFullYear();
217 var month = tempDate.getMonth();
218 var day = tempDate.getDate();
219 var week = tempDate.getDay();
220 this.dateRange = [];
221 if (tempCode === "1") {
222 // 今日
223 this.dateRange.push(
224 this.formatDate(tempDate),
225 this.formatDate(tempDate)
226 );
227 } else if (tempCode === "2") {
228 // 昨日
229 this.dateRange.push(
230 this.jumpNumDay(tempDate, -1, "-"),
231 this.jumpNumDay(tempDate, -1, "-")
232 );
233 } else if (tempCode === "3") {
234 // 本周
235 this.dateRange.push(
236 this.formatDate(new Date(year, month, day - week + 1)),
237 this.formatDate(tempDate)
238 );
239 } else if (tempCode === "4") {
240 // 上周
241 this.dateRange.push(
242 this.formatDate(new Date(year, month, day - week - 6)),
243 this.formatDate(new Date(year, month, day - week))
244 );
245 } else if (tempCode === "5") {
246 // 本月
247 this.dateRange.push(
248 this.formatDate(new Date(year, month, 1)),
249 this.formatDate(tempDate)
250 );
251 } else if (tempCode === "6") {
252 // 上月
253 this.dateRange.push(
254 this.formatDate(new Date(year, month - 1, 1)),
255 this.formatDate(new Date(year, month, 0))
256 );
257 } else if (tempCode === "7") {
258 // 今年
259 this.dateRange.push(
260 this.formatDate(new Date(year, 0, 1)),
261 this.formatDate(tempDate)
262 );
263 } else if (tempCode === "8") {
264 // 去年
265 this.dateRange.push(
266 this.formatDate(new Date(year - 1, 0, 1)),
267 this.formatDate(new Date(year - 1, 11, 31))
268 );
17 } 269 }
18 } 270 },
19 } 271 // 日期范围选择器事件
272 chooseDateRange() {
273 this.chooseIndex = null;
274 },
275 // 数字转换
276 changeNum(num) {
277 if (num >= 10) {
278 return num;
279 } else {
280 return "0" + num;
281 }
282 },
283 // 格式化日期
284 formatDate(date) {
285 var year = date.getFullYear();
286 var month = this.changeNum(date.getMonth() + 1);
287 var day = this.changeNum(date.getDate());
288 return `${year}-${month}-${day}`;
289 },
290 // 某日期向前/向后num天
291 jumpNumDay(date, num, linkStr = '-') {
292 date = new Date(date.getTime() + (num * 24 * 60 * 60 * 1000))
293 return date.getFullYear() + linkStr + this.changeNum(date.getMonth() + 1) + linkStr + this.changeNum(date.getDate())
294 },
295 },
296 };
20 </script> 297 </script>
21 <style scoped lang='scss'>
22 </style>
...\ No newline at end of file ...\ No newline at end of file
298 <style scoped lang="scss">
299 .tjltj {
300 width: 100%;
301 height: 100%;
302 .inquire {
303 width: 100%;
304 height: 40px;
305 padding-top: 3px;
306 background-color: #ffffff;
307 margin-bottom: 10px;
308 }
309 .rowAc {
310 margin-left: 10px;
311 display: flex;
312 justify-content: flex-start;
313 align-items: center;
314 }
315 .dateQuickItem {
316 padding: 1px 8px;
317 margin-right: 16px;
318 color: #3c4353;
319 font-size: 14px;
320 line-height: 22px;
321 font-weight: 400;
322 border: 1px solid #dcdee0;
323 border-radius: 16px;
324 background: #ffffff;
325 cursor: pointer;
326 box-sizing: border-box;
327 }
328 .dateQuickItem:hover,
329 .dateQuickItem.active {
330 color: #1b58f4;
331 border: 1px solid #1b58f4;
332 }
333 .dateQuickItem.disabled {
334 color: #c8c9cc;
335 border: 1px solid #dcdee0;
336 background: #f7f8f9;
337 cursor: not-allowed; // 禁止鼠标事件
338 }
339 .dataRangePicker {
340 width: 240px !important;
341 height: 32px !important;
342 }
343 .dataRangePicker.el-date-editor .el-range-separator {
344 line-height: 24px;
345 }
346 .dataRangePicker.el-date-editor .el-range__icon {
347 margin-left: 0px;
348 line-height: 24px;
349 }
350 .dataRangePicker.el-date-editor .el-range-input {
351 width: 95px;
352 }
353 }
354 </style>
......