cdd0c731 by renchao@pashanhoo.com

Merge branch 'dev'

2 parents 46032fe9 d164eca5
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();
117 },
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 })
115 // 创建一个 ECharts 实例 139 // 创建一个 ECharts 实例
116 this.chart = echarts.init(this.$refs.chart); 140 this.chart = echarts.init(this.$refs.chart);
117 // 在 ECharts 实例中配置图表 141 // 在 ECharts 实例中配置图表
118 this.chart.setOption(this.getOption()); 142 this.chart.setOption(this.getOption());
143 }
144 })
119 }, 145 },
120 methods: {
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();
92 },
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 })
87 // 创建一个 ECharts 实例 113 // 创建一个 ECharts 实例
88 this.chart = echarts.init(this.$refs.chart); 114 this.chart = echarts.init(this.$refs.chart);
89 // 在 ECharts 实例中配置图表 115 // 在 ECharts 实例中配置图表
90 this.chart.setOption(this.getOption()); 116 this.chart.setOption(this.getOption());
117 }
118 })
91 }, 119 },
92 methods: { 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();
110 },
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());
107 // 创建一个 ECharts 实例 131 // 创建一个 ECharts 实例
108 this.chart = echarts.init(this.$refs.chart); 132 this.chart = echarts.init(this.$refs.chart);
109 // 在 ECharts 实例中配置图表 133 // 在 ECharts 实例中配置图表
110 this.chart.setOption(this.getOption()); 134 this.chart.setOption(this.getOption());
135 }
136 })
111 }, 137 },
112 methods: {
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:"",
70 }, 89 qy: ''
71 datas: [12, 23, 15, 28, 37, 11, 13, 32, 34, 56, 12, 15], 90 },
72 datatime: [ 91 datas: [],
73 "1日", 92 datatime: [],
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
88 },
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)
87 // 创建一个 ECharts 实例 105 // 创建一个 ECharts 实例
88 this.chart = echarts.init(this.$refs.chart); 106 this.chart = echarts.init(this.$refs.chart);
89 // 在 ECharts 实例中配置图表 107 // 在 ECharts 实例中配置图表
90 this.chart.setOption(this.getOption()); 108 this.chart.setOption(this.getOption());
91 this.chooseDateQuick(0); 109 }
110 })
92 }, 111 },
93 methods: { 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 == '超时时间') {
144 return `<div font-size: 14px;line-height: 24px> 157 return `<div font-size: 14px;line-height: 24px>
145 ${params.seriesName} 158 ${params.seriesName}
146 <br> 159 <br>
147 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${ 160 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${
148 Number(params.value).toFixed(2) + "%" 161 Number(params.value).toFixed(2) + "小时"
162 } </span>
163 </div>`;
164 }
165 return `<div font-size: 14px;line-height: 24px>
166 ${params.seriesName}
167 <br>
168 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${
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();
88 },
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)
91 // 创建一个 ECharts 实例 105 // 创建一个 ECharts 实例
92 this.chart = echarts.init(this.$refs.chart); 106 this.chart = echarts.init(this.$refs.chart);
93 // 在 ECharts 实例中配置图表 107 // 在 ECharts 实例中配置图表
94 this.chart.setOption(this.getOption()); 108 this.chart.setOption(this.getOption());
95 this.chooseDateQuick(0); 109 }
96 110 })
97 }, 111 },
98 methods: { 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,6 +155,7 @@ console.log("this.exdata",this.exdata); ...@@ -148,6 +155,7 @@ console.log("this.exdata",this.exdata);
148 }, 155 },
149 // 如果需要自定义 tooltip样式,需要使用formatter 156 // 如果需要自定义 tooltip样式,需要使用formatter
150 formatter: (params) => { 157 formatter: (params) => {
158 if (params.seriesName == '退件率') {
151 return `<div font-size: 14px;line-height: 24px> 159 return `<div font-size: 14px;line-height: 24px>
152 ${params.seriesName} 160 ${params.seriesName}
153 <br> 161 <br>
...@@ -155,6 +163,14 @@ console.log("this.exdata",this.exdata); ...@@ -155,6 +163,14 @@ console.log("this.exdata",this.exdata);
155 Number(params.value).toFixed(2) + "%" 163 Number(params.value).toFixed(2) + "%"
156 } </span> 164 } </span>
157 </div>`; 165 </div>`;
166 }
167 return `<div font-size: 14px;line-height: 24px>
168 ${params.seriesName}
169 <br>
170 <span font-size: 16px; font-weight: 600;"> ${params.name}: ${
171 Number(params.value).toFixed(2) + ""
172 } </span>
173 </div>`;
158 }, 174 },
159 }, 175 },
160 176
...@@ -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() {
......
...@@ -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 // 装载第一个模板并设置数据
......
...@@ -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 },
......
...@@ -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,6 +215,7 @@ ...@@ -215,6 +215,7 @@
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 if (this.formData.QyYh == 1) {
218 addQy(this.ruleForm).then(res => { 219 addQy(this.ruleForm).then(res => {
219 if (res.code == 200) { 220 if (res.code == 200) {
220 that.$message.success('保存成功') 221 that.$message.success('保存成功')
...@@ -229,6 +230,22 @@ ...@@ -229,6 +230,22 @@
229 } 230 }
230 }) 231 })
231 } else { 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
248 } else {
232 this.$message.error('请完善表单'); 249 this.$message.error('请完善表单');
233 return false; 250 return false;
234 } 251 }
......
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:04:11
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/components/addDialog", { isAdd: 1 }, "75%") 109 this.$popupDialog("添加企业", "xxba/qyxxba/components/addDialog", { isAdd: 1, QyYh: 1 }, "75%")
110 }, 110 },
111 /** 111 /**
112 * @description: handleDelete 112 * @description: handleDelete
......
1 <template>
2 <div style="height:650px">
3 <el-tabs v-model="activeName" @tab-click="handleClick">
4 <el-tab-pane label="银行信息" name="1"></el-tab-pane>
5 <el-tab-pane label="材料信息" v-if="formData.isAdd==2" name="2"></el-tab-pane>
6 </el-tabs>
7 <el-form ref="ruleForm" :model="ruleForm" label-width="100px" style="height:90%" v-if="activeName==1" :rules="rules">
8 <div style="height:90%">
9 <el-row>
10 <el-col :span="12">
11 <el-form-item label="银行名称:" prop="qymc">
12 <el-input v-model="ruleForm.qymc"></el-input>
13 </el-form-item>
14 </el-col>
15 <el-col :span="12">
16 <el-form-item label="电话:" prop="dh">
17 <el-input v-model.number="ruleForm.dh" maxlength="11"></el-input>
18 </el-form-item>
19 </el-col>
20 </el-row>
21 <el-row>
22 <el-col :span="12">
23 <el-form-item label="证件种类:" prop="zjzl">
24 <el-select
25 clearable
26 v-model="ruleForm.zjzl"
27 class="width100"
28 placeholder="请选择">
29 <el-option
30 v-for="item in zjzlList"
31 :key="item.dcode"
32 :label="item.dname"
33 :value="item.dcode">
34 </el-option>
35 </el-select>
36 </el-form-item>
37 </el-col>
38 <el-col :span="12">
39 <el-form-item label="证件号:" prop="zjh">
40 <el-input v-model="ruleForm.zjh" maxlength="18"></el-input>
41 </el-form-item>
42 </el-col>
43 </el-row>
44
45 <el-row>
46 <el-col :span="12">
47 <el-form-item label="法人名称:" prop="frmc">
48 <el-input v-model="ruleForm.frmc"></el-input>
49 </el-form-item>
50 </el-col>
51 <el-col :span="12">
52 <el-form-item label="法人电话:" prop="frdh">
53 <el-input v-model="ruleForm.frdh" maxlength="11"></el-input>
54 </el-form-item>
55 </el-col>
56 </el-row>
57 <el-row>
58 <el-col :span="12">
59 <el-form-item label="单位地址:" prop="dwdz">
60 <el-input v-model="ruleForm.dwdz"></el-input>
61 </el-form-item>
62 </el-col>
63 <el-col :span="12">
64 <el-form-item label="邮编:" prop="yb">
65 <el-input v-model="ruleForm.yb"></el-input>
66 </el-form-item>
67 </el-col>
68 </el-row>
69 </div>
70 <el-form-item style="text-align:center">
71 <el-button @click="closeDialog">取消</el-button>
72 <el-button type="primary" @click="submitForm">保存</el-button>
73 </el-form-item>
74 </el-form>
75 <clxx v-if="activeName==2" :formData="formData" />
76 </div>
77 </template>
78
79 <script>
80 const checkPhone = (rule, value, callback) => {
81 let regPone = null
82 let mobile = /^(1[3456789]\d{9})$/ //手机号
83 let tel = /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/ // 座机
84 if (value && value[0] === '0') {// 检查 value 是否存在并且不是 null 或者 undefined
85 regPone = tel
86 } else if (value && value[0] !== '0') {
87 regPone = mobile
88 }
89 if (regPone === null) {
90 return callback(
91 new Error('请输入电话')
92 )
93 } else if (!regPone.test(value)) {
94 return callback(
95 new Error("请输入正确的电话格式,其中座机格式'区号-座机号码'")
96 )
97 } else {
98 callback()
99 }
100 };
101 import store from '@/store/index.js'
102 import { addQy, update, addYh } from "@/api/xxba.js"
103 import clxx from './clxx/index.vue'
104 export default {
105 props: {
106 formData: {
107 type: Object,
108 default: () => { },
109 },
110 },
111 components: {
112 clxx
113 },
114 data () {
115 return {
116 zjzlList: store.getters.dictData['A30'],
117 activeName: "1",
118 DJJGLIST: store.getters.dictData['ywly'],
119 readOnly: false,
120 //表单提交数据
121 ruleForm: {
122 batchno: '',
123 djjg: '',
124 operationtime: '',
125 bz: '',
126 zsstarno: '',
127 zsendno: '',
128 zsnum: '',
129 zmstarno: '',
130 zmendno: '',
131 zmnum: ''
132 },
133 //表格数据
134 tableForm: [
135 {
136 name: '不动产权证书',
137 ksysxlh: '',
138 jsysxlh: '',
139 bs: 0,
140 zslx: 1
141 },
142 {
143 name: '不动产登记证明',
144 ksysxlh: '',
145 jsysxlh: '',
146 bs: 0,
147 zslx: 2
148 }
149 ],
150 rules: {
151 qymc: [
152 { required: true, message: '银行名称不能为空', trigger: 'blur' }
153 ],
154 dh: [
155 { required: true, validator: checkPhone, trigger: ["blur"] },
156 ],
157 zjzl: [
158 { required: true, message: '请选择证件种类', trigger: 'change' }
159 ],
160 zjh: [
161 { required: true, message: '请输入证件号', trigger: 'blur' }
162 ],
163 frmc: [
164 { required: true, message: '请输入法人名称', trigger: 'blur' }
165 ],
166 frdh: [
167 { required: true, validator: checkPhone, trigger: ["blur"] },
168 ],
169 dwdz: [
170 { required: true, message: '请输入单位地址', trigger: 'blur' }
171 ]
172 }
173 }
174 },
175 mounted () {
176 if (this.formData.bsmBatch) {
177 this.tableForm[0].bs = null;
178 this.tableForm[1].bs = null;
179 this.getDetailInfo(this.formData.bsmBatch)
180 }
181 let list = Object.keys(this.formData).length
182 if (list > 0) {
183 this.ruleForm = this.formData
184 }
185 },
186 methods: {
187 handleClick () { },
188 /**
189 * @description: 表单提交
190 * @author: renchao
191 */
192 submitForm () {
193 let that = this
194 this.tableForm.forEach((item, index) => {
195 if (item.bs < 0) {
196 return;
197 }
198 })
199 if (this.formData.isAdd != 1) {
200 store.dispatch("user/refreshPage", false);
201 update(this.ruleForm).then(res => {
202 if (res.code == 200) {
203 this.$message.success('保存成功')
204 this.$emit("input", false);
205 this.$refs['ruleForm'].resetFields();
206 this.resetTableFields();
207 this.closeDialog();
208 //刷新列表
209 store.dispatch("user/refreshPage", true);
210 } else {
211 this.$message.error(res.message);
212 }
213 })
214 } else {
215 that.$refs['ruleForm'].validate((valid) => {
216 if (valid) {
217 store.dispatch("user/refreshPage", false);
218 if (this.formData.QyYh == 1) {
219 addQy(this.ruleForm).then(res => {
220 if (res.code == 200) {
221 that.$message.success('保存成功')
222 that.$emit("input", false);
223 that.$refs['ruleForm'].resetFields();
224 that.resetTableFields();
225 that.closeDialog();
226 //刷新列表
227 store.dispatch("user/refreshPage", true);
228 } else {
229 that.$message.error(res.message);
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
248 } else {
249 this.$message.error('请完善表单');
250 return false;
251 }
252 })
253 }
254 },
255 /**
256 * @description: 获取详情信息
257 * @param {*} bsmBatch
258 * @author: renchao
259 */
260 getDetailInfo (bsmBatch) {
261 getZsglInfo({ "bsmBatch": bsmBatch }).then(res => {
262 if (res.code == 200) {
263 this.ruleForm = res.result;
264 this.readOnly = false;
265 this.tableForm[0].ksysxlh = res.result.zsstarno;
266 this.tableForm[0].jsysxlh = res.result.zsendno;
267 this.tableForm[0].bs = res.result.zsnum;
268 this.tableForm[1].ksysxlh = res.result.zmstarno;
269 this.tableForm[1].jsysxlh = res.result.zmendno;
270 this.tableForm[1].bs = res.result.zmnum;
271 }
272 })
273 },
274 /**
275 * @description: resetTableFields
276 * @author: renchao
277 */
278 resetTableFields () {
279 this.tableForm = [
280 {
281 name: '不动产权证书',
282 ksysxlh: '',
283 jsysxlh: '',
284 bs: 0,
285 zslx: 1
286 },
287 {
288 name: '不动产权登记证明',
289 ksysxlh: '',
290 jsysxlh: '',
291 bs: 0,
292 zslx: 2
293 }
294 ]
295 },
296 /**
297 * @description: closeDialog
298 * @author: renchao
299 */
300 closeDialog () {
301 this.$popupCacel()
302 this.$refs['ruleForm'].resetFields();
303 this.resetTableFields();
304 }
305 }
306 }
307 </script>
308 <style scoped lang="scss">
309 @import "~@/styles/mixin.scss";
310 @import "~@/styles/dialogBoxheader.scss";
311
312 .font-red {
313 color: red;
314 }
315
316 .middle-margin-bottom {
317 margin-top: 20px;
318 }
319 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-15 15:50:26
5 -->
6 <template>
7 <dialogBox title="新建材料信息" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit"
8 :isFullscreen="false">
9 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px">
10 <el-row>
11 <el-col :span="24">
12 <el-form-item label="材料类型" prop="cllx">
13 <el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择">
14 <el-option v-for="item in cllxList" :key="item.dcode" :label="item.dname" :value="item.dcode">
15 </el-option>
16 </el-select>
17 </el-form-item>
18 </el-col>
19 </el-row>
20 <el-row :gutter="20">
21 <el-col :span="24">
22 <el-form-item label="材料名称" prop="clmc">
23 <el-input v-model="ruleForm.clmc"></el-input>
24 </el-form-item>
25 </el-col>
26 </el-row>
27 <el-row :gutter="20">
28 <el-col :span="24">
29 <el-form-item label="材料编码" prop="clbm">
30 <el-input v-model="ruleForm.clbm"></el-input>
31 </el-form-item>
32 </el-col>
33 </el-row>
34 </el-form>
35 </dialogBox>
36 </template>
37 <script>
38 import store from '@/store/index.js'
39 export default {
40 props: {
41 value: { type: Boolean, default: false },
42 },
43 data () {
44 return {
45 cllxList: store.getters.dictData['A40'],
46 myValue: this.value,
47 ruleForm: {
48 cllx: "",
49 clmc: "",
50 clbm: ""
51 },
52 rules: {
53 cllx: [
54 { required: true, message: '请选择材料类型', trigger: 'change' }
55 ],
56 clmc: [
57 { required: true, message: '请输入材料名称', trigger: 'blur' }
58 ],
59 clbm: [
60 { required: true, message: '请输入材料编码', trigger: 'blur' }
61 ],
62 }
63 }
64 },
65 watch: {
66 value (val) {
67 this.myValue = val;
68 },
69 },
70 methods: {
71 /**
72 * @description: closeDialog
73 * @author: renchao
74 */
75 closeDialog () {
76 this.$emit("input", false);
77 this.ruleForm = {
78 cllx: "",
79 clmc: "",
80 }
81 },
82 /**
83 * @description: handleSubmit
84 * @author: renchao
85 */
86 handleSubmit () {
87 this.$refs['ruleForm'].validate((valid) => {
88 if (valid) {
89 this.$parent.addSave(this.ruleForm);
90 this.ruleForm = {
91 cllx: "",
92 clmc: "",
93 }
94 this.$emit("input", false);
95 } else {
96 return false;
97 }
98 })
99 }
100 }
101 };
102 </script>
103 <style scoped lang="scss">
104 .submit-button {
105 text-align: center;
106 height: 52px;
107 padding-top: 10px;
108 background-color: #fff;
109 }
110 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-15 15:38:53
5 -->
6 <template>
7 <div class="clmlmx-box">
8 <lb-table :column="column" :key="key" row-key="bsmMaterial" ref="listTable" :heightNumSetting="true" :calcHeight="500" :pagination="false"
9 :data="tableData">
10 </lb-table>
11 <div class="text-center">
12 <el-button @click="handleCancel">取消</el-button>
13 <el-button type="primary" @click="handleSubmit" :loading="loading">保存</el-button>
14 </div>
15 </div>
16 </template>
17 <script>
18 import store from '@/store/index.js'
19 import Sortable from 'sortablejs'
20 import { ywPopupCacel } from "@/utils/popup.js";
21 import { editCompanyMaterialList } from "@/api/company.js";
22 export default {
23 props: {
24 formData: {
25 type: Object,
26 default: () => {
27 return {}
28 }
29 }
30 },
31 data () {
32 return {
33 loading: false,
34 sortable: null,
35 column: [
36 {
37 label: "材料名称",
38 render: (h, scope) => {
39 return (
40 <el-input value={scope.row.clmc} onInput={(val) => { scope.row.clmc = val }}></el-input>
41 )
42 }
43 },
44 {
45 label: "材料编码",
46 render: (h, scope) => {
47 return (
48 <el-input value={scope.row.clbm} onInput={(val) => { scope.row.clbm = val }}></el-input>
49 )
50 }
51 },
52 {
53 label: "材料类型",
54 width: "110",
55 render: (h, scope) => {
56 return (
57 <el-select value={scope.row.cllx}
58 onChange={(val) => { scope.row.cllx = val }}>
59 {
60 store.getters.dictData['A40'].map(option => {
61 return (
62 <el-option label={option.dname} value={option.dcode}></el-option>
63 )
64 })
65 }
66 </el-select>
67 )
68 }
69 },
70 {
71 label: "页数",
72 width: "80",
73 render: (h, scope) => {
74 if (scope.row.count && scope.row.count > 0) {
75 return (
76 <div>
77 <span>{scope.row.count}</span>
78 </div>
79 );
80 } else {
81 return (
82 <div>
83 <span>0</span>
84 </div>
85 );
86 }
87 },
88 },
89 {
90 label: "操作",
91 width: "100",
92 render: (h, scope) => {
93 return (
94 <el-button
95 type="text"
96 icon="el-icon-delete"
97 disabled={scope.row.count != 0}
98 onClick={() => {
99 this.handleDelete(scope.$index, scope.row);
100 }}
101 >
102 删除
103 </el-button>
104 )
105 }
106 }
107 ],
108 key: 0,
109 tableData: []
110 }
111 },
112 mounted () {
113 this.initSort()
114 this.tableData = _.cloneDeep(this.formData.data)
115 },
116 beforeDestroy () {
117 if (this.sortable) {
118 this.sortable.destroy();
119 }
120 },
121 watch: {
122 'formData.data': {
123 handler: function (val, oldVal) {
124 this.tableData = _.cloneDeep(val)
125 },
126 immediate: true,
127 deep: true
128 }
129 },
130 methods: {
131 handleCancel () {
132 ywPopupCacel()
133 },
134 handleSubmit () {
135 this.loading = true
136 store.dispatch('user/reWorkFresh', false)
137 editCompanyMaterialList(this.tableData, this.formData.bsmCompany).then(res => {
138 this.loading = false
139 if (res.code == 200) {
140 this.$message({
141 message: '保存成功',
142 type: 'success'
143 })
144 store.dispatch('user/reWorkFresh', true)
145 ywPopupCacel()
146 }
147 }).catch(() => {
148 this.loading = false
149 })
150 },
151 /**
152 * @description: 材料目录删除
153 * @param {*} index
154 * @param {*} row
155 * @author: renchao
156 */
157 handleDelete (index, row) {
158 this.$confirm('此操作将永久删除该 是否继续?', '提示', {
159 confirmButtonText: '确定',
160 cancelButtonText: '取消',
161 type: 'warning'
162 }).then(() => {
163 this.tableData.splice(index, 1);
164 }).catch(() => {
165 this.$message({
166 type: 'info',
167 message: '已取消删除'
168 })
169 })
170 },
171 initSort () {
172 const el = this.$refs.listTable.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]
173 this.sortable = Sortable.create(el, {
174 ghostClass: 'sortable-ghost',
175 setData: function (dataTransfer) {
176 dataTransfer.setData('Text', '')
177 },
178 onEnd: evt => {
179 const targetRow = this.tableData.splice(evt.oldIndex, 1)[0];
180 this.tableData.splice(evt.newIndex, 0, targetRow);
181 }
182 })
183 }
184 }
185 }
186 </script>
187 <style scoped lang='scss'>
188 @import "~@/styles/mixin.scss";
189 .clmlmx-box {
190 margin: 0 auto;
191 .title {
192 text-align: center;
193 height: 60px;
194 line-height: 60px;
195 border: 1px solid #dfe6ec;
196 font-size: 20px;
197 background: #81d3f81a;
198 margin-bottom: -1px;
199 }
200 }
201 </style>
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-11-10 13:43:21 4 * @LastEditTime: 2024-01-17 09:03:56
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
...@@ -54,13 +54,14 @@ ...@@ -54,13 +54,14 @@
54 this.queryClick() 54 this.queryClick()
55 }, 55 },
56 computed: { 56 computed: {
57 ...mapGetters(['workFresh']) 57 ...mapGetters(['isRefresh'])
58 }, 58 },
59 watch: { 59 watch: {
60 workFresh: { 60 isRefresh: {
61 handler (newVal, oldVal) { 61 handler (newVal, oldVal) {
62 if (newVal) this.queryClick() 62 if (newVal) this.queryClick()
63 } 63 },
64 immediate: true
64 } 65 }
65 }, 66 },
66 data () { 67 data () {
...@@ -105,7 +106,7 @@ ...@@ -105,7 +106,7 @@
105 * @author: renchao 106 * @author: renchao
106 */ 107 */
107 handleAdd () { 108 handleAdd () {
108 this.$popupDialog("添加银行", "xxba/components/addDialog", { isAdd: 1 }, "75%") 109 this.$popupDialog("添加银行", "xxba/yhjgba/components/addDialog", { isAdd: 1, QyYh: 2 }, "75%")
109 }, 110 },
110 /** 111 /**
111 * @description: handleDelete 112 * @description: handleDelete
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-10-24 15:00:35 4 * @LastEditTime: 2024-01-17 08:43:05
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
...@@ -183,6 +183,17 @@ ...@@ -183,6 +183,17 @@
183 } 183 }
184 }, 184 },
185 methods: { 185 methods: {
186 resetForm () {
187 this.queryzrzForm = {
188 zddm: '',
189 bdcqzh: '',
190 zl: '',
191 zrzh: '',
192 xmmc: '',
193 jzwmc: ''
194 }
195 this.queryClick()
196 },
186 /** 197 /**
187 * @description: queryClick 198 * @description: queryClick
188 * @author: renchao 199 * @author: renchao
......