feec9292 by renchao@pashanhoo.com

Merge branch 'master' into dev

2 parents 37d7db76 97fee2ab
...@@ -4,6 +4,6 @@ ...@@ -4,6 +4,6 @@
4 "CODE": "BDCJGPT", 4 "CODE": "BDCJGPT",
5 "SERVERAPI": "/bdcsjsb", 5 "SERVERAPI": "/bdcsjsb",
6 "calcHeight": 160, 6 "calcHeight": 160,
7 "echartTextColor": "#FFFFFF", 7 "echartTextColor": "#4A4A4A",
8 "MANAGEMENTAPI": "http://192.168.2.38:8090/management" 8 "MANAGEMENTAPI": "http://192.168.2.38:8090/management"
9 } 9 }
......
1 .itemForm {
2 position: relative;
3 padding: 10px;
4
5 /deep/.el-select {
6 width: 100%;
7 }
8
9 /deep/.el-form-item__error {
10 right: 25px;
11 top: 15px;
12 text-align: right;
13 pointer-events: none;
14 }
15
16 /deep/.el-date-editor {
17 width: 100%;
18 }
19
20 /deep/.el-date-editor--date {
21 width: 100%;
22 }
23
24 /deep/.el-cascader {
25 width: 100%;
26 }
27
28 // table 样式
29 /deep/.el-form-item__label {
30 border-right: none;
31 text-align: center;
32 padding: 0;
33 color: #05bbdb;
34 line-height: 16px;
35 font-size: 12px;
36 margin-top: 8px !important;
37 }
38
39 /deep/.el-form-item__content {
40 display: flex;
41 margin-right: -1px;
42 }
43
44 .obligee-item-name,
45 .receivingInfo-item-name,
46 .auditInfo-item-name {
47 background: url("~@/image/itembg.png") no-repeat;
48 background-size: 100% 100%;
49 color: #FFFFFF;
50 }
51
52 /deep/.el-textarea__inner {
53 margin: 5px;
54 width: 96%;
55 background: none;
56 color: #FFFFFF;
57 border-radius: 2px;
58 border: 1px solid #6BC1FC;
59 }
60
61 /deep/.el-input-number {
62 width: 100%;
63 }
64
65 /deep/.el-input-number__increase {
66 background: #05275B;
67 color: #FFFFFF;
68 border: none;
69 right: 7px;
70 top: 2px;
71 }
72
73 /deep/.el-input-number__decrease {
74 background: #05275B;
75 color: #FFFFFF;
76 border: none;
77 right: 7px;
78 bottom: 10px;
79 }
80
81 /deep/.el-input__inner {
82 margin: 5px;
83 width: 96%;
84 background: #05275B;
85 border-radius: 2px;
86 border: 1px solid #6BC1FC;
87 text-align: left;
88
89 }
90
91 /deep/.el-form-item {
92 margin-bottom: 0;
93 margin-top: -1px;
94 }
95
96 .item-label {
97 display: flex;
98 align-items: flex-end;
99 flex-direction: column;
100 font-size: 12px;
101 flex: 0 0 90px;
102 margin-right: 3px;
103
104 p {
105 line-height: 16px;
106 white-space: nowrap;
107 text-align: right;
108 }
109
110 p:nth-child(1) {
111 position: relative;
112 right: 5px;
113 }
114 }
115 }
...\ No newline at end of file ...\ No newline at end of file
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-03-17 10:25:19 4 * @LastEditTime: 2023-03-17 10:25:19
5 --> 5 -->
...@@ -18,65 +18,29 @@ ...@@ -18,65 +18,29 @@
18 </div> 18 </div>
19 </template> 19 </template>
20 <script> 20 <script>
21 import { getReceiveDataReportResult } from "@/api/dataReport.js"; 21 import { getReceiveDataReportResult } from "@/api/dataReport.js";
22 export default { 22 export default {
23 components: {}, 23 components: {},
24 props: { 24 props: {
25 formData: { 25 formData: {
26 type: Object, 26 type: Object,
27 default: {} 27 default: {}
28 }
29 },
30 data () {
31 return {
32 REPMSGXML: '',
33 ERRORINFO: '',
34 }
35 },
36 created () {
37 getReceiveDataReportResult(this.formData.bsmReport).then(res => {
38 let data = res.result
39 this.REPMSGXML = data.REPMSGXML
40 this.ERRORINFO = data.ERRORINFO
41 })
28 } 42 }
29 },
30 data () {
31 return {
32 REPMSGXML: '',
33 ERRORINFO: '',
34 }
35 },
36 created () {
37 getReceiveDataReportResult(this.formData.bsmReport).then(res => {
38 let data = res.result
39 this.REPMSGXML = data.REPMSGXML
40 this.ERRORINFO = data.ERRORINFO
41 })
42 } 43 }
43 }
44 </script> 44 </script>
45 <style scoped lang='scss'> 45 <style scoped lang='scss'>
46 .result {
47 padding: 15px;
48 height: 100%;
49
50 /deep/.el-textarea__inner {
51 height: 50%;
52 color: #ffffff;
53 border: none !important;
54 color: #ffffff;
55 }
56
57 &-con {
58 background: #04275B;
59 border-radius: 2px;
60 padding: 10px;
61 box-sizing: border-box;
62 height: 49%;
63
64 p {
65 color: #2997E8;
66 font-size: 14px;
67 position: relative;
68 padding-left: 10px;
69 }
70
71 p::before {
72 position: absolute;
73 content: '';
74 width: 3px;
75 height: 10px;
76 background-color: #2997E8;
77 left: 0;
78 top: 3px;
79 }
80 }
81 }
82 </style> 46 </style>
......
1 <template> 1 <template>
2 <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" custom-class="dialogBox dataReporting editDialogBox mainCenter" 2 <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog"
3 :visible.sync="dialogVisible" width="92%"> 3 custom-class="dialogBox dataReporting editDialogBox sbdialog commonDialog mainCenter" :visible.sync="dialogVisible"
4 width="92%">
4 <div slot="title" class="dialog_title" ref="dialogTitle"> 5 <div slot="title" class="dialog_title" ref="dialogTitle">
5 {{ title || '详情' }} 6 {{ title || '详情' }}
6 </div> 7 </div>
...@@ -111,7 +112,7 @@ ...@@ -111,7 +112,7 @@
111 </div> 112 </div>
112 </div> 113 </div>
113 <div class="editDialogBox-box JsonEditor" v-if="titleName == 'xml'"> 114 <div class="editDialogBox-box JsonEditor" v-if="titleName == 'xml'">
114 <JsonEditor :resultInfo="resultInfo" /> 115 <JsonEditor class="editXML" :resultInfo="resultInfo" />
115 </div> 116 </div>
116 <div class="editDialogBox-box JsonEditor" v-if="titleName == 'xyjg'"> 117 <div class="editDialogBox-box JsonEditor" v-if="titleName == 'xyjg'">
117 <Xyjg :form-data='dataReport'></Xyjg> 118 <Xyjg :form-data='dataReport'></Xyjg>
...@@ -128,218 +129,209 @@ ...@@ -128,218 +129,209 @@
128 </template> 129 </template>
129 130
130 <script> 131 <script>
131 import axios from "axios"; 132 import axios from "axios";
132 import SERVER from '@/api/config' 133 import SERVER from '@/api/config'
133 const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/DataReport/' 134 const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/DataReport/'
134 import { mapGetters } from "vuex"; 135 import { mapGetters } from "vuex";
135 import JsonEditor from "@/components/JsonEditor.vue"; 136 import JsonEditor from "@/components/JsonEditor.vue";
136 import Xyjg from "./Result"; 137 import Xyjg from "./Result";
137 import { getTabsDetail, getXml, getReportDetail, restartGenerateXml, edit } from "@/api/dataReport.js"; 138 import { getTabsDetail, getXml, getReportDetail, restartGenerateXml, edit } from "@/api/dataReport.js";
138 export default { 139 export default {
139 components: { JsonEditor, Xyjg }, 140 components: { JsonEditor, Xyjg },
140 props: { 141 props: {
141 title: { 142 title: {
142 type: String, 143 type: String,
143 default: '' 144 default: ''
144 }, 145 },
145 tabsActiveName: { 146 tabsActiveName: {
146 type: String, 147 type: String,
147 default: '' 148 default: ''
149 },
150 visiableXml: {
151 type: Boolean,
152 default: false
153 }
154 },
155
156 computed: {
157 ...mapGetters(["dicData"]),
158 },
159 data () {
160 return {
161 key: 0,
162 resultInfo: '',
163
164 titleName: 'sjmx',
165 // 报文list
166 bwoptions: [],
167 dataReport: {},
168 index: 0,
169 bsmYwsjb: "",
170 ruleFormList: {
171 BizMsgId: "", // 业务报文ID
172 ASID: "", // ASID
173 AreaCode: "", //行政区划编码
174 PreEstateNum: "", //上次不动产单元号
175 RecType: "", // 业务编码
176 RightType: "", // 权利类型
177 RegType: "", //登记类型
178 CertCount: "", //不动产权证书数量
179 createDate: "", //创建时间
180 RecFlowID: "", // 业务流水号
181 ParcelID: "", //宗地/宗海代码
182 ProofCount: "", //证明数量
183 EstateNum: "", // 不动产单元号
184 RegOrgID: "", // 登记机构
185 PreCertID: "", //次不动产权证号/不动产登记证明
148 }, 186 },
149 visiableXml: { 187 images: require("./images/success.gif"),
150 type: Boolean, 188 dialogVisible: false,
151 default: false 189 activeName: undefined,
190 editItem: "",
191 headerList: [],
192 dataTable: "",
193 };
194 },
195 methods: {
196 dicStatus (val, code) {
197 let data = this.dicData[code],
198 name = ''
199 if (data) {
200 data.map((item) => {
201 if (item.DCODE == val) {
202 name = item.DNAME
203 }
204 })
205 return name
152 } 206 }
153 }, 207 },
154 208 handleTitleTab (val) {
155 computed: {
156 ...mapGetters(["dicData"]),
157 }, 209 },
158 data () { 210 isShow (item) {
159 return { 211 this.$set(this.bwoptions, 0, {
160 key: 0, 212 value: item.bizMsgid,
161 resultInfo: '', 213 label: item.bizMsgid,
162 214 })
163 titleName: 'sjmx', 215 this.$set(this.bwoptions, 1, {
164 // 报文list 216 value: item.bizMsgid + 'CBXZ',
165 bwoptions: [], 217 label: item.bizMsgid + 'CBXZ',
166 dataReport: {}, 218 })
167 index: 0, 219 this.$set(this.bwoptions, 2, {
168 bsmYwsjb: "", 220 value: item.bizMsgid + 'BBXZ',
169 ruleFormList: { 221 label: item.bizMsgid + 'BBXZ',
170 BizMsgId: "", // 业务报文ID 222 })
171 ASID: "", // ASID 223 this.titleName = 'sjmx';
172 AreaCode: "", //行政区划编码 224 this.dialogVisible = true;
173 PreEstateNum: "", //上次不动产单元号 225 //获取表头列表
174 RecType: "", // 业务编码 226 this._getList(item)
175 RightType: "", // 权利类型 227 //不动产数据查询上报详情
176 RegType: "", //登记类型 228 getReportDetail({ bsmReport: item.bsmSjsb || item.bsmReport }).then((res) => {
177 CertCount: "", //不动产权证书数量 229 if (res.code == 200) {
178 createDate: "", //创建时间 230 this.dataReport = res.result;
179 RecFlowID: "", // 业务流水号 231 }
180 ParcelID: "", //宗地/宗海代码 232 })
181 ProofCount: "", //证明数量 233 // 获取xml
182 EstateNum: "", // 不动产单元号 234 if (this.visiableXml) {
183 RegOrgID: "", // 登记机构 235 getXml(item.bizMsgid).then((res) => {
184 PreCertID: "", //次不动产权证号/不动产登记证明 236 this.resultInfo = res.message
185 }, 237 })
186 images: require("./images/success.gif"), 238 }
187 dialogVisible: false, 239 },
188 activeName: undefined, 240 // 获取列表接口
189 editItem: "", 241 _getList (data) {
190 headerList: [], 242 getTabsDetail({ bsmReport: data.bsmReport || data.bsmSjsb }).then((res) => {
191 dataTable: "", 243 if (res.code == 200) {
192 }; 244 this.headerList = res.result;
245 this.activeName = this.tabsActiveName == '' ? res.result[0].soleurl : this.tabsActiveName
246 this.bsmYwsjb = this.headerList[0].bsmYwsjb;
247 this.editItem = this.loadView(this.activeName);
248 }
249 });
250 },
251 changeList (val) {
252 let _index = val.index;
253 if (_index > this.index) {
254 }
255 this.index = _index;
256 this.bsmYwsjb = this.headerList[val.index].bsmYwsjb;
257 this.editItem = this.loadView(this.activeName);
258 // this.diaData.list.forEach((item) => {
259 // if (item.soleurl == this.activeName) {
260 // this.dataTable = item.dataTable;
261 // }
262 // });
263 },
264 loadView (view) {
265 return (r) =>
266 require.ensure([], () => r(require(`@/components/Business/${view}.vue`)));
193 }, 267 },
194 methods: { 268 closeDialog () {
195 dicStatus (val, code) { 269 this.dialogVisible = false;
196 let data = this.dicData[code], 270 //关闭弹框时将tabs项置空
197 name = '' 271 this.editItem = "";
198 if (data) { 272 this.headerList = [];
199 data.map((item) => { 273 },
200 if (item.DCODE == val) { 274 /**
201 name = item.DNAME 275 * @description: 提交
276 * @author: renchao
277 */
278 submitForm: _.debounce(async function () {
279 let _this = this
280 // 上报请求头修改
281 try {
282 var headRes = await axios.post('/api' + urlHeader + 'edit', this.dataReport,
283 {
284 headers: {
285 'Authorization': sessionStorage.getItem("token") || ""
202 } 286 }
203 }) 287 })
204 return name 288 if (headRes.code == 200) {
289 _this._getList(_this.dataReport)
205 } 290 }
206 }, 291 } catch (error) {
207 handleTitleTab (val) { 292 this.$message({
208 }, 293 message: '报文头修改出错',
209 isShow (item) { 294 type: 'error'
210 this.$set(this.bwoptions, 0, {
211 value: item.bizMsgid,
212 label: item.bizMsgid,
213 }) 295 })
214 this.$set(this.bwoptions, 1, { 296 }
215 value: item.bizMsgid + 'CBXZ', 297 let listRes = await this.$refs["editItem"].handleUpdateForm()
216 label: item.bizMsgid + 'CBXZ', 298 if (headRes.data?.code == 200 && listRes == 200) {
217 }) 299 this.$message({
218 this.$set(this.bwoptions, 2, { 300 message: '修改成功',
219 value: item.bizMsgid + 'BBXZ', 301 type: 'success'
220 label: item.bizMsgid + 'BBXZ',
221 }) 302 })
222 this.titleName = 'sjmx'; 303 }
223 this.dialogVisible = true; 304 }, 500),
224 //获取表头列表 305 /**
225 this._getList(item) 306 * @description: 重新上报
226 //不动产数据查询上报详情 307 * @author: renchao
227 getReportDetail({ bsmReport: item.bsmSjsb || item.bsmReport }).then((res) => { 308 */
228 if (res.code == 200) { 309 handleResubmit () {
229 this.dataReport = res.result; 310 let _this = this
230 } 311 this.$confirm('重新生成报文,是否上报省厅?', '提示', {
312 confirmButtonText: '确定',
313 cancelButtonText: '取消',
314 type: 'warning'
315 }).then(() => {
316 createXml()
317 }).catch(() => {
318 this.$message({
319 type: 'info',
320 message: '已取消删除'
231 }) 321 })
232 // 获取xml 322 })
233 if (this.visiableXml) { 323 function createXml () {
234 getXml(item.bizMsgid).then((res) => { 324 restartGenerateXml(_this.dataReport.bsmSjsb || _this.dataReport.bsmReport).then((res) => {
235 this.resultInfo = res.message
236 })
237 }
238 },
239 // 获取列表接口
240 _getList (data) {
241 getTabsDetail({ bsmReport: data.bsmReport || data.bsmSjsb }).then((res) => {
242 if (res.code == 200) { 325 if (res.code == 200) {
243 this.headerList = res.result; 326 _this.resultInfo = res.message
244 this.activeName = this.tabsActiveName == '' ? res.result[0].soleurl : this.tabsActiveName 327 _this.$message({
245 this.bsmYwsjb = this.headerList[0].bsmYwsjb; 328 message: '修改成功',
246 this.editItem = this.loadView(this.activeName); 329 type: 'success'
247 }
248 });
249 },
250 changeList (val) {
251 let _index = val.index;
252 if (_index > this.index) {
253 }
254 this.index = _index;
255 this.bsmYwsjb = this.headerList[val.index].bsmYwsjb;
256 this.editItem = this.loadView(this.activeName);
257 // this.diaData.list.forEach((item) => {
258 // if (item.soleurl == this.activeName) {
259 // this.dataTable = item.dataTable;
260 // }
261 // });
262 },
263 loadView (view) {
264 return (r) =>
265 require.ensure([], () => r(require(`@/components/Business/${view}.vue`)));
266 },
267 closeDialog () {
268 this.dialogVisible = false;
269 //关闭弹框时将tabs项置空
270 this.editItem = "";
271 this.headerList = [];
272 },
273 /**
274 * @description: 提交
275 * @author: renchao
276 */
277 submitForm: _.debounce(async function () {
278 let _this = this
279 // 上报请求头修改
280 try {
281 var headRes = await axios.post('/api' + urlHeader + 'edit', this.dataReport,
282 {
283 headers: {
284 'Authorization': sessionStorage.getItem("token") || ""
285 }
286 }) 330 })
287 if (headRes.code == 200) {
288 _this._getList(_this.dataReport)
289 } 331 }
290 } catch (error) {
291 this.$message({
292 message: '报文头修改出错',
293 type: 'error'
294 })
295 }
296 let listRes = await this.$refs["editItem"].handleUpdateForm()
297 if (headRes.data?.code == 200 && listRes == 200) {
298 this.$message({
299 message: '修改成功',
300 type: 'success'
301 })
302 }
303 }, 500),
304 /**
305 * @description: 重新上报
306 * @author: renchao
307 */
308 handleResubmit () {
309 let _this = this
310 this.$confirm('重新生成报文,是否上报省厅?', '提示', {
311 confirmButtonText: '确定',
312 cancelButtonText: '取消',
313 type: 'warning'
314 }).then(() => {
315 createXml()
316 }).catch(() => {
317 this.$message({
318 type: 'info',
319 message: '已取消删除'
320 })
321 }) 332 })
322 function createXml () {
323 restartGenerateXml(_this.dataReport.bsmSjsb || _this.dataReport.bsmReport).then((res) => {
324 if (res.code == 200) {
325 _this.resultInfo = res.message
326 _this.$message({
327 message: '修改成功',
328 type: 'success'
329 })
330 }
331 })
332 }
333 } 333 }
334 } 334 }
335 } 335 }
336 }
336 </script> 337 </script>
337 <style scoped lang="scss">
338 /deep/.editDialogBox {
339 .el-dialog__header {
340 display: flex;
341 margin-bottom: 10px;
342 }
343 }
344 </style>
345
......
...@@ -12,15 +12,4 @@ export default { ...@@ -12,15 +12,4 @@ export default {
12 } 12 }
13 } 13 }
14 } 14 }
15
16 </script>
17
18 <style scoped lang="scss">
19 /deep/.el-textarea__inner {
20 height: 67vh !important;
21 border: none !important;
22 background-color: #08346F !important;
23 color: #ffffff;
24 border: none !important;
25 }
26 </style>
...\ No newline at end of file ...\ No newline at end of file
15 </script>
...\ No newline at end of file ...\ No newline at end of file
......
1 // .dialogCon {
2 // background: #031A46;
3 // -webkit-box-shadow: inset 0px 0px 12px 0px #02d9fd;
4 // box-shadow: inset 0px 0px 12px 0px #02d9fd;
5 // border-radius: 0px 2px 2px 2px;
6 // border: 1px solid #6BC1FC;
7 // padding: 15px;
8 // }
...@@ -526,6 +526,14 @@ ...@@ -526,6 +526,14 @@
526 border-radius: 2px; 526 border-radius: 2px;
527 border: 1px solid #6BC1FC; 527 border: 1px solid #6BC1FC;
528 margin: 0 18px 10px 18px; 528 margin: 0 18px 10px 18px;
529
530 // .el-form-item__label {
531 // color: #fff;
532 // }
533
534 // .el-form-item__content {
535 // color: #fff;
536 // }
529 } 537 }
530 538
531 .item-content-input { 539 .item-content-input {
...@@ -666,6 +674,14 @@ ...@@ -666,6 +674,14 @@
666 674
667 // 登簿日志弹出框 675 // 登簿日志弹出框
668 .entryJournal { 676 .entryJournal {
677 .el-textarea__inner {
678 height: 67vh !important;
679 border: none !important;
680 background-color: #08346F !important;
681 color: #ffffff;
682 border: none !important;
683 }
684
669 .el-tabs__header { 685 .el-tabs__header {
670 margin: 0; 686 margin: 0;
671 } 687 }
...@@ -1112,4 +1128,121 @@ ...@@ -1112,4 +1128,121 @@
1112 padding: 0px 120px 0px; 1128 padding: 0px 120px 0px;
1113 text-align: center; 1129 text-align: center;
1114 } 1130 }
1115 }
...\ No newline at end of file ...\ No newline at end of file
1131 }
1132
1133 // 权利人信息样式
1134 .itemForm {
1135 position: relative;
1136 padding: 10px;
1137
1138 /deep/.el-select {
1139 width: 100%;
1140 }
1141
1142 /deep/.el-form-item__error {
1143 right: 25px;
1144 top: 15px;
1145 text-align: right;
1146 pointer-events: none;
1147 }
1148
1149 /deep/.el-date-editor {
1150 width: 100%;
1151 }
1152
1153 /deep/.el-date-editor--date {
1154 width: 100%;
1155 }
1156
1157 /deep/.el-cascader {
1158 width: 100%;
1159 }
1160
1161 // table 样式
1162 /deep/.el-form-item__label {
1163 border-right: none;
1164 text-align: center;
1165 padding: 0;
1166 color: #05bbdb;
1167 line-height: 16px;
1168 font-size: 12px;
1169 margin-top: 8px !important;
1170 }
1171
1172 /deep/.el-form-item__content {
1173 display: flex;
1174 margin-right: -1px;
1175 }
1176
1177 .obligee-item-name,
1178 .receivingInfo-item-name,
1179 .auditInfo-item-name {
1180 background: url("~@/image/itembg.png") no-repeat;
1181 background-size: 100% 100%;
1182 color: #FFFFFF;
1183 }
1184
1185 /deep/.el-textarea__inner {
1186 margin: 5px;
1187 width: 96%;
1188 background: none;
1189 color: #FFFFFF;
1190 border-radius: 2px;
1191 border: 1px solid #6BC1FC;
1192 }
1193
1194 /deep/.el-input-number {
1195 width: 100%;
1196 }
1197
1198 /deep/.el-input-number__increase {
1199 background: #05275B;
1200 color: #FFFFFF;
1201 border: none;
1202 right: 7px;
1203 top: 2px;
1204 }
1205
1206 /deep/.el-input-number__decrease {
1207 background: #05275B;
1208 color: #FFFFFF;
1209 border: none;
1210 right: 7px;
1211 bottom: 10px;
1212 }
1213
1214 /deep/.el-input__inner {
1215 margin: 5px;
1216 width: 96%;
1217 background: #05275B;
1218 border-radius: 2px;
1219 border: 1px solid #6BC1FC;
1220 text-align: left;
1221
1222 }
1223
1224 /deep/.el-form-item {
1225 margin-bottom: 0;
1226 margin-top: -1px;
1227 }
1228
1229 .item-label {
1230 display: flex;
1231 align-items: flex-end;
1232 flex-direction: column;
1233 font-size: 12px;
1234 flex: 0 0 90px;
1235 margin-right: 3px;
1236
1237 p {
1238 line-height: 16px;
1239 white-space: nowrap;
1240 text-align: right;
1241 }
1242
1243 p:nth-child(1) {
1244 position: relative;
1245 right: 5px;
1246 }
1247 }
1248 }
......
...@@ -85,9 +85,7 @@ input[type="number"] { ...@@ -85,9 +85,7 @@ input[type="number"] {
85 // to fixed https://github.com/ElemeFE/element/issues/2461 85 // to fixed https://github.com/ElemeFE/element/issues/2461
86 // refine element ui upload 86 // refine element ui upload
87 .el-input.is-disabled .el-input__inner { 87 .el-input.is-disabled .el-input__inner {
88 color: #FFFFFF !important;
89 background-color: transparent !important; 88 background-color: transparent !important;
90 border: 1px solid #224C7C !important;
91 } 89 }
92 90
93 .upload-container { 91 .upload-container {
......
...@@ -32,9 +32,9 @@ ...@@ -32,9 +32,9 @@
32 padding: 15px; 32 padding: 15px;
33 } 33 }
34 34
35 .el-dialog__close { 35 // .el-dialog__close {
36 font-size: 0; 36 // font-size: 0;
37 } 37 // }
38 38
39 .el-form-item { 39 .el-form-item {
40 display: flex; 40 display: flex;
...@@ -150,8 +150,31 @@ ...@@ -150,8 +150,31 @@
150 150
151 // 角色管理人员菜单配置弹框样式 151 // 角色管理人员菜单配置弹框样式
152 .roleconfiguration { 152 .roleconfiguration {
153 .el-dialog__close { 153 .el-tabs__item {
154 font-size: 16px !important; 154 color: #cef8ff !important;
155 // background: url("~@/image/tabitem.png") no-repeat;
156 // background-size: 100% 100%;
157 background-color: #3D59C4;
158 border-radius: 3px;
159 }
160
161 .el-dialog__headerbtn .el-dialog__close {
162 font-size: 20px;
163 color: white;
164 }
165
166 .el-dialog__header {
167 width: 100%;
168 display: flex;
169 justify-content: center;
170 font-size: 24px;
171 background-color: #3D59C4;
172
173 .dialog_title {
174
175 color: white;
176 margin-bottom: 10px;
177 }
155 } 178 }
156 179
157 } 180 }
...@@ -173,7 +196,6 @@ ...@@ -173,7 +196,6 @@
173 width: 2px; 196 width: 2px;
174 position: relative; 197 position: relative;
175 left: 10px; 198 left: 10px;
176 color: #FFFFFF;
177 } 199 }
178 200
179 .el-breadcrumb__inner { 201 .el-breadcrumb__inner {
...@@ -204,233 +226,6 @@ ...@@ -204,233 +226,6 @@
204 font-weight: normal; 226 font-weight: normal;
205 } 227 }
206 228
207 // .button {
208 // width: 76px;
209 // height: 32px;
210 // color: #ffffff;
211 // cursor: pointer;
212 // border: 0;
213 // font-size: 12px;
214 // }
215
216 // // 按钮样式
217 // .cx {
218 // background: url("../image/btn.png") no-repeat 0 -34px;
219 // background-size: cover;
220 // }
221
222 // .cx:hover {
223 // background: url("../image/btn.png") no-repeat 0 -34px;
224 // background-size: cover;
225 // color: white;
226 // }
227
228 // .cz {
229 // background: url("../image/btn.png") no-repeat 0 0;
230 // background-size: cover;
231 // }
232
233 // .cz:hover {
234 // background: url("../image/btn.png") no-repeat 0 0;
235 // background-size: cover;
236 // color: white;
237 // }
238
239 // .el-button:focus {
240 // background: none;
241 // }
242
243 // .cx:focus {
244 // background: url("../image/btn.png") no-repeat 0 -34px;
245 // background-size: cover;
246 // color: white;
247 // }
248
249 // .cz:focus {
250 // background: url("../image/btn.png") no-repeat 0 0;
251 // background-size: cover;
252 // color: white;
253 // }
254
255 // 监管弹框样式
256 .dialogBox {
257 overflow: hidden;
258 // min-height: 90vh;
259
260 .dialog_title {
261 // display: flex;
262 // position: relative;
263 // font-size: 22px;
264 // top: -10px;
265 // width: 38%;
266 // height: 40px;
267 // margin-left: 28px;
268 // justify-content: center;
269 // white-space: nowrap;
270
271 b {
272 // font-weight: 200;
273 // display: inline-block;
274 // position: relative;
275 font-size: 24px;
276 // top: -11px;
277 // width: 38%;
278 // height: 40px;
279 // margin-left: 28px;
280 // // @include flex-center;
281 display: flex;
282 justify-content: center;
283 }
284 }
285
286 .dialog_full {
287 position: absolute;
288 top: 0;
289 right: 30px;
290 }
291
292 .el-dialog__body {
293 max-height: 88vh;
294 overflow-x: hidden;
295 overflow-y: hidden;
296 }
297
298 .dialog_footer {
299 margin-bottom: 8px;
300 display: flex;
301 justify-content: center;
302 align-items: center;
303 }
304
305 .dialogBox-content {
306 height: auto
307 }
308
309 .editDialogBox-box {
310 border-radius: 3px;
311 border: 1px solid #6BC1FC;
312
313 .el-form-item__label {
314 color: #000000;
315 }
316
317 .el-form-item__content {
318 color: #000000;
319 }
320 }
321
322 .item-content-input {
323 .el-input__inner {
324 border: none !important;
325 text-align: right;
326 }
327 }
328
329 .regularHeight {
330 display: flex;
331 flex-direction: column;
332 height: 87vh;
333
334 .editDialogBox-con,
335 .JsonEditor {
336 flex: 1;
337 height: 100%;
338 }
339 }
340
341 .dialog-from {
342 padding: 13px;
343 border-radius: 2px;
344 box-sizing: border-box;
345
346 .el-row {
347 display: flex;
348 flex-wrap: nowrap;
349 }
350
351 .el-col {
352 line-height: 18px;
353 display: flex;
354 align-items: center;
355 margin-bottom: 3px;
356 color: #000000;
357 border-radius: 2px;
358 border: 1px solid #224C7C;
359
360 span {
361 display: inline-block;
362 padding: 3px;
363 border-radius: 3px;
364 overflow: hidden;
365 white-space: nowrap;
366 text-align: left;
367 color: #02D9FD;
368 }
369
370 p {
371 flex: 1;
372 width: 100%;
373 padding-left: 5px;
374 line-height: 20px;
375 color: #000307;
376 cursor: not-allowed;
377 white-space: nowrap;
378 margin-right: 5px;
379 text-align: right;
380 }
381 }
382
383 }
384
385 .el-textarea__inner {
386 // border: 1px solid #224C7C;
387 // margin: 0 0 10px 0 !important;
388 // width: 100% !important;
389 // color: #dadde3 !important;
390 // background: transparent !important;
391 }
392
393 .el-input__inner {
394 // border: 1px solid #224C7C !important;
395 // margin: 0 !important;
396 // width: 100% !important;
397 // color: #111111 !important;
398 // background: transparent !important;
399 }
400
401 .el-dialog__header {
402 color: #070000;
403 // height: 46px !important;
404 // width: 97%;
405 // margin: 0 auto;
406 // margin-top: 2px;
407 }
408
409 .el-dialog__body {
410 padding-top: 0;
411 padding-bottom: 0;
412 // height: 95vh;
413 }
414
415 // .el-dialog__headerbtn {
416 // right: 40px;
417 // top: 33px;
418
419 // &:hover {
420 // // background: rgb(4, 172, 250);
421 // right: 40px;
422 // top: 33px;
423 // }
424 // }
425
426
427 .el-form-item {
428 display: flex;
429 width: 100%;
430 }
431
432 }
433
434 .contentCenter { 229 .contentCenter {
435 position: absolute; 230 position: absolute;
436 top: 50%; 231 top: 50%;
...@@ -451,9 +246,24 @@ ...@@ -451,9 +246,24 @@
451 } 246 }
452 247
453 // 登簿日志弹出框 248 // 登簿日志弹出框
454 .entryJournal { 249 .commonDialog {
250 /deep/.dialog-from_header {
251 margin: 0 !important;
252 }
253
254 .el-dialog__headerbtn .el-dialog__close {
255 font-size: 20px;
256 color: white;
257 }
258
259 .el-dialog__header {
260 text-align: center;
261 font-size: 24px;
262 background-color: #3D59C4;
263 }
264
455 .el-tabs__header { 265 .el-tabs__header {
456 margin: 0; 266 margin: 0 !important;
457 } 267 }
458 268
459 .el-dialog { 269 .el-dialog {
...@@ -464,6 +274,7 @@ ...@@ -464,6 +274,7 @@
464 .el-dialog__body { 274 .el-dialog__body {
465 display: flex; 275 display: flex;
466 flex-direction: column; 276 flex-direction: column;
277 padding-top: 0px;
467 padding-bottom: 30px; 278 padding-bottom: 30px;
468 height: 100%; 279 height: 100%;
469 flex: 1; 280 flex: 1;
...@@ -473,30 +284,36 @@ ...@@ -473,30 +284,36 @@
473 .regularHeight { 284 .regularHeight {
474 display: flex; 285 display: flex;
475 flex-direction: column; 286 flex-direction: column;
476 height: 87vh; 287 height: 80vh;
477 margin-bottom: 5px; 288 margin-bottom: 5px;
478 289
479 .editDialogBox-con, 290 .editDialogBox-con,
480 .JsonEditor { 291 .JsonEditor {
481 flex: 1; 292 flex: 1;
482 } 293 }
483 }
484 294
485 .d-center {} 295 .editXML {
296 border: 1px solid blue;
297 margin-top: 10px;
298
299 .el-textarea__inner {
300 height: 68vh !important;
301 }
302 }
303 }
486 304
487 .dialog_title { 305 .dialog_title {
488 top: -6px 306 color: white;
307 margin-bottom: 10px;
489 } 308 }
490 309
491 .el-tabs__item { 310 .el-tabs__item {
492 color: #CEF8FF !important; 311 color: #CEF8FF !important;
493 312 background-color: none;
494 display: flex; 313 display: flex;
495 flex-direction: row; 314 flex-direction: row;
496 justify-content: center; 315 justify-content: center;
497 background: url("~@/image/tabitem.png") no-repeat; 316 border-radius: 3px;
498 background-size: 100% 100%;
499 border: none !important;
500 } 317 }
501 318
502 .el-tabs__nav { 319 .el-tabs__nav {
...@@ -513,8 +330,7 @@ ...@@ -513,8 +330,7 @@
513 } 330 }
514 331
515 .el-tabs__item.is-active { 332 .el-tabs__item.is-active {
516 background: url("~@/image/tabitemse.png") no-repeat; 333 background-color: #3D59C4;
517 background-size: 100% 100%;
518 } 334 }
519 335
520 .from-clues-content { 336 .from-clues-content {
...@@ -526,13 +342,15 @@ ...@@ -526,13 +342,15 @@
526 .editDialogBox-box { 342 .editDialogBox-box {
527 position: relative; 343 position: relative;
528 top: 10px; 344 top: 10px;
529 height: 100%;
530 } 345 }
531 346
532 .dialog-from { 347 .dialog-from {
533 padding-top: 0; 348 padding-top: 0;
534 349
535 .el-col { 350 .el-col {
351 height: 40px;
352 line-height: 40px;
353 display: flex;
536 justify-content: space-between; 354 justify-content: space-between;
537 } 355 }
538 356
...@@ -553,23 +371,62 @@ ...@@ -553,23 +371,62 @@
553 } 371 }
554 372
555 &_header { 373 &_header {
556 margin: 0 -5px !important; 374 // margin: 0 -5px !important;
557 } 375 }
558 376
559 &_title { 377 &_title {
560 font-size: 14px; 378 font-size: 14px;
561 color: #d7eaee; 379 font-weight: 600;
380 color: #000000;
562 margin: 3px 0; 381 margin: 3px 0;
563 } 382 }
564 } 383 }
565 } 384 }
566 385
386 .entryJournal {
387 .el-textarea__inner {
388 height: 67vh !important;
389 border: none !important;
390 background-color: #ffffff !important;
391 color: #000000 !important;
392 }
393 }
394
395 // 上报日志弹出框
396 .sbdialog {
397 .el-textarea__inner {
398 height: 30vh !important;
399 border: none !important;
400 background-color: #ffffff !important;
401 color: #000000 !important;
402 }
403 }
404
567 // 数据上报弹出框 405 // 数据上报弹出框
568 .dataReporting { 406 .dataReporting {
407 .el-dialog__header {
408 width: 100%;
409 display: flex;
410 justify-content: center;
411 font-size: 24px;
412 background-color: #3D59C4;
413
414 .dialog_title {
415
416 color: white;
417 margin-bottom: 10px;
418 }
419 }
420
421 .el-dialog__headerbtn .el-dialog__close {
422 font-size: 20px;
423 color: white;
424 }
425
569 .el-dialog__body { 426 .el-dialog__body {
427 padding-top: 0px;
570 display: flex; 428 display: flex;
571 flex-direction: column; 429 flex-direction: column;
572 padding-bottom: 30px;
573 } 430 }
574 431
575 .el-tabs { 432 .el-tabs {
...@@ -604,26 +461,63 @@ ...@@ -604,26 +461,63 @@
604 461
605 .el-tabs__item { 462 .el-tabs__item {
606 color: #cef8ff !important; 463 color: #cef8ff !important;
607
608 display: flex; 464 display: flex;
609 flex-direction: row; 465 flex-direction: row;
610 justify-content: center; 466 justify-content: center;
611 background: url("~@/image/tabitem.png") no-repeat; 467 background-color: #3D59C4;
612 background-size: 100% 100%; 468 border-radius: 3px;
613 border: none !important;
614 } 469 }
615 470
616 .obligee-item-name { 471 .obligee-item-name {
617 background: #05275b; 472 // background: url("~@/image/itembg.png") no-repeat;
618 color: #ffffff; 473 // background-size: 100% 100%;
619 background: url("~@/image/itembg.png") no-repeat; 474 background-color: #3D59C4;
620 background-size: 100% 100%; 475 border-radius: 3px;
476 border: 1px solid blue !important;
621 } 477 }
622 478
623 .el-tabs__nav-scroll { 479 .el-tabs__nav-scroll {
624 background: none; 480 background: none;
625 } 481 }
626 482
483 .result {
484 padding: 15px;
485 height: 100%;
486
487 /deep/.el-textarea__inner {
488 height: 50%;
489 color: #ffffff;
490 border: none !important;
491 color: #ffffff;
492 }
493
494 &-con {
495 background: #ffffff;
496 border: 1px solid blue;
497 border-radius: 2px;
498 padding: 10px;
499 box-sizing: border-box;
500 height: 49%;
501
502 p {
503 color: #2997E8;
504 font-size: 14px;
505 position: relative;
506 padding-left: 10px;
507 }
508
509 p::before {
510 position: absolute;
511 content: '';
512 width: 3px;
513 height: 10px;
514 background-color: #2997E8;
515 left: 0;
516 top: 3px;
517 }
518 }
519 }
520
627 .el-tabs__nav { 521 .el-tabs__nav {
628 display: flex; 522 display: flex;
629 border: none !important; 523 border: none !important;
...@@ -649,8 +543,8 @@ ...@@ -649,8 +543,8 @@
649 } 543 }
650 544
651 .el-tabs__item.is-active { 545 .el-tabs__item.is-active {
652 background: url("~@/image/tabitemse.png") no-repeat; 546 background-color: #1c3294;
653 background-size: 100% 100%; 547 color: #FFFFFF;
654 } 548 }
655 549
656 .success-images { 550 .success-images {
...@@ -709,6 +603,9 @@ ...@@ -709,6 +603,9 @@
709 padding-top: 0; 603 padding-top: 0;
710 604
711 .el-col { 605 .el-col {
606 height: 40px;
607 line-height: 40px;
608 display: flex;
712 justify-content: space-between; 609 justify-content: space-between;
713 } 610 }
714 611
...@@ -754,28 +651,34 @@ ...@@ -754,28 +651,34 @@
754 } 651 }
755 } 652 }
756 653
757 // 人员管理上下移动按钮样式 654 // // 人员管理上下移动按钮样式
758 .el-button.is-disabled.el-button--text { 655 // .el-button.is-disabled.el-button--text {
759 width: 64px; 656 // width: 64px;
760 height: 28px; 657 // height: 28px;
761 background: rgba(255, 255, 255, 0.1); 658 // background: rgba(255, 255, 255, 0.1);
762 border-radius: 16px; 659 // border-radius: 16px;
763 } 660 // }
764 661
765 // 人员管理角色管理菜单管理修改新增弹框样式 662 // 人员管理角色管理菜单管理修改新增弹框样式
766 .PersonnelDialog { 663 .PersonnelDialog {
664 .el-dialog__headerbtn .el-dialog__close {
665 font-size: 20px;
666 color: white;
667 }
767 668
768 .el-dialog__header { 669 .el-dialog__header {
769 text-align: center; 670 text-align: center;
770 margin-bottom: 10px; 671 margin-bottom: 10px;
672 font-size: 24px;
673 background-color: #3D59C4;
771 674
772 .el-dialog__title { 675 .dialog_title {
773 color: rgb(0, 0, 0); 676 b {
774 } 677 color: white !important;
775 } 678 }
776 679
777 .el-form-item__label { 680 margin-bottom: 10px;
778 color: rgb(0, 0, 0); 681 }
779 } 682 }
780 683
781 .el-input__inner { 684 .el-input__inner {
...@@ -793,29 +696,8 @@ ...@@ -793,29 +696,8 @@
793 // color: rgb(0, 0, 0); 696 // color: rgb(0, 0, 0);
794 } 697 }
795 698
796 .el-form-item__label {
797 color: rgb(2, 0, 0);
798 }
799
800 .el-dialog__header { 699 .el-dialog__header {
801 .dialog_title {
802 // display: -webkit-box;
803 // display: -ms-flexbox;
804 // display: flex;
805 // position: relative;
806 // top: -7px;
807 // width: 29%;
808 // height: 40px;
809 // margin-left: 28px;
810 // -webkit-box-pack: center;
811 // -ms-flex-pack: center;
812 // justify-content: center;
813 // white-space: nowrap;
814 700
815 b {
816 font-size: 16px;
817 }
818 }
819 701
820 .el-dialog__headerbtn { 702 .el-dialog__headerbtn {
821 right: 20px !important; 703 right: 20px !important;
...@@ -895,4 +777,144 @@ ...@@ -895,4 +777,144 @@
895 padding: 0px 120px 0px; 777 padding: 0px 120px 0px;
896 text-align: center; 778 text-align: center;
897 } 779 }
898 }
...\ No newline at end of file ...\ No newline at end of file
780 }
781
782 // 权利人信息样式
783 .itemForm {
784 position: relative;
785 padding: 10px;
786
787 .el-select {
788 width: 100%;
789 }
790
791 .el-form-item__error {
792 right: 25px;
793 top: 15px;
794 text-align: right;
795 pointer-events: none;
796 }
797
798 .el-date-editor {
799 width: 100%;
800 }
801
802 .el-date-editor--date {
803 width: 100%;
804 }
805
806 .el-cascader {
807 width: 100%;
808 }
809
810 // table 样式
811 .el-form-item__label {
812 border-right: none;
813 text-align: center;
814 padding: 0;
815 line-height: 16px;
816 font-size: 12px;
817 text-align: right;
818 margin-top: 8px !important;
819 }
820
821 .el-form-item__content {
822 display: flex;
823 margin-right: -1px;
824 }
825
826 .obligee-item-name,
827 .receivingInfo-item-name,
828 .auditInfo-item-name {
829 background-color: #3D59C4;
830 border-radius: 3px;
831 border: 1px solid blue !important;
832 color: #FFFFFF;
833 }
834
835 .el-textarea__inner {
836 margin: 5px;
837 width: 96%;
838 background: none;
839 color: #FFFFFF;
840 border-radius: 2px;
841 border: 1px solid #6BC1FC;
842 }
843
844 .el-input-number {
845 width: 100%;
846 }
847
848 .el-input-number__increase {
849 // background: #05275B;
850 color: #FFFFFF;
851 border: none;
852 right: 7px;
853 top: 2px;
854 }
855
856 .el-input-number__decrease {
857 // background: #05275B;
858 color: #FFFFFF;
859 border: none;
860 right: 7px;
861 bottom: 10px;
862 }
863
864 .el-input__inner {
865 margin: 5px;
866 width: 96%;
867 // background: #05275B;
868 border-radius: 2px;
869 border: 1px solid #6BC1FC;
870 text-align: left;
871
872 }
873
874 .el-form-item {
875 margin-bottom: 0;
876 margin-top: -1px;
877 }
878
879 .item-label {
880 display: flex;
881 align-items: flex-end;
882 flex-direction: column;
883 font-size: 12px;
884 flex: 0 0 90px;
885 margin-right: 3px;
886
887 p {
888 line-height: 16px;
889 white-space: nowrap;
890 text-align: right;
891 }
892
893 p:nth-child(1) {
894 position: relative;
895 right: 5px;
896 }
897 }
898 }
899
900 // 字典管理弹框
901 .dictionary {
902 .el-dialog__header {
903 width: 100%;
904 display: flex;
905 justify-content: center;
906 font-size: 24px;
907 background-color: #3D59C4;
908
909 .dialog_title {
910
911 color: white;
912 margin-bottom: 10px;
913 }
914 }
915
916 .el-dialog__headerbtn .el-dialog__close {
917 font-size: 20px;
918 color: white;
919 }
920 }
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-03-20 14:45:57 4 * @LastEditTime: 2023-03-28 14:11:01
5 --> 5 -->
6 <!-- 6 <!--
7 功能:结果 7 功能:结果
...@@ -18,45 +18,45 @@ ...@@ -18,45 +18,45 @@
18 </div> 18 </div>
19 </template> 19 </template>
20 <script> 20 <script>
21 import { getReceiveDataReportResult } from "@/api/dataReport.js"; 21 import { getReceiveDataReportResult } from "@/api/dataReport.js";
22 export default { 22 export default {
23 components: {}, 23 components: {},
24 props: { 24 props: {
25 formData: { 25 formData: {
26 type: Object, 26 type: Object,
27 default: {} 27 default: {}
28 }
29 },
30 data () {
31 return {
32 REPMSGXML: '',
33 ERRORINFO: '',
34 }
35 },
36 created () {
37 getReceiveDataReportResult(this.formData.bsmReport).then(res => {
38 let data = res.result
39 this.REPMSGXML = data.REPMSGXML
40 this.ERRORINFO = data.ERRORINFO
41 })
28 } 42 }
29 },
30 data () {
31 return {
32 REPMSGXML: '',
33 ERRORINFO: '',
34 }
35 },
36 created () {
37 getReceiveDataReportResult(this.formData.bsmReport).then(res => {
38 let data = res.result
39 this.REPMSGXML = data.REPMSGXML
40 this.ERRORINFO = data.ERRORINFO
41 })
42 } 43 }
43 }
44 </script> 44 </script>
45 <style scoped lang='scss'> 45 <style scoped lang='scss'>
46 .result { 46 .result {
47 padding: 15px; 47 padding: 15px;
48 48
49 p { 49 p {
50 color: #ffffff; 50 color: #ffffff;
51 line-height: 26px; 51 line-height: 26px;
52 font-size: 18px; 52 font-size: 18px;
53 }
53 } 54 }
54 }
55 55
56 /deep/.el-textarea__inner {
57 min-height: 33vh !important;
58 background-color: #08346F !important;
59 color: #ffffff;
60 border: none !important;
61 }
62 </style>
...\ No newline at end of file ...\ No newline at end of file
56 /deep/.el-textarea__inner {
57 min-height: 33vh !important;
58 background-color: #08346f !important;
59 color: #ffffff;
60 border: none !important;
61 }
62 </style>
......
1 <template> 1 <template>
2 <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" custom-class="dialogBox entryJournal editDialogBox mainCenter" 2 <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog"
3 :visible.sync="dialogVisible" width="90%"> 3 custom-class="dialogBox entryJournal commonDialog editDialogBox mainCenter" :visible.sync="dialogVisible" width="90%">
4 <div slot="title" class="dialog_title" ref="dialogTitle"> 4 <div slot="title" class="dialog_title" ref="dialogTitle">
5 {{ title || '登薄日志' }} 5 {{ title || '登薄日志' }}
6 </div> 6 </div>
...@@ -193,270 +193,269 @@ ...@@ -193,270 +193,269 @@
193 </template> 193 </template>
194 194
195 <script> 195 <script>
196 import { sbdata, sendThis } from './data/sbdata' 196 import { sbdata, sendThis } from './data/sbdata'
197 import { dbdata, sendThis1 } from './data/dbdata' 197 import { dbdata, sendThis1 } from './data/dbdata'
198 import { getDetail, edit, regenerateDbXml } from "@/api/recordLog.js" 198 import { getDetail, edit, regenerateDbXml } from "@/api/recordLog.js"
199 import JsonEditor from "@/components/JsonEditor.vue"; 199 import JsonEditor from "@/components/JsonEditor.vue";
200 import { judgeListComplete } from "@/utils/tools.js" 200 import { judgeListComplete } from "@/utils/tools.js"
201 export default { 201 export default {
202 components: { JsonEditor }, 202 components: { JsonEditor },
203 data () { 203 data () {
204 return { 204 return {
205 key: 0, 205 key: 0,
206 title: '', 206 title: '',
207 dialogVisible: false, 207 dialogVisible: false,
208 titleName: 'sjmx', 208 titleName: 'sjmx',
209 titleName2: 'drdbxd', 209 titleName2: 'drdbxd',
210 dbBsm: '', 210 dbBsm: '',
211 // 头部信息 211 // 头部信息
212 accessLog: { 212 accessLog: {
213 AREACODE: '', 213 AREACODE: '',
214 AREANAME: '', 214 AREANAME: '',
215 ACCESSDATE: '', 215 ACCESSDATE: '',
216 REMARK: '' 216 REMARK: ''
217 }, 217 },
218 // 当日登薄信息记录数 218 // 当日登薄信息记录数
219 registerInfo: {
220 TOTALNUM: '', // 总数量
221 FIRSTREG: '', // 首次登记数量
222 TRANSFERREG: '', // 转移登记数量
223 CHANGEREG: '', // 变更登记数量
224 LOGOUTREG: '', // 注销登记数量
225 RIVISEREG: '', // 更正登记数量
226 DISSENTINGREG: '', // 异议登记数量
227 ADVANCEREG: '', // 预告登记数量
228 SEIZEREG: '', // 查封登记数量
229 EASEMENTREG: '', // 地役权登记数量
230 otherReg: '', // 其他登记数量
231 BUSINESSTYPECOUNT: '', // 业务类型总数
232 },
233 // 当日上报记录数
234 accessInfo: {
235 TOTALNUM: '', // 总数量
236 FIRSTREG: '', // 首次登记数量
237 TRANSFERREG: '', // 转移登记数量
238 CHANGEREG: '', // 变更登记数量
239 LOGOUTREG: '', // 注销登记数量
240 RIVISEREG: '', // 更正登记数量
241 DISSENTINGREG: '', // 异议登记数量
242 ADVANCEREG: '', // 预告登记数量
243 SEIZEREG: '', // 查封登记数量
244 EASEMENTREG: '', // 地役权登记数量
245 otherReg: '', // 其他登记数量
246 BUSINESSTYPECOUNT: '', // 业务类型总数
247 },
248 // 当日登薄详单
249 tableDBData: {
250 data: [],
251 column: dbdata.columns()
252 },
253 // 当日上报详单
254 tableSBData: {
255 data: [],
256 column: sbdata.columns()
257 },
258 // XML详情
259 resultInfo: '',
260 dataReport: {}
261 }
262 },
263 mounted () {
264 sendThis(this);
265 sendThis1(this);
266 },
267 watch: {
268 registerInfo: { 219 registerInfo: {
269 handler: function (newVal, oldVal) { 220 TOTALNUM: '', // 总数量
270 this.registerInfo.TOTALNUM = (newVal.FIRSTREG - 0) + (newVal.TRANSFERREG - 0) + 221 FIRSTREG: '', // 首次登记数量
271 (newVal.CHANGEREG - 0) + (newVal.LOGOUTREG - 0) + (newVal.RIVISEREG - 0) + (newVal.DISSENTINGREG - 0) 222 TRANSFERREG: '', // 转移登记数量
272 + (newVal.ADVANCEREG - 0) + (newVal.SEIZEREG - 0) + (newVal.otherReg - 0) 223 CHANGEREG: '', // 变更登记数量
273 }, 224 LOGOUTREG: '', // 注销登记数量
274 deep: true 225 RIVISEREG: '', // 更正登记数量
226 DISSENTINGREG: '', // 异议登记数量
227 ADVANCEREG: '', // 预告登记数量
228 SEIZEREG: '', // 查封登记数量
229 EASEMENTREG: '', // 地役权登记数量
230 otherReg: '', // 其他登记数量
231 BUSINESSTYPECOUNT: '', // 业务类型总数
275 }, 232 },
233 // 当日上报记录数
276 accessInfo: { 234 accessInfo: {
277 handler: function (newVal, oldVal) { 235 TOTALNUM: '', // 总数量
278 this.accessInfo.TOTALNUM = (newVal.FIRSTREG - 0) + (newVal.TRANSFERREG - 0) + 236 FIRSTREG: '', // 首次登记数量
279 (newVal.CHANGEREG - 0) + (newVal.LOGOUTREG - 0) + (newVal.RIVISEREG - 0) + (newVal.DISSENTINGREG - 0) 237 TRANSFERREG: '', // 转移登记数量
280 + (newVal.ADVANCEREG - 0) + (newVal.SEIZEREG - 0) + (newVal.otherReg - 0) 238 CHANGEREG: '', // 变更登记数量
281 }, 239 LOGOUTREG: '', // 注销登记数量
282 deep: true 240 RIVISEREG: '', // 更正登记数量
283 } 241 DISSENTINGREG: '', // 异议登记数量
284 }, 242 ADVANCEREG: '', // 预告登记数量
285 methods: { 243 SEIZEREG: '', // 查封登记数量
286 closeDialog () { 244 EASEMENTREG: '', // 地役权登记数量
287 this.dialogVisible = false; 245 otherReg: '', // 其他登记数量
246 BUSINESSTYPECOUNT: '', // 业务类型总数
288 }, 247 },
289 isShow (item) { 248 // 当日登薄详单
290 this.title = '登薄日志(' + item.ACCESSDATE + ')' 249 tableDBData: {
291 this.titleName = 'sjmx' 250 data: [],
292 this.dialogVisible = true 251 column: dbdata.columns()
293 this.dbBsm = item.dbBsm
294 this._getDetails(item.dbBsm)
295 }, 252 },
296 /** 253 // 当日上报详单
297 * @description: 获取列表接口 254 tableSBData: {
298 * @author: renchao 255 data: [],
299 */ 256 column: sbdata.columns()
300 _getDetails (data) {
301 getDetail(data).then(res => {
302 let { accessLog, registerInfo, accessInfo, accessList, registerList
303 } = res.result
304 this.accessLog = accessLog
305 this.resultInfo = accessLog.LOGSXML
306 this.registerInfo = registerInfo
307 this.accessInfo = accessInfo
308 this.tableDBData.data = _.cloneDeep(registerList)
309 this.tableSBData.data = _.cloneDeep(accessList)
310 this.tableDBData.data.forEach((item, index) => {
311 this.$set(item, 'index', index)
312 })
313 this.tableSBData.data.forEach((item, index) => {
314 this.$set(item, 'index', index)
315 })
316 })
317 }, 257 },
318 // 当日登薄详单 258 // XML详情
319 handleDBAdd () { 259 resultInfo: '',
320 this.tableDBData.data.push({ 260 dataReport: {}
321 YWH: '', 261 }
322 DJLX: '', 262 },
323 QLLX: '', 263 mounted () {
324 BDCDYH: '', 264 sendThis(this);
325 ZSZMH: '', 265 sendThis1(this);
326 SFSB: '', 266 },
327 BWID: '', 267 watch: {
328 BSM_DBLOG: this.accessLog.bsmDblog 268 registerInfo: {
269 handler: function (newVal, oldVal) {
270 this.registerInfo.TOTALNUM = (newVal.FIRSTREG - 0) + (newVal.TRANSFERREG - 0) +
271 (newVal.CHANGEREG - 0) + (newVal.LOGOUTREG - 0) + (newVal.RIVISEREG - 0) + (newVal.DISSENTINGREG - 0)
272 + (newVal.ADVANCEREG - 0) + (newVal.SEIZEREG - 0) + (newVal.otherReg - 0)
273 },
274 deep: true
275 },
276 accessInfo: {
277 handler: function (newVal, oldVal) {
278 this.accessInfo.TOTALNUM = (newVal.FIRSTREG - 0) + (newVal.TRANSFERREG - 0) +
279 (newVal.CHANGEREG - 0) + (newVal.LOGOUTREG - 0) + (newVal.RIVISEREG - 0) + (newVal.DISSENTINGREG - 0)
280 + (newVal.ADVANCEREG - 0) + (newVal.SEIZEREG - 0) + (newVal.otherReg - 0)
281 },
282 deep: true
283 }
284 },
285 methods: {
286 closeDialog () {
287 this.dialogVisible = false;
288 },
289 isShow (item) {
290 this.title = '登薄日志(' + item.ACCESSDATE + ')'
291 this.titleName = 'sjmx'
292 this.dialogVisible = true
293 this.dbBsm = item.dbBsm
294 this._getDetails(item.dbBsm)
295 },
296 /**
297 * @description: 获取列表接口
298 * @author: renchao
299 */
300 _getDetails (data) {
301 getDetail(data).then(res => {
302 let { accessLog, registerInfo, accessInfo, accessList, registerList
303 } = res.result
304 this.accessLog = accessLog
305 this.resultInfo = accessLog.LOGSXML
306 this.registerInfo = registerInfo
307 this.accessInfo = accessInfo
308 this.tableDBData.data = _.cloneDeep(registerList)
309 this.tableSBData.data = _.cloneDeep(accessList)
310 this.tableDBData.data.forEach((item, index) => {
311 this.$set(item, 'index', index)
312 })
313 this.tableSBData.data.forEach((item, index) => {
314 this.$set(item, 'index', index)
315 })
316 })
317 },
318 // 当日登薄详单
319 handleDBAdd () {
320 this.tableDBData.data.push({
321 YWH: '',
322 DJLX: '',
323 QLLX: '',
324 BDCDYH: '',
325 ZSZMH: '',
326 SFSB: '',
327 BWID: '',
328 BSM_DBLOG: this.accessLog.bsmDblog
329 })
330 this.tableDBData.data.forEach((item, index) => {
331 this.$set(item, 'index', index)
332 })
333 },
334 handleDBMinus (row) {
335 this.$confirm('此操作将删除列表, 是否继续?', '提示', {
336 confirmButtonText: '确定',
337 cancelButtonText: '取消',
338 type: 'warning'
339 }).then(() => {
340 this.tableDBData.data.splice(row.index, 1)
341 this.$message({
342 type: 'success',
343 message: '删除成功!'
329 }) 344 })
330 this.tableDBData.data.forEach((item, index) => { 345 this.tableDBData.data.forEach((item, index) => {
331 this.$set(item, 'index', index) 346 this.$set(item, 'index', index)
332 }) 347 })
333 }, 348 }).catch(() => {
334 handleDBMinus (row) { 349 this.$message({
335 this.$confirm('此操作将删除列表, 是否继续?', '提示', { 350 type: 'info',
336 confirmButtonText: '确定', 351 message: '已取消删除'
337 cancelButtonText: '取消',
338 type: 'warning'
339 }).then(() => {
340 this.tableDBData.data.splice(row.index, 1)
341 this.$message({
342 type: 'success',
343 message: '删除成功!'
344 })
345 this.tableDBData.data.forEach((item, index) => {
346 this.$set(item, 'index', index)
347 })
348 }).catch(() => {
349 this.$message({
350 type: 'info',
351 message: '已取消删除'
352 })
353 }) 352 })
354 }, 353 })
355 // 当日上报详单 354 },
356 handleSBAdd () { 355 // 当日上报详单
357 this.tableSBData.data.push({ 356 handleSBAdd () {
358 YWH: '', 357 this.tableSBData.data.push({
359 BDCDYH: '', 358 YWH: '',
360 BWID: '', 359 BDCDYH: '',
361 BSM_DBLOG: this.accessLog.bsmDblog 360 BWID: '',
361 BSM_DBLOG: this.accessLog.bsmDblog
362 })
363 this.tableSBData.data.forEach((item, index) => {
364 this.$set(item, 'index', index)
365 })
366 },
367 handleSBMinus (row) {
368 this.$confirm('此操作将删除列表, 是否继续?', '提示', {
369 confirmButtonText: '确定',
370 cancelButtonText: '取消',
371 type: 'warning'
372 }).then(() => {
373 this.tableSBData.data.splice(row.index, 1)
374 this.$message({
375 type: 'success',
376 message: '删除成功!'
362 }) 377 })
363 this.tableSBData.data.forEach((item, index) => { 378 this.tableSBData.data.forEach((item, index) => {
364 this.$set(item, 'index', index) 379 this.$set(item, 'index', index)
365 }) 380 })
366 }, 381 }).catch(() => {
367 handleSBMinus (row) { 382 this.$message({
368 this.$confirm('此操作将删除列表, 是否继续?', '提示', { 383 type: 'info',
369 confirmButtonText: '确定', 384 message: '已取消删除'
370 cancelButtonText: '取消',
371 type: 'warning'
372 }).then(() => {
373 this.tableSBData.data.splice(row.index, 1)
374 this.$message({
375 type: 'success',
376 message: '删除成功!'
377 })
378 this.tableSBData.data.forEach((item, index) => {
379 this.$set(item, 'index', index)
380 })
381 }).catch(() => {
382 this.$message({
383 type: 'info',
384 message: '已取消删除'
385 })
386 }) 385 })
387 }, 386 })
388 /** 387 },
389 * @description: 确定修改详情 388 /**
390 * @param {*} function 389 * @description: 确定修改详情
391 * @author: renchao 390 * @param {*} function
392 */ 391 * @author: renchao
393 submitForm: _.debounce(function () { 392 */
394 let _this = this 393 submitForm: _.debounce(function () {
395 if (_verify(this.tableDBData.data, '当日登薄详单列表必填') && _verify(this.tableSBData.data, '当日上报详单列表必填')) { 394 let _this = this
396 _editDetail() 395 if (_verify(this.tableDBData.data, '当日登薄详单列表必填') && _verify(this.tableSBData.data, '当日上报详单列表必填')) {
396 _editDetail()
397 }
398 function _verify (data, msg) {
399 let flag = true
400 if (!judgeListComplete(data)) {
401 _this.$message({
402 message: msg,
403 type: 'warning'
404 })
405 flag = false
397 } 406 }
398 function _verify (data, msg) { 407 return flag
399 let flag = true 408 }
400 if (!judgeListComplete(data)) { 409 function _editDetail () {
410 edit({
411 accessLog: _this.accessLog, registerInfo: _this.registerInfo,
412 accessInfo: _this.accessInfo,
413 accessList: _this.tableSBData.data,
414 registerList: _this.tableDBData.data
415 }).then(res => {
416 if (res.code == 200) {
401 _this.$message({ 417 _this.$message({
402 message: msg, 418 message: '保存成功',
403 type: 'warning' 419 type: 'success'
404 }) 420 })
405 flag = false 421 _this._getDetails(_this.dbBsm)
422 }
423 })
424 }
425 }, 600),
426 /**
427 * @description: 登薄日志重新生成报文
428 * @param {*} function
429 * @author: renchao
430 */
431 handleResubmit () {
432 let _this = this
433 this.$confirm('重新生成报文,是否上报省厅?', '提示', {
434 confirmButtonText: '确定',
435 cancelButtonText: '取消',
436 type: 'warning'
437 }).then(() => {
438 createXml()
439 }).catch(() => {
440 this.$message({
441 type: 'info',
442 message: '已取消删除'
443 })
444 })
445 function createXml () {
446 regenerateDbXml(_this.dbBsm).then(res => {
447 if (res.code == 200) {
448 _this.$message({
449 message: '生成成功',
450 type: 'success'
451 })
452 _this.resultInfo = res.message
406 } 453 }
407 return flag
408 }
409 function _editDetail () {
410 edit({
411 accessLog: _this.accessLog, registerInfo: _this.registerInfo,
412 accessInfo: _this.accessInfo,
413 accessList: _this.tableSBData.data,
414 registerList: _this.tableDBData.data
415 }).then(res => {
416 if (res.code == 200) {
417 _this.$message({
418 message: '保存成功',
419 type: 'success'
420 })
421 _this._getDetails(_this.dbBsm)
422 }
423 })
424 }
425 }, 600),
426 /**
427 * @description: 登薄日志重新生成报文
428 * @param {*} function
429 * @author: renchao
430 */
431 handleResubmit () {
432 let _this = this
433 this.$confirm('重新生成报文,是否上报省厅?', '提示', {
434 confirmButtonText: '确定',
435 cancelButtonText: '取消',
436 type: 'warning'
437 }).then(() => {
438 createXml()
439 }).catch(() => {
440 this.$message({
441 type: 'info',
442 message: '已取消删除'
443 })
444 }) 454 })
445 function createXml () {
446 regenerateDbXml(_this.dbBsm).then(res => {
447 if (res.code == 200) {
448 _this.$message({
449 message: '生成成功',
450 type: 'success'
451 })
452 _this.resultInfo = res.message
453 }
454 })
455 }
456 } 455 }
457 } 456 }
458 } 457 }
458 }
459 </script> 459 </script>
460 <style scoped lang="scss"> 460
461 </style>
462 461
......
...@@ -153,6 +153,7 @@ export default { ...@@ -153,6 +153,7 @@ export default {
153 { 153 {
154 label: "操作", 154 label: "操作",
155 width: "80", 155 width: "80",
156 fixed: "right",
156 render: (h, scope) => { 157 render: (h, scope) => {
157 return ( 158 return (
158 <div> 159 <div>
......
1 import filter from '@/utils/filter.js'
2 class data extends filter {
3 constructor() {
4 super()
5 }
6 columns () {
7 return [
8 {
9 prop: "name",
10 label: "区县代码",
11 width: 130
12 },
13 {
14 prop: "description",
15 label: "业务号"
16 },
17 {
18 prop: "description",
19 label: "受理业务名称"
20 },
21 {
22 prop: "description",
23 label: "受理业务编码"
24 },
25 {
26 prop: "description",
27 label: "受理时间"
28 },
29 {
30 prop: "description",
31 label: "登记时间"
32 },
33 {
34 prop: "description",
35 label: "接收时间"
36 },
37 {
38 prop: "description",
39 label: "读取时间"
40 }
41 ]
42 }
43 }
44 export default new data()
1 <!-- 新增 & 修改角色 -->
2 <template>
3 <dialogBox
4 class="PersonnelDialog"
5 :title="title"
6 :width="'567px'"
7 :isMain="true"
8 @closeDialog="close"
9 @submitForm="submitForm"
10 v-model="myValue">
11 <div class="dialogCon">
12 <el-form ref="form" :model="dialogForm" :rules="rules" label-width="82px">
13 <el-row :gutter="24">
14 <el-col :span="23">
15 <el-form-item label="角色名称:" prop="roleName">
16 <el-input
17 v-model="dialogForm.roleName"
18 clearable
19 placeholder="角色名称" />
20 </el-form-item>
21 </el-col>
22 </el-row>
23 <el-row>
24 <el-col :span="23">
25 <el-form-item label="备注:" class="form-item-mb0">
26 <el-input
27 v-model="dialogForm.roleTextArea"
28 clearable
29 :rows="10"
30 type="textarea"
31 placeholder="备注" />
32 </el-form-item>
33 </el-col>
34 </el-row>
35 </el-form>
36 </div>
37 <!-- <template slot="footer">
38 <el-button
39 class="cancel-button"
40 @click="handleCloseDialog">取消</el-button>
41
42 <el-button
43 type="primary"
44 @click="handleSaveRole()">保存</el-button>
45 </template> -->
46 </dialogBox>
47 </template>
48
49 <script>
50 import Dialog from "@/components/Dialog/";
51 import { api, httpAction } from '@/api/manageApi'
52 export default {
53 components: {
54 Dialog
55 },
56 props: {
57 value: { type: Boolean, default: false },
58 },
59 data () {
60 return {
61 myValue: this.value,
62 title: '',
63 showAddEditDialog: false,
64 menuType: '',
65 roleId: '',
66 sort: 0,
67 dialogForm: {
68 roleName: '',
69 roleType: '',
70 roleTextArea: ''
71 },
72 rules: {
73 roleName: [
74 { required: true, message: '请输入角色名称', trigger: 'blur' }
75 ],
76 },
77 roleTypeOptions: [
78 { name: '定制', value: '定制' },
79 { name: '其他', value: '其他' }
80 ]
81 }
82 },
83 watch: {
84 value (val) {
85 this.myValue = val
86 }
87 },
88 methods: {
89 // 保存新增或关闭事件
90 submitForm () {
91 this.$refs.form.validate((valid) => {
92 if (valid) {
93 try {
94 const params = {
95 category: 2,
96 description: this.dialogForm.roleTextArea,
97 name: this.dialogForm.roleName,
98 sort: this.sort,
99 type: this.dialogForm.roleType
100 }
101 if (this.roleId) {
102 params.id = this.roleId
103 httpAction(`${api.roles}/${params.id}`, params, 'post').then(
104 (res) => {
105 if (res.status === 1) {
106 this.$message.success({
107 message: '修改成功',
108 showClose: true
109 })
110 this.dialogForm = {
111 roleName: '',
112 }
113 // this.showAddEditDialog = val
114 this.$emit('ok')
115 } else {
116 this.$message.error({
117 message: res.message,
118 showClose: true
119 })
120 }
121 }
122 )
123 } else {
124 httpAction(api.roles, params, 'post').then((res) => {
125 if (res.status === 1) {
126 this.$message.success({
127 message: '新增成功',
128 showClose: true
129 })
130 this.close()
131
132 this.$emit('ok')
133 // this.showAddEditDialog = val
134 this.$emit('ok', this.menuType)
135 } else {
136 this.$message.error({
137 message: res.message,
138 showClose: true
139 })
140 }
141 })
142 }
143 } catch (e) {
144 console.error(e)
145 }
146 }
147 })
148 },
149 resetForm () {
150 this.dialogForm = {
151 roleName: '',
152 }
153 this.$refs.form.resetFields()
154 },
155 close () {
156 this.resetForm()
157 this.$emit('input', false)
158 }
159 }
160 }
161 </script>
162 <style scoped lang="scss">
163 </style>
1 <template>
2 <div class="timedTask from-clues">
3 <div class="from-clues-header">
4 <el-form ref="ruleForm" :model="form" label-width="100px">
5 <el-form-item v-if="BASE_API.THEME=='jg'">
6 <Breadcrumb />
7 </el-form-item>
8 <el-row class="mb-5">
9 <el-col :span="4">
10 <el-form-item label="业务号:" prop="ywh">
11 <el-input v-model="form.ywh" class="width100" clearable placeholder="业务号"></el-input>
12 </el-form-item>
13 </el-col>
14 <el-col :span="4">
15 <el-form-item label="业务名称" prop="ywmc">
16 <el-input v-model.trim="form.rolesName" class="width100" clearable placeholder="业务名称"></el-input>
17 </el-form-item>
18 </el-col>
19 <el-col :span="6">
20 <el-form-item label="开始日期" prop="startTime">
21 <el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart"
22 clearable v-model="form.startTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
23 </el-form-item>
24 </el-col>
25 <el-col :span="6">
26 <el-form-item label="结束日期" prop="endTime">
27 <el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd" clearable
28 v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
29 </el-form-item>
30 </el-col>
31 <!-- 操作按钮 -->
32 <el-col :span="4" class="btnColRight">
33 <btn nativeType="cz" @click="resetForm">重置</btn>
34 <btn nativeType="cx" @click="handleSearch">查询</btn>
35 </el-col>
36 </el-row>
37 </el-form>
38 </div>
39 <div class="from-clues-content">
40 <lb-table :pagination="false" @size-change="handleSizeChange" :calcHeight="200"
41 @p-current-change="handleCurrentChange" :column="tableData.columns" :data="listdata" :expand-row-keys="keyList"
42 row-key="dictid">
43 </lb-table>
44 </div>
45 </div>
46 </template>
47 <script>
48 import {
49 getUuid,
50 judgeSort,
51 realMove,
52 findParents,
53 removeTreeListItem,
54 } from "@/utils/operation";
55 import { getRolesById, getAuthorityListAction } from "@/api/authorityManage";
56 import { getUserRoles } from "@/api/personnelManage";
57 import data from "./data";
58 import { getMenuInfo } from "@/api/user";
59 import { api, getAction, deleteAction } from "@/api/manageApi";
60 import tableMixin from "@/mixins/tableMixin.js";
61 import EditDialog from "./edit-dialog.vue";
62 import Roleslistdiglog from "./roleslistdiglog.vue";
63 import { mapGetters } from "vuex";
64 import { updateOrder } from "@/api/orders"
65 export default {
66 name: "menus",
67 mixins: [tableMixin],
68 components: {
69 EditDialog,
70 Roleslistdiglog,
71 },
72 data () {
73 return {
74 // 开始结束日期限制
75 pickerOptionsStart: {
76 disabledDate: (time) => {
77 if (this.form.endTime) {
78 return time.getTime() >= new Date(this.form.endTime).getTime()
79 }
80 }
81 },
82 // 结束日期限制
83 pickerOptionsEnd: {
84 disabledDate: (time) => {
85 if (this.form.startTime) {
86 return time.getTime() < new Date(this.form.startTime).getTime()
87 }
88 }
89 },
90 listdata: [],
91 setlistdata: [],
92 // 表单
93 form: {
94 ywh: '',
95 ywmc: '',
96 startTime: '',
97 endTime: '',
98 currentPage: 1
99 },
100 tableData: {
101 columns: [
102 {
103 label: "序号",
104 type: "index",
105 width: "50",
106 index: this.indexMethod,
107 },
108 ]
109 .concat(data.columns())
110 .concat({
111 prop: "state",
112 label: "状态",
113 width: '120',
114 render: (h, scope) => {
115 return (
116 <div>
117 <span class='adopt' v-show={scope.row.state == 3}>上报失败</span>
118 <span class='adopt' v-show={scope.row.state == 2}>上报成功</span>
119 <span class='warehousing' v-show={scope.row.state == 1}>接入上报异常</span>
120 </div>
121 )
122 }
123 })
124 .concat([]),
125 },
126 data: [],
127 }
128 },
129 created () {
130 this.getTableData();
131 },
132 mounted () { },
133 methods: {
134 //查询
135 searchQuery () {
136 if (this.form.rolesName) {
137 this.listdata = this.childrenFn(this.setlistdata, this.form.rolesName);
138 } else {
139 this.getTableData()
140 }
141 },
142 childrenFn (arr, key) {
143 let searchTree = [];
144 arr.forEach((item, index) => {
145 if (item.name.indexOf(key) != -1) {
146
147 searchTree.push(item);
148 }
149 });
150 if (searchTree != undefined && searchTree.length != 0) {
151 return judgeSort(searchTree);
152 }
153 },
154 // 获取角色列表
155 getTableData () {
156 getRolesById([1, 2])
157 .then((res) => {
158 this.listdata = res.content;
159 this.listdata = judgeSort(this.listdata);
160 this.setlistdata = res.content;
161 })
162 .catch((e) => console.error(e));
163 },
164
165
166 },
167 };
168 </script>
169 <style scoped lang="scss">
170 @import "~@/styles/mixin.scss";
171 // @import "~@/styles/public.scss";
172
173 /deep/.el-button.is-disabled.el-button--text {
174 width: 64px;
175 height: 28px;
176 background: rgba(255, 255, 255, 0.1);
177 border-radius: 16px;
178 }
179 </style>
1 <template>
2 <el-dialog
3 :close-on-click-modal="false"
4 top="0"
5 @click="close()"
6 class="roleconfiguration"
7 custom-class="dialogBox editDialogBox mainCenter"
8 :visible.sync="visible"
9 width="85%">
10 <div slot="title" class="dialog_title" ref="dialogTitle">
11 {{ title || "标题" }}
12 </div>
13 <div class="editDialogBox-box">
14 <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
15 <el-tab-pane label="人员配置" name="first"></el-tab-pane>
16 <el-tab-pane label="菜单配置" name="second"></el-tab-pane>
17 </el-tabs>
18 <lb-table
19 v-if="activeName == 'first'"
20 ref="multipleTable"
21 :pagination="false"
22 :column="usertableData.column"
23 :data="lastuserList"
24 @selection-change="handleSelectionChange"
25 @row-click="handleClickTableRow">
26 >
27 </lb-table>
28 <lb-table
29 :key="menukey"
30 v-if="activeName == 'second'"
31 :pagination="false"
32 :column="menutableData.column"
33 :data="lastMenuList"
34 row-key="id"
35 default-expand-all
36 :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
37 </lb-table>
38 </div>
39 <template slot="footer">
40 <btn nativeType="cx" type="primary" @click="handleSaveMember()">保存</btn>
41 <btn nativeType="cz" @click="close()">取消</btn>
42 </template>
43 </el-dialog>
44 </template>
45
46 <script>
47 import { api } from "@/api/manageApi";
48 import { getRoleAuthorityList, roleAuthority } from "@/api/authorityManage";
49 import { updateUser } from "@/api/personnelManage";
50 export default {
51 name: "",
52 data () {
53 return {
54 title: "人员配置",
55 visible: false,
56 menutableData: {
57 column: [
58 {
59 prop: "name",
60 width: 830,
61 label: "菜单名称",
62 }
63 ].concat([
64 {
65 label: "权限",
66 render: (h, scope) => {
67 return (
68 <div>
69 <el-checkbox v-model={scope.row.checkArr[0].value}
70 disabled={scope.row.checkArr[0].disabled}
71 label={scope.row.checkArr[0].name} onChange={(checked) => {
72 this.changeCheck(checked, scope.row.checkArr[0].id, scope);
73 }} />
74 <el-checkbox v-model={scope.row.checkArr[1].value}
75 disabled={scope.row.checkArr[0].disabled}
76 label={scope.row.checkArr[1].name}
77 onChange={(checked) => {
78 this.changeCheck(checked, scope.row.checkArr[1].id, scope);
79 }} />
80 </div>
81 );
82 },
83 },
84 ]),
85 },
86 usertableData: {
87 column: [
88 {
89 type: "selection",
90 width: 330,
91 },
92 {
93 prop: "name",
94 width: 330,
95 label: "姓名",
96 },
97 {
98 prop: "loginName",
99 label: "用户名",
100 },
101 ],
102 },
103 // 角色id
104 roleId: "",
105 menuList: [], // 菜单列表
106 menukey: 0,
107 activeName: "first",
108 lastuserList: [], // 人员表格数据
109 lastMenuList: [], // 重构完成的菜单表格数据
110 usermultipleSelection: [],
111 // 选中菜单列表
112 checkArr: [], // 重构操作符列表
113 authorityList: [], // 授权回显数组
114 checklistbor: [],
115 // 授权对象数据
116 menuprams: {},
117 // 系统code
118 selectedSubsystemCode: ""
119 };
120 },
121 computed: {},
122
123 created () {
124 },
125 mounted () {
126 },
127 methods: {
128
129 // 人员配置点击行勾选数据
130 handleClickTableRow (row, event) {
131 this.checkNum = 0;
132 this.isCheck = false;
133 if (event.label == "操作") {
134 return;
135 } else {
136 if (row.status == "0") {
137 return;
138 } else {
139 if (this.usermultipleSelection.length > 0) {
140 if (
141 JSON.stringify(this.usermultipleSelection).indexOf(
142 JSON.stringify(row)
143 ) == -1
144 ) {
145 this.usermultipleSelection.push(row);
146 this.$refs.multipleTable.toggleRowSelection(row, true);
147 } else {
148 this.usermultipleSelection.map((item, index) => {
149 if (item.id == row.id) {
150 this.usermultipleSelection.splice(index, 1);
151 this.$refs.multipleTable.toggleRowSelection(row, false);
152 }
153 });
154 }
155 } else {
156 this.usermultipleSelection.push(row);
157 this.$refs.multipleTable.toggleRowSelection(row, true);
158 }
159 }
160 }
161 if (this.usermultipleSelection.length > 0) {
162 this.checkNum = this.usermultipleSelection.length;
163 this.isCheck = true;
164 } else {
165 this.isCheck = false;
166 }
167 },
168 // 获取授权主体的菜单权限
169 // getMenuAuthorityList
170 menulist (operationList, id, Code, menutablelistData, operationCodes) {
171 this.selectedSubsystemCode = Code
172 this.menuList = menutablelistData;
173 getRoleAuthorityList(
174 id,
175 operationList.toString(),
176 Code + '_MENU'
177 ).then(res => {
178 if (res.status === 1) {
179 this.authorityList = res.content
180 this.getRecursionTreeData(this.menuList, this.authorityList, operationCodes)
181 this.getAuthorizedInfo()
182 // this.setCheckAllArr()
183 // this.getAuthorizedInfo()
184 } else {
185 this.$message.error({ message: res.message, showClose: true })
186 }
187 })
188
189
190 },
191 /**
192 * 递归渲染列表数据
193 * list:原始数组
194 * authorityList:已授权数组
195 */
196 getRecursionTreeData (list, authorityList, operationCodes) {
197 ++this.menukey
198 this.checkArr = []
199 for (const k in operationCodes) {
200 const obj = {}
201 obj.name = operationCodes[k]
202 obj.id = k
203 obj.value = false
204 obj.disabled = false
205 // obj.isAll = false;
206 this.checkArr.push(obj)
207 }
208 for (const [index, item] of Object.entries(list)) {
209 this.setAuthorizedConditions(
210 authorityList,
211 this.$deepCopy(this.checkArr),
212 item
213 )
214 if (
215 item.children &&
216 item.children !== null &&
217 item.children.length !== 0
218 ) {
219 item.children.forEach((child, j) => {
220 this.setAuthorizedConditions(
221 authorityList,
222 this.$deepCopy(this.checkArr),
223 child
224 )
225 })
226 this.getRecursionTreeData(item.children, authorityList, operationCodes)
227 }
228 }
229 this.lastMenuList = list
230 // this.setCheckAllArr(list)
231 },
232 // 授权条件
233 setAuthorizedConditions (authorityList, checkArr, item) {
234 if (this.roleId === '') {
235 checkArr.forEach(ele => {
236 ele.disabled = true
237 ele.value = false
238 })
239 } else {
240 if (authorityList.length !== 0) {
241 if (authorityList[0].superPermission === true) {
242 checkArr.forEach(ele => {
243 ele.value = true
244 ele.disabled = true
245 })
246 } else {
247 const repeatArr = authorityList.filter(authorityItem => {
248 return authorityItem.resourceUri === item.id
249 })
250 repeatArr.forEach(element => {
251 checkArr.forEach(ele => {
252 if (element.operationCode === ele.id) {
253 ele.value = true
254 if (this.roleId !== element.subjectId) {
255 ele.disabled = true
256 }
257 }
258 })
259 })
260 }
261 }
262 }
263 this.$set(item, 'checkArr', this.$deepCopy(checkArr))
264 },
265 // 获取拼接授权信息
266 getAuthorizedInfo () {
267 const lastArr = []
268 const authorizedList = []
269 const wholeArr = this.$deepCopy(this.lastMenuList)
270 const arr = this.$treeConvertToArr(wholeArr)
271 arr.forEach(ele => {
272 ele.checkArr.forEach(val => {
273 if (val.value === true && val.disabled === false) {
274 const obj = {
275 operationCode: val.id,
276 name: ele.name,
277 id: ele.id
278 }
279 lastArr.push(obj)
280 }
281 })
282 })
283 lastArr.forEach(element => {
284 authorizedList.push({
285 operationCode: element.operationCode, // 标识符
286 productCode: this.selectedSubsystemCode, // 子系统code
287 resourceCategoryCode: this.selectedSubsystemCode + '_MENU', // 资源类别code默认为MENU
288 resourceName: element.name,
289 resourceUri: element.id, // 授权菜单id
290 subjectId: this.roleId, // 授权对象id
291 subjectType: 'ROLE' // 授权对象类别
292 })
293 })
294 this.menuprams = {
295 subjectId: this.roleId,
296 authorizedList: authorizedList
297 }
298 },
299 // 获取人员列表做筛选
300 personlist (a, rid) {
301 this.roleId = rid;
302 this.visible = true;
303 this.lastuserList = a;
304 this.lastuserList.forEach((item, index) => {
305 if (item.selectStatus === 0) {
306 this.$nextTick(async () => {
307 await this.$refs.multipleTable
308 if (this.$refs.multipleTable) {
309 this.$refs.multipleTable.toggleRowSelection(
310 this.lastuserList[index],
311 true
312 );
313 }
314
315 });
316 }
317 });
318 },
319 // 关闭事件
320 close () {
321 this.visible = false;
322 },
323 // 保存事件
324 handleSaveMember () {
325 // 人员授权
326 const idList = this.usermultipleSelection.map((item) => {
327 return item.id;
328 })
329 updateUser(this.roleId, idList).then((res) => {
330 if (res.status === 1) {
331 this.$message.success({ message: "保存成功", showClose: true });
332 this.visible = false;
333 } else this.$message.error({ message: res.message, showClose: true });
334 });
335 // 菜单授权
336 roleAuthority(
337 this.menuprams.subjectId,
338 this.menuprams.authorizedList
339 ).then((res) => {
340 if (res.status === 1) {
341 this.$message.success({
342 message: res.message,
343 })
344 // this.authorizedContChange()
345 } else {
346 this.$message.error({ message: res.message, showClose: true })
347 }
348 })
349 },
350 // 勾选人员事件
351 handleSelectionChange (val) {
352 this.lastuserList.forEach((element, index) => {
353 delete this.lastuserList[index].selectStatus
354 });
355 this.usermultipleSelection = val;
356 this.lastuserList.forEach((element, index) => {
357 this.usermultipleSelection.forEach(element1 => {
358 if (element.id == element1.id) {
359 this.lastuserList[index].selectStatus = 0
360 }
361 });
362 });
363 },
364 // 数据筛选
365 setarrdata (scope, arr) {
366
367 arr.forEach((item, index, arr) => {
368 if (item.id == scope.row.id) {
369 this.checklistbor = [...arr]
370 } else if (item.id !== scope.row.id && item.children) {
371 this.setarrdata(scope, item.children)
372 }
373
374 })
375
376 },
377 // 勾选菜单事件
378 changeCheck (flag, checkId, scope) {
379 this.checklistbor = []
380 this.setarrdata(scope, this.lastMenuList)
381 const parents = this.$findParent(this.lastMenuList, scope.row.parentId)
382 const childs = this.$findChildren(this.lastMenuList, scope.row.id)
383 this.$setChildArr(
384 this.lastMenuList,
385 scope.row.id,
386 checkId,
387 flag,
388 this.checklistbor,
389 parents,
390 childs
391 )
392 this.getAuthorizedInfo()
393 },
394 handleClick (tab, event) {
395 this.lastuserList.forEach((item, index) => {
396 if (item.selectStatus === 0) {
397 this.$nextTick(async () => {
398 await this.$refs.multipleTable
399 if (this.$refs.multipleTable) {
400 this.$refs.multipleTable.toggleRowSelection(
401 this.lastuserList[index],
402 true
403 );
404 }
405
406 });
407 }
408 });
409 }
410
411 },
412 };
413 </script>
414 <style scoped lang="scss">
415 /deep/.dialogBox .el-dialog__header {
416 height: 59px !important;
417 }
418 </style>
1 <template> 1 <template>
2 <!-- 编辑 --> 2 <!-- 编辑 -->
3 <dialogBox submitForm="submitForm" class="tableClass" @closeDialog="closeDialog" @submitForm="handleSubmit" width="60%" 3 <dialogBox submitForm="submitForm" class="tableClass dictionary" @closeDialog="closeDialog" @submitForm="handleSubmit" width="60%"
4 v-model="myValue" :isMain="true" title="字典信息"> 4 v-model="myValue" :isMain="true" title="字典信息">
5 <div class="editDialogBox-box "> 5 <div class="editDialogBox-box ">
6 <el-form :model="ruleForm" ref="ruleForm" label-width="100px"> 6 <el-form :model="ruleForm" ref="ruleForm" label-width="100px">
...@@ -159,13 +159,14 @@ ...@@ -159,13 +159,14 @@
159 }, 159 },
160 }, 160 },
161 { 161 {
162 width: "130", 162 width: "200",
163 label: "移动", 163 label: "移动",
164 render: (h, scope) => { 164 render: (h, scope) => {
165 return ( 165 return (
166 <div> 166 <div>
167 <el-button 167 <el-button
168 type="text" 168 type="text"
169 class='movebtnColor'
169 disabled={scope.row.isTop} 170 disabled={scope.row.isTop}
170 onClick={() => { 171 onClick={() => {
171 this.moveUpward(scope.$index, scope.row); 172 this.moveUpward(scope.$index, scope.row);
...@@ -175,6 +176,7 @@ ...@@ -175,6 +176,7 @@
175 </el-button> 176 </el-button>
176 <el-button 177 <el-button
177 type="text" 178 type="text"
179 class='movebtnColor'
178 disabled={scope.row.isBottom} 180 disabled={scope.row.isBottom}
179 onClick={() => { 181 onClick={() => {
180 this.moveDown(scope.$index, scope.row); 182 this.moveDown(scope.$index, scope.row);
...@@ -187,13 +189,14 @@ ...@@ -187,13 +189,14 @@
187 }, 189 },
188 }, 190 },
189 { 191 {
190 width: "100", 192 width: "200",
191 label: "操作", 193 label: "操作",
192 render: (h, scope) => { 194 render: (h, scope) => {
193 return ( 195 return (
194 <div> 196 <div>
195 <el-button 197 <el-button
196 type="text" 198 type="text"
199 class='resetbtnColor'
197 style="margin-right:10px" 200 style="margin-right:10px"
198 onClick={() => { 201 onClick={() => {
199 this.handleAddSubordinate(scope.row); 202 this.handleAddSubordinate(scope.row);
...@@ -203,6 +206,7 @@ ...@@ -203,6 +206,7 @@
203 </el-button> 206 </el-button>
204 <el-button 207 <el-button
205 type="text" 208 type="text"
209 class='delColor'
206 style="margin-left:0" 210 style="margin-left:0"
207 onClick={() => { 211 onClick={() => {
208 this.handleMinus(scope.$index, scope.row); 212 this.handleMinus(scope.$index, scope.row);
......
...@@ -208,9 +208,9 @@ ...@@ -208,9 +208,9 @@
208 message: res.message, 208 message: res.message,
209 showClose: true 209 showClose: true
210 }) 210 })
211 211 close()
212 this.resetForm()
213 this.$emit('ok') 212 this.$emit('ok')
213
214 } else { 214 } else {
215 this.$message.error({ message: res.message, showClose: true }) 215 this.$message.error({ message: res.message, showClose: true })
216 } 216 }
......
...@@ -29,181 +29,182 @@ ...@@ -29,181 +29,182 @@
29 </div> 29 </div>
30 </template> 30 </template>
31 <script> 31 <script>
32 // 定时任务 32 // 定时任务
33 import data from "./data"; 33 import data from "./data";
34 import { deleteAction, getAction, api } from "@/api/manageApi"; 34 import { deleteAction, getAction, api } from "@/api/manageApi";
35 import EditDialog from "./edit-dialog.vue"; 35 import EditDialog from "./edit-dialog.vue";
36 import { mapGetters } from "vuex"; 36 import { mapGetters } from "vuex";
37 import { getMenuInfo } from "@/api/user"; 37 import { getMenuInfo } from "@/api/user";
38 import { 38 import {
39 getUuid, 39 getUuid,
40 judgeSort, 40 judgeSort,
41 realMove, 41 realMove,
42 findParents, 42 findParents,
43 removeTreeListItem, 43 removeTreeListItem,
44 } from "@/utils/operation"; 44 } from "@/utils/operation";
45 export default { 45 export default {
46 name: "menus", 46 name: "menus",
47 components: { 47 components: {
48 EditDialog, 48 EditDialog,
49 }, 49 },
50 data () { 50 data () {
51 return { 51 return {
52 isDialog: false, 52 isDialog: false,
53 tablelistData: [], 53 tablelistData: [],
54 listData: [], 54 listData: [],
55 resourceCategoryId: "", 55 resourceCategoryId: "",
56 taskData: null, 56 taskData: null,
57 form: { 57 form: {
58 menuName: "", 58 menuName: "",
59 }, 59 },
60 title: "", 60 title: "",
61 queryParam: {}, 61 queryParam: {},
62 selectType: "0", 62 selectType: "0",
63 queryName: "", 63 queryName: "",
64 organizationId: "", // 组织机构ID 64 organizationId: "", // 组织机构ID
65 departmentId: "", // 部门ID 65 departmentId: "", // 部门ID
66 departmentList: [], // 部门列表 66 departmentList: [], // 部门列表
67 levelList: [], // 职务级别 67 levelList: [], // 职务级别
68 sexList: [], 68 sexList: [],
69 69
70 selectionList: [], 70 selectionList: [],
71 tableData: { 71 tableData: {
72 columns: [].concat(data.columns()).concat([ 72 columns: [].concat(data.columns()).concat([
73 { 73 {
74 label: "操作", 74 label: "操作",
75 width: 380, 75 width: 380,
76 render: (h, scope) => { 76 render: (h, scope) => {
77 return ( 77 return (
78 <div> 78 <div>
79 <el-button 79 <el-button
80 type="text" 80 type="text"
81 class='successColor' 81 class='successColor'
82 onClick={() => { 82 onClick={() => {
83 this.handleEdit(scope.row); 83 this.handleEdit(scope.row);
84 }} 84 }}
85 > 85 >
86 修改 86 修改
87 </el-button> 87 </el-button>
88 88
89 <el-button 89 <el-button
90 type="text" 90 type="text"
91 class='delColor' 91 class='delColor'
92 onClick={() => { 92 onClick={() => {
93 this.handleDelete(scope.row.id, scope.row.name); 93 this.handleDelete(scope.row.id, scope.row.name);
94 }} 94 }}
95 > 95 >
96 删除 96 删除
97 </el-button> 97 </el-button>
98 </div> 98 </div>
99 ); 99 );
100 },
100 }, 101 },
101 }, 102 ]),
102 ]), 103 data: [],
103 data: [], 104 },
104 }, 105 tableUrl: api.menus, // 菜单接口地址
105 tableUrl: api.menus, // 菜单接口地址 106 meumurlid: api.subsystem,// 项目id接口地址
106 meumurlid: api.subsystem,// 项目id接口地址 107 productId: ""//项目id
107 productId: ""//项目id 108 };
108 }; 109 },
109 }, 110 created () {
110 created () { 111 this.getTableList();
111 this.getTableList();
112 },
113 computed: {
114 ...mapGetters(["products"])
115 },
116 methods: {
117 //查询
118 searchQuery () {
119 if (this.form.menuName) {
120 this.tablelistData = this.childrenFn(this.listData, this.form.menuName);
121 } else {
122 this.getTableList()
123 }
124 }, 112 },
125 childrenFn (arr, key) { 113 computed: {
126 const that = this; 114 ...mapGetters(["products"])
127 let searchTree = []; 115 },
128 arr.forEach((item, index) => { 116 methods: {
129 if (item.children != undefined && item.children.length != 0) { 117 //查询
130 let leaf = that.childrenFn(item.children, key); 118 searchQuery () {
131 if (leaf != undefined) { 119 if (this.form.menuName) {
132 let { name, code, resourceCategoryId, id, iproductId, operations, metadata } = item; 120 this.tablelistData = this.childrenFn(this.listData, this.form.menuName);
133 let parentObj = { 121 } else {
134 code, name, resourceCategoryId, id, iproductId, operations, metadata, children: leaf 122 this.getTableList()
135 }; 123 }
136 searchTree.push(parentObj); 124 },
125 childrenFn (arr, key) {
126 const that = this;
127 let searchTree = [];
128 arr.forEach((item, index) => {
129 if (item.children != undefined && item.children.length != 0) {
130 let leaf = that.childrenFn(item.children, key);
131 if (leaf != undefined) {
132 let { name, code, resourceCategoryId, id, iproductId, operations, metadata } = item;
133 let parentObj = {
134 code, name, resourceCategoryId, id, iproductId, operations, metadata, children: leaf
135 };
136 searchTree.push(parentObj);
137 } else {
138 if (item.name.indexOf(key) != -1) {
139 searchTree.push(item);
140 }
141 }
137 } else { 142 } else {
138 if (item.name.indexOf(key) != -1) { 143 if (item.name.indexOf(key) != -1) {
144
139 searchTree.push(item); 145 searchTree.push(item);
140 } 146 }
141 } 147 }
142 } else { 148 });
143 if (item.name.indexOf(key) != -1) { 149 if (searchTree != undefined && searchTree.length != 0) {
144 150 return searchTree;
145 searchTree.push(item);
146 }
147 } 151 }
148 }); 152 },
149 if (searchTree != undefined && searchTree.length != 0) { 153 // 加载表格数据
150 return searchTree; 154 getTableList () {
151 } 155 getMenuInfo(this.BASE_API.CODE).then((res) => {
152 }, 156 console.log("/sthj", res);
153 // 加载表格数据 157 if (res.code === 200) {
154 getTableList () { 158 this.tablelistData = judgeSort(res.result)
155 getMenuInfo(this.BASE_API.CODE).then((res) => { 159 this.listData = this.tablelistData
156 if (res.code === 200) { 160 } else {
157 this.tablelistData = judgeSort(res.result) 161 this.$message.error({ message: res.message, showClose: true })
158 this.listData = this.tablelistData 162 }
159 } else {
160 this.$message.error({ message: res.message, showClose: true })
161 }
162 })
163 const queryOptionsid = {
164 conditionGroup: {
165 queryRelation: "AND",
166 conditions: [
167 {
168 property: "code",
169 value: sessionStorage.getItem("products"),
170 operator: "EQ",
171 },
172 ],
173 },
174 };
175 const params = {
176 queryOptions: queryOptionsid,
177 };
178 // 获取系统id
179 getAction(this.meumurlid, params)
180 .then((res) => {
181 this.productId = res.content[0].id;
182 this.getAuthorityList(res.content[0].id, res.content[0].code)
183 this.selectedSubsystemCode = res.content[0].code
184
185 })
186 .catch((error) => {
187 console.log("er", error);
188 }) 163 })
189 }, 164 const queryOptionsid = {
190 // 新增菜单 165 conditionGroup: {
191 handleAdd () { 166 queryRelation: "AND",
192 this.isDialog = true 167 conditions: [
193 this.$refs.dialogForm.add(); 168 {
194 this.$refs.dialogForm.title = "新增"; 169 property: "code",
195 }, 170 value: this.BASE_API.CODE,
171 operator: "EQ",
172 },
173 ],
174 },
175 };
176 const params = {
177 queryOptions: queryOptionsid,
178 };
179 // 获取系统id
180 getAction(this.meumurlid, params)
181 .then((res) => {
182 this.productId = res.content[0].id;
183 this.getAuthorityList(res.content[0].id, res.content[0].code)
184 this.selectedSubsystemCode = res.content[0].code
196 185
197 // 修改 186 })
198 handleEdit (record) { 187 .catch((error) => {
199 this.isDialog = true 188 console.log("er", error);
200 this.$refs.dialogForm.edit(record); 189 })
201 this.$refs.dialogForm.title = "修改"; 190 },
202 }, 191 // 新增菜单
203 // 删除 192 handleAdd () {
204 handleDelete (id, content) { 193 this.isDialog = true
205 this.$confirm( 194 this.$refs.dialogForm.add();
206 `<div class="customer-message-wrapper"> 195 this.$refs.dialogForm.title = "新增";
196 },
197
198 // 修改
199 handleEdit (record) {
200 this.isDialog = true
201 this.$refs.dialogForm.edit(record);
202 this.$refs.dialogForm.title = "修改";
203 },
204 // 删除
205 handleDelete (id, content) {
206 this.$confirm(
207 `<div class="customer-message-wrapper">
207 <h5 class="title">您确认要执行该操作用于以下信息:</h5> 208 <h5 class="title">您确认要执行该操作用于以下信息:</h5>
208 <p class="content" aria-controls="${content}">${content} 209 <p class="content" aria-controls="${content}">${content}
209 </p> 210 </p>
...@@ -211,48 +212,48 @@ export default { ...@@ -211,48 +212,48 @@ export default {
211 <span >无法恢复</span> 212 <span >无法恢复</span>
212 </p> 213 </p>
213 </div>`, 214 </div>`,
214 '执行确认', 215 '执行确认',
215 { 216 {
216 dangerouslyUseHTMLString: true, 217 dangerouslyUseHTMLString: true,
217 customClass: 'customer-delete', 218 customClass: 'customer-delete',
218 confirmButtonText: '确定', 219 confirmButtonText: '确定',
219 cancelButtonText: '取消', 220 cancelButtonText: '取消',
220 type: 'warning' 221 type: 'warning'
221 }
222 )
223 .then(() => {
224 if (!this.tableUrl) {
225 this.$message.error({
226 message: '请设置tableUrl属性为接口地址!',
227 showClose: true
228 })
229 return
230 } 222 }
231 const url = this.tableUrl + '/' + id 223 )
232 deleteAction(url).then(res => { 224 .then(() => {
233 if (res.status === 1) { 225 if (!this.tableUrl) {
234 this.$message.success({ message: res.message, showClose: true }) 226 this.$message.error({
235 this.reloadTableData() 227 message: '请设置tableUrl属性为接口地址!',
236 } else { 228 showClose: true
237 this.$message.error({ message: res.message, showClose: true }) 229 })
230 return
238 } 231 }
232 const url = this.tableUrl + '/' + id
233 deleteAction(url).then(res => {
234 if (res.status === 1) {
235 this.$message.success({ message: res.message, showClose: true })
236 this.reloadTableData()
237 } else {
238 this.$message.error({ message: res.message, showClose: true })
239 }
240 })
239 }) 241 })
240 }) 242 .catch(() => { })
241 .catch(() => { }) 243 },
242 }, 244 // 新增、编辑回显
243 // 新增、编辑回显 245 reloadTableData () {
244 reloadTableData () { 246 this.getTableList()
245 this.getTableList() 247 },
246 }, 248 },
247 }, 249 };
248 };
249 </script> 250 </script>
250 <style scoped lang="scss"> 251 <style scoped lang="scss">
251 @import "~@/styles/mixin.scss"; 252 @import "~@/styles/mixin.scss";
252 253
253 // @import "~@/styles/public.scss"; 254 // @import "~@/styles/public.scss";
254 255
255 /deep/.el-table__expand-icon { 256 /deep/.el-table__expand-icon {
256 color: #fff; 257 color: #fff;
257 } 258 }
258 </style> 259 </style>
......
...@@ -29,439 +29,439 @@ ...@@ -29,439 +29,439 @@
29 </div> 29 </div>
30 </template> 30 </template>
31 <script> 31 <script>
32 import { 32 import {
33 getUuid, 33 getUuid,
34 judgeSort, 34 judgeSort,
35 realMove, 35 realMove,
36 findParents, 36 findParents,
37 removeTreeListItem, 37 removeTreeListItem,
38 } from "@/utils/operation"; 38 } from "@/utils/operation";
39 import { getRolesById, getAuthorityListAction } from "@/api/authorityManage"; 39 import { getRolesById, getAuthorityListAction } from "@/api/authorityManage";
40 import { getUserRoles } from "@/api/personnelManage"; 40 import { getUserRoles } from "@/api/personnelManage";
41 import data from "./data"; 41 import data from "./data";
42 import { getMenuInfo } from "@/api/user"; 42 import { getMenuInfo } from "@/api/user";
43 import { api, getAction, deleteAction } from "@/api/manageApi"; 43 import { api, getAction, deleteAction } from "@/api/manageApi";
44 import tableMixin from "@/mixins/tableMixin.js"; 44 import tableMixin from "@/mixins/tableMixin.js";
45 import EditDialog from "./edit-dialog.vue"; 45 import EditDialog from "./edit-dialog.vue";
46 import Roleslistdiglog from "./roleslistdiglog.vue"; 46 import Roleslistdiglog from "./roleslistdiglog.vue";
47 import { mapGetters } from "vuex"; 47 import { mapGetters } from "vuex";
48 import { updateOrder } from "@/api/orders" 48 import { updateOrder } from "@/api/orders"
49 export default { 49 export default {
50 name: "menus", 50 name: "menus",
51 mixins: [tableMixin], 51 mixins: [tableMixin],
52 components: { 52 components: {
53 EditDialog, 53 EditDialog,
54 Roleslistdiglog, 54 Roleslistdiglog,
55 }, 55 },
56 data () { 56 data () {
57 return { 57 return {
58 isDialog: false, 58 isDialog: false,
59 personlist: null, 59 personlist: null,
60 waitMemberList: [], 60 waitMemberList: [],
61 keyList: [], 61 keyList: [],
62 listdata: [], 62 listdata: [],
63 setlistdata: [], 63 setlistdata: [],
64 tableUrlroles: api.roles, 64 tableUrlroles: api.roles,
65 form: { 65 form: {
66 rolesName: "", 66 rolesName: "",
67 },
68 // 当前所选角色id
69 roleId: "",
70 title: "",
71 queryParam: {},
72 multipleSelection: [],
73 // 菜单列表
74 menutablelistData: [],
75 tableUrl: api.menus, // 菜单接口地址
76 meumurlid: api.subsystem, // 项目id接口地址
77 selectType: "0",
78 queryName: "",
79 organizationId: "", // 组织机构ID
80 departmentId: "", // 部门ID
81 departmentList: [], // 部门列表
82 levelList: [], // 职务级别
83 sexList: [],
84 operationCodes: null, // 操作符对象
85 operationList: [], // 获取授权列表需要提交的操作符数组
86 typeOptions: [
87 {
88 value: "0",
89 label: "姓名",
90 },
91 {
92 value: "1",
93 label: "工号",
94 },
95 {
96 value: "2",
97 label: "部门",
98 },
99 {
100 value: "3",
101 label: "机构",
102 }, 67 },
103 ], 68 // 当前所选角色id
104 69 roleId: "",
105 selectionList: [], 70 title: "",
106 tableData: { 71 queryParam: {},
107 columns: [ 72 multipleSelection: [],
73 // 菜单列表
74 menutablelistData: [],
75 tableUrl: api.menus, // 菜单接口地址
76 meumurlid: api.subsystem, // 项目id接口地址
77 selectType: "0",
78 queryName: "",
79 organizationId: "", // 组织机构ID
80 departmentId: "", // 部门ID
81 departmentList: [], // 部门列表
82 levelList: [], // 职务级别
83 sexList: [],
84 operationCodes: null, // 操作符对象
85 operationList: [], // 获取授权列表需要提交的操作符数组
86 typeOptions: [
108 { 87 {
109 label: "序号", 88 value: "0",
110 type: "index", 89 label: "姓名",
111 width: "50",
112 index: this.indexMethod,
113 }, 90 },
114 ] 91 {
115 .concat(data.columns()) 92 value: "1",
116 .concat([ 93 label: "工号",
94 },
95 {
96 value: "2",
97 label: "部门",
98 },
99 {
100 value: "3",
101 label: "机构",
102 },
103 ],
104
105 selectionList: [],
106 tableData: {
107 columns: [
117 { 108 {
118 label: "排序", 109 label: "序号",
119 width: 300, 110 type: "index",
120 render: (h, scope) => { 111 width: "50",
121 return ( 112 index: this.indexMethod,
122 <div>
123 <el-button
124 type="text"
125 class='movebtnColor'
126 disabled={scope.row.isTop}
127 onClick={() => {
128 this.updateOrder(scope.row, 'TOP');
129 }}
130 >
131 置顶
132 </el-button>
133 <el-button
134 type="text"
135 class='movebtnColor'
136 disabled={scope.row.isTop}
137 onClick={() => {
138 this.updateOrder(scope.row, 'UP');
139 }}
140 >
141 上移
142 </el-button>
143 <el-button
144 type="text"
145 class='movebtnColor'
146 disabled={scope.row.isBottom}
147 onClick={() => {
148 this.updateOrder(scope.row, 'DOWN');
149 }}
150 >
151 下移
152 </el-button>
153 <el-button
154 type="text"
155 class='movebtnColor'
156 disabled={scope.row.isBottom}
157 onClick={() => {
158 this.updateOrder(scope.row, 'BOTTOM');
159 }}
160 >
161 置底
162 </el-button>
163 </div>
164 );
165 },
166 }, 113 },
167 ]) 114 ]
168 .concat([ 115 .concat(data.columns())
169 { 116 .concat([
170 label: "操作", 117 {
171 width: 280, 118 label: "排序",
172 render: (h, scope) => { 119 width: 300,
173 return ( 120 render: (h, scope) => {
174 <div> 121 return (
175 <el-tooltip 122 <div>
176 class="item" 123 <el-button
177 effect="dark" 124 type="text"
178 disabled={scope.row.type !== "Everyone"} 125 class='movebtnColor'
179 content="没有点击的权限" 126 disabled={scope.row.isTop}
180 placement="top" 127 onClick={() => {
181 > 128 this.updateOrder(scope.row, 'TOP');
182 <span> 129 }}
183 <el-button 130 >
184 disabled={scope.row.type === "Everyone"} 131 置顶
185 type="text" 132 </el-button>
186 size="mini" 133 <el-button
187 class="configurationbtnColor" 134 type="text"
188 onClick={() => { 135 class='movebtnColor'
189 this.getList(scope.row); 136 disabled={scope.row.isTop}
190 }} 137 onClick={() => {
191 > 138 this.updateOrder(scope.row, 'UP');
192 配置 139 }}
193 </el-button> 140 >
194 </span> 141 上移
195 </el-tooltip> 142 </el-button>
196 <el-tooltip 143 <el-button
197 class="item" 144 type="text"
198 effect="dark" 145 class='movebtnColor'
199 disabled={scope.row.category !== 1} 146 disabled={scope.row.isBottom}
200 content="系统内置角色 不允许修改" 147 onClick={() => {
201 placement="top" 148 this.updateOrder(scope.row, 'DOWN');
202 > 149 }}
203 <span> 150 >
204 <el-button 151 下移
205 disabled={scope.row.category === 1} 152 </el-button>
206 type="text" 153 <el-button
207 size="mini" 154 type="text"
208 class='successColor' 155 class='movebtnColor'
209 onClick={() => { 156 disabled={scope.row.isBottom}
210 this.handleAddEdit(scope.row); 157 onClick={() => {
211 }} 158 this.updateOrder(scope.row, 'BOTTOM');
212 > 159 }}
213 修改 160 >
214 </el-button> 161 置底
215 </span> 162 </el-button>
216 </el-tooltip> 163 </div>
217 <el-tooltip 164 );
218 class="item" 165 },
219 effect="dark"
220 disabled={scope.row.category !== 1}
221 content="系统内置角色 不允许删除"
222 placement="top"
223 >
224 <span>
225 <el-button
226 type="text"
227 disabled={scope.row.category === 1}
228 size="mini"
229 class='delColor'
230 // style="color:#F56C6C"
231 onClick={() => {
232 this.handleDelete(scope.row.id, scope.row.name);
233 }}
234 >
235 删除
236 </el-button>
237 </span>
238 </el-tooltip>
239 </div>
240 );
241 }, 166 },
167 ])
168 .concat([
169 {
170 label: "操作",
171 width: 280,
172 render: (h, scope) => {
173 return (
174 <div>
175 <el-tooltip
176 class="item"
177 effect="dark"
178 disabled={scope.row.type !== "Everyone"}
179 content="没有点击的权限"
180 placement="top"
181 >
182 <span>
183 <el-button
184 disabled={scope.row.type === "Everyone"}
185 type="text"
186 size="mini"
187 class="configurationbtnColor"
188 onClick={() => {
189 this.getList(scope.row);
190 }}
191 >
192 配置
193 </el-button>
194 </span>
195 </el-tooltip>
196 <el-tooltip
197 class="item"
198 effect="dark"
199 disabled={scope.row.category !== 1}
200 content="系统内置角色 不允许修改"
201 placement="top"
202 >
203 <span>
204 <el-button
205 disabled={scope.row.category === 1}
206 type="text"
207 size="mini"
208 class='successColor'
209 onClick={() => {
210 this.handleAddEdit(scope.row);
211 }}
212 >
213 修改
214 </el-button>
215 </span>
216 </el-tooltip>
217 <el-tooltip
218 class="item"
219 effect="dark"
220 disabled={scope.row.category !== 1}
221 content="系统内置角色 不允许删除"
222 placement="top"
223 >
224 <span>
225 <el-button
226 type="text"
227 disabled={scope.row.category === 1}
228 size="mini"
229 class='delColor'
230 // style="color:#F56C6C"
231 onClick={() => {
232 this.handleDelete(scope.row.id, scope.row.name);
233 }}
234 >
235 删除
236 </el-button>
237 </span>
238 </el-tooltip>
239 </div>
240 );
241 },
242 242
243 }]), 243 }]),
244 }, 244 },
245 data: [], 245 data: [],
246 }
247 },
248 created () {
249 this.getTableData();
250 this.getTableList()
251 },
252 computed: {
253 ...mapGetters(["products"])
254 },
255 mounted () { },
256 methods: {
257 //查询
258 searchQuery () {
259 if (this.form.rolesName) {
260 this.listdata = this.childrenFn(this.setlistdata, this.form.rolesName);
261 } else {
262 this.getTableData()
263 } 246 }
264 }, 247 },
265 childrenFn (arr, key) { 248 created () {
266 let searchTree = []; 249 this.getTableData();
267 arr.forEach((item, index) => { 250 this.getTableList()
268 if (item.name.indexOf(key) != -1) {
269
270 searchTree.push(item);
271 }
272 });
273 if (searchTree != undefined && searchTree.length != 0) {
274 return judgeSort(searchTree);
275 }
276 }, 251 },
277 // 获取角色列表 252 computed: {
278 getTableData () { 253 ...mapGetters(["products"])
279 getRolesById([1, 2])
280 .then((res) => {
281 this.listdata = res.content;
282 this.listdata = judgeSort(this.listdata);
283 this.setlistdata = res.content;
284 })
285 .catch((e) => console.error(e));
286 }, 254 },
287 255 mounted () { },
288 // 获取菜单列表 256 methods: {
289 getTableList () { 257 //查询
290 getMenuInfo(this.BASE_API.CODE).then((res) => { 258 searchQuery () {
291 if (res.code === 200) { 259 if (this.form.rolesName) {
292 this.menutablelistData = judgeSort(res.result) 260 this.listdata = this.childrenFn(this.setlistdata, this.form.rolesName);
293 } else { 261 } else {
294 this.$message.error({ message: res.message, showClose: true }) 262 this.getTableData()
295 } 263 }
296 }) 264 },
297 const queryOptionsid = { 265 childrenFn (arr, key) {
298 conditionGroup: { 266 let searchTree = [];
299 queryRelation: "AND", 267 arr.forEach((item, index) => {
300 conditions: [ 268 if (item.name.indexOf(key) != -1) {
301 { 269
302 property: "code", 270 searchTree.push(item);
303 value: this.products, 271 }
304 operator: "EQ",
305 },
306 ],
307 },
308 };
309 const params = {
310 queryOptions: queryOptionsid,
311 };
312 // 获取系统id
313 getAction(this.meumurlid, params)
314 .then((res) => {
315 this.productId = res.content[0].id;
316 this.getAuthorityList(res.content[0].id, res.content[0].code)
317 this.selectedSubsystemCode = res.content[0].code
318 // let queryOptions = {
319 // conditionGroup: {
320 // conditions: [
321 // {
322 // property: "productId",
323 // value: this.productId,
324 // operator: "EQ",
325 // },
326 // ],
327 // queryRelation: "AND",
328 // },
329 // orderBys: [{ property: "sort", direction: "desc" }],
330 // };
331 // if (!this.tableUrl) {
332 // console.log("请设置tableUrl属性为接口地址!");
333 // return;
334 // }
335 // if (this.queryOptions !== "") {
336 // this.queryParam.queryOptions = JSON.stringify(queryOptions);
337 // }
338 // 查询系统菜单
339 // getAction(this.tableUrl, this.queryParam)
340 // .then((res) => {
341 // if (res.status === 1) {
342 // this.loading = false;
343 // // this.menutablelistData = res.content;
344 // console.log("res.content菜单", res.content);
345 // } else {
346 // this.$message.error({ message: res.message, showClose: true });
347 // this.loading = false;
348 // }
349 // })
350 // .catch((error) => {
351 // console.log("er", error);
352 // this.loading = false;
353 // });
354 })
355 .catch((error) => {
356 console.log("er", error);
357 }); 272 });
358 }, 273 if (searchTree != undefined && searchTree.length != 0) {
359 // 获取权限列表 274 return judgeSort(searchTree);
360 getAuthorityList (productId, code) { 275 }
361 getAuthorityListAction(productId, code).then( 276 },
362 res => { 277 // 获取角色列表
363 if (res.status === 1) { 278 getTableData () {
364 if (res.content.length !== 0) { 279 getRolesById([1, 2])
365 this.operationCodes = res.content[0].operations 280 .then((res) => {
366 this.operationList = [] 281 this.listdata = res.content;
367 for (var k in this.operationCodes) { 282 this.listdata = judgeSort(this.listdata);
368 this.operationList.push(k) 283 this.setlistdata = res.content;
369 } 284 })
370 } 285 .catch((e) => console.error(e));
286 },
287
288 // 获取菜单列表
289 getTableList () {
290 getMenuInfo(this.BASE_API.CODE).then((res) => {
291 if (res.code === 200) {
292 this.menutablelistData = judgeSort(res.result)
371 } else { 293 } else {
372 this.$message.error({ message: res.message, showClose: true }) 294 this.$message.error({ message: res.message, showClose: true })
373 } 295 }
374 } 296 })
375 ) 297 const queryOptionsid = {
376 }, 298 conditionGroup: {
377 299 queryRelation: "AND",
378 // 配置 300 conditions: [
379 getList (row) { 301 {
380 this.getTableList() 302 property: "code",
381 const params = {}; 303 value: this.products,
382 const queryOptions = { 304 operator: "EQ",
383 conditionGroup: { 305 },
384 conditions: [ 306 ],
385 { 307 },
386 property: "organizationId", 308 };
387 value: row.organizationId, 309 const params = {
388 operator: "EQ", 310 queryOptions: queryOptionsid,
389 }, 311 };
390 { 312 // 获取系统id
391 property: "departmentId", 313 getAction(this.meumurlid, params)
392 value: row.departmentId, 314 .then((res) => {
393 operator: "EQ", 315 this.productId = res.content[0].id;
394 }, 316 this.getAuthorityList(res.content[0].id, res.content[0].code)
395 ], 317 this.selectedSubsystemCode = res.content[0].code
396 queryRelation: "AND", 318 // let queryOptions = {
397 }, 319 // conditionGroup: {
398 orderBys: [{ property: "sort", direction: "desc" }], 320 // conditions: [
399 }; 321 // {
400 params.queryOptions = JSON.stringify(queryOptions); 322 // property: "productId",
401 323 // value: this.productId,
402 getUserRoles(row.id).then((res) => { 324 // operator: "EQ",
403 if (res.status === 1) { 325 // },
404 this.personlist = res.content; 326 // ],
405 getAction(api.users, params).then((res) => { 327 // queryRelation: "AND",
328 // },
329 // orderBys: [{ property: "sort", direction: "desc" }],
330 // };
331 // if (!this.tableUrl) {
332 // console.log("请设置tableUrl属性为接口地址!");
333 // return;
334 // }
335 // if (this.queryOptions !== "") {
336 // this.queryParam.queryOptions = JSON.stringify(queryOptions);
337 // }
338 // 查询系统菜单
339 // getAction(this.tableUrl, this.queryParam)
340 // .then((res) => {
341 // if (res.status === 1) {
342 // this.loading = false;
343 // // this.menutablelistData = res.content;
344 // console.log("res.content菜单", res.content);
345 // } else {
346 // this.$message.error({ message: res.message, showClose: true });
347 // this.loading = false;
348 // }
349 // })
350 // .catch((error) => {
351 // console.log("er", error);
352 // this.loading = false;
353 // });
354 })
355 .catch((error) => {
356 console.log("er", error);
357 });
358 },
359 // 获取权限列表
360 getAuthorityList (productId, code) {
361 getAuthorityListAction(productId, code).then(
362 res => {
406 if (res.status === 1) { 363 if (res.status === 1) {
407 this.waitMemberList = res.content; 364 if (res.content.length !== 0) {
408 if (this.personlist) { 365 this.operationCodes = res.content[0].operations
409 this.waitMemberList.forEach((item, i) => { 366 this.operationList = []
410 this.personlist.forEach((val) => { 367 for (var k in this.operationCodes) {
411 if (item.id === val.id) { 368 this.operationList.push(k)
412 this.waitMemberList[i].selectStatus = 0; 369 }
413 }
414 });
415 });
416 } 370 }
417
418 this.$refs.rolesForm.personlist(this.waitMemberList, row.id);
419 this.$refs.rolesForm.menulist(this.operationList, row.id, this.selectedSubsystemCode, this.menutablelistData, this.operationCodes);
420 } else { 371 } else {
421 this.$message.error({ message: res.message, showClose: true }); 372 this.$message.error({ message: res.message, showClose: true })
422 } 373 }
423 }); 374 }
424 this.$refs.rolesForm.title = "人员配置"; 375 )
425 } else this.$message.error({ message: res.message, showClose: true }); 376 },
426 });
427 },
428 // 新增、修改角色
429 handleAddEdit (value) {
430 this.isDialog = true
431 this.$refs.addEditDialog.menuType = this.menuType;
432 this.$refs.addEditDialog.roleId = value.id;
433 this.roleSort = value.sort ? value.sort : 0;
434 this.$refs.addEditDialog.dialogForm.roleType = sessionStorage.getItem("products");
435 if (value.id) {
436 this.$refs.addEditDialog.dialogForm.roleName = value.name;
437 377
438 this.$refs.addEditDialog.dialogForm.roleTextArea = value.description; 378 // 配置
439 } 379 getList (row) {
440 this.$refs.addEditDialog.showAddEditDialog = true; 380 this.getTableList()
441 this.$refs.addEditDialog.title = value.id ? "修改" : "新增"; 381 const params = {};
442 }, 382 const queryOptions = {
443 //排序 383 conditionGroup: {
444 updateOrder (record, operate) { 384 conditions: [
445 const findIndex = this.listdata.findIndex(item => item.id === record.id) 385 {
446 let swapId = '' 386 property: "organizationId",
447 if (operate === 'UP') { 387 value: row.organizationId,
448 swapId = this.listdata[findIndex - 1].id 388 operator: "EQ",
449 } else if (operate === 'DOWN') { 389 },
450 swapId = this.listdata[findIndex + 1].id 390 {
451 } 391 property: "departmentId",
452 updateOrder('/rest/roles', record, operate, swapId).then(res => { 392 value: row.departmentId,
453 if (res.status === 1) { 393 operator: "EQ",
454 this.$message.success({ message: res.message, showClose: true }) 394 },
455 this.getTableData(); 395 ],
456 } else { 396 queryRelation: "AND",
457 this.$message.error({ message: res.message, showClose: true }) 397 },
398 orderBys: [{ property: "sort", direction: "desc" }],
399 };
400 params.queryOptions = JSON.stringify(queryOptions);
401
402 getUserRoles(row.id).then((res) => {
403 if (res.status === 1) {
404 this.personlist = res.content;
405 getAction(api.users, params).then((res) => {
406 if (res.status === 1) {
407 this.waitMemberList = res.content;
408 if (this.personlist) {
409 this.waitMemberList.forEach((item, i) => {
410 this.personlist.forEach((val) => {
411 if (item.id === val.id) {
412 this.waitMemberList[i].selectStatus = 0;
413 }
414 });
415 });
416 }
417
418 this.$refs.rolesForm.personlist(this.waitMemberList, row.id);
419 this.$refs.rolesForm.menulist(this.operationList, row.id, this.selectedSubsystemCode, this.menutablelistData, this.operationCodes);
420 } else {
421 this.$message.error({ message: res.message, showClose: true });
422 }
423 });
424 this.$refs.rolesForm.title = "人员配置";
425 } else this.$message.error({ message: res.message, showClose: true });
426 });
427 },
428 // 新增、修改角色
429 handleAddEdit (value) {
430 this.isDialog = true
431 this.$refs.addEditDialog.menuType = this.menuType;
432 this.$refs.addEditDialog.roleId = value.id;
433 this.roleSort = value.sort ? value.sort : 0;
434 this.$refs.addEditDialog.dialogForm.roleType = this.BASE_API.CODE;
435 if (value.id) {
436 this.$refs.addEditDialog.dialogForm.roleName = value.name;
437
438 this.$refs.addEditDialog.dialogForm.roleTextArea = value.description;
458 } 439 }
459 }) 440 this.$refs.addEditDialog.showAddEditDialog = true;
460 }, 441 this.$refs.addEditDialog.title = value.id ? "修改" : "新增";
461 // 删除 442 },
462 handleDelete: function (id, content = "") { 443 //排序
463 this.$confirm( 444 updateOrder (record, operate) {
464 `<div class="customer-message-wrapper"> 445 const findIndex = this.listdata.findIndex(item => item.id === record.id)
446 let swapId = ''
447 if (operate === 'UP') {
448 swapId = this.listdata[findIndex - 1].id
449 } else if (operate === 'DOWN') {
450 swapId = this.listdata[findIndex + 1].id
451 }
452 updateOrder('/rest/roles', record, operate, swapId).then(res => {
453 if (res.status === 1) {
454 this.$message.success({ message: res.message, showClose: true })
455 this.getTableData();
456 } else {
457 this.$message.error({ message: res.message, showClose: true })
458 }
459 })
460 },
461 // 删除
462 handleDelete: function (id, content = "") {
463 this.$confirm(
464 `<div class="customer-message-wrapper">
465 <h5 class="title">您确认要执行该操作用于以下信息:</h5> 465 <h5 class="title">您确认要执行该操作用于以下信息:</h5>
466 <p class="content" aria-controls="${content}">${content} 466 <p class="content" aria-controls="${content}">${content}
467 </p> 467 </p>
...@@ -469,50 +469,50 @@ export default { ...@@ -469,50 +469,50 @@ export default {
469 <span >无法恢复</span> 469 <span >无法恢复</span>
470 </p> 470 </p>
471 </div>`, 471 </div>`,
472 "执行确认", 472 "执行确认",
473 { 473 {
474 dangerouslyUseHTMLString: true, 474 dangerouslyUseHTMLString: true,
475 customClass: "customer-delete", 475 customClass: "customer-delete",
476 confirmButtonText: "确定", 476 confirmButtonText: "确定",
477 cancelButtonText: "取消", 477 cancelButtonText: "取消",
478 type: "warning", 478 type: "warning",
479 }
480 )
481 .then(() => {
482 if (!this.tableUrlroles) {
483 this.$message.error({
484 message: "请设置tableUrl属性为接口地址!",
485 showClose: true,
486 });
487 return;
488 } 479 }
489 const url = this.tableUrlroles + "/" + id; 480 )
490 deleteAction(url).then((res) => { 481 .then(() => {
491 if (res.status === 1) { 482 if (!this.tableUrlroles) {
492 this.$message.success({ message: res.message, showClose: true }); 483 this.$message.error({
493 this.getTableData(); 484 message: "请设置tableUrl属性为接口地址!",
494 } else { 485 showClose: true,
495 this.$message.error({ message: res.message, showClose: true }); 486 });
487 return;
496 } 488 }
497 }); 489 const url = this.tableUrlroles + "/" + id;
498 }) 490 deleteAction(url).then((res) => {
499 .catch(() => { }); 491 if (res.status === 1) {
500 }, 492 this.$message.success({ message: res.message, showClose: true });
501 // 新增回显 493 this.getTableData();
502 reloadTableData () { 494 } else {
503 this.getTableData(); 495 this.$message.error({ message: res.message, showClose: true });
496 }
497 });
498 })
499 .catch(() => { });
500 },
501 // 新增回显
502 reloadTableData () {
503 this.getTableData();
504 },
504 }, 505 },
505 }, 506 };
506 };
507 </script> 507 </script>
508 <style scoped lang="scss"> 508 <style scoped lang="scss">
509 @import "~@/styles/mixin.scss"; 509 @import "~@/styles/mixin.scss";
510 // @import "~@/styles/public.scss"; 510 // @import "~@/styles/public.scss";
511 511
512 /deep/.el-button.is-disabled.el-button--text { 512 /deep/.el-button.is-disabled.el-button--text {
513 width: 64px; 513 width: 64px;
514 height: 28px; 514 height: 28px;
515 background: rgba(255, 255, 255, 0.1); 515 background: rgba(255, 255, 255, 0.1);
516 border-radius: 16px; 516 border-radius: 16px;
517 } 517 }
518 </style> 518 </style>
......
...@@ -29,24 +29,80 @@ ...@@ -29,24 +29,80 @@
29 </div> 29 </div>
30 </template> 30 </template>
31 <script> 31 <script>
32 // 定时任务 32 // 定时任务
33 import data from "./data" 33 import data from "./data"
34 import sjsbTask from '@/api/sjsbTask.js' 34 import sjsbTask from '@/api/sjsbTask.js'
35 import tableMixin from '@/mixins/tableMixin.js' 35 import tableMixin from '@/mixins/tableMixin.js'
36 import addTask from '../components/addTask.vue' 36 import addTask from '../components/addTask.vue'
37 export default { 37 export default {
38 name: "timedTask", 38 name: "timedTask",
39 mixins: [tableMixin], 39 mixins: [tableMixin],
40 components: { 40 components: {
41 addTask 41 addTask
42 }, 42 },
43 data () { 43 data () {
44 return { 44 return {
45 taskData: null, 45 taskData: null,
46 isDialog: false, 46 isDialog: false,
47 form: { 47 form: {
48 jobName: '', 48 jobName: '',
49 currentPage: 1 49 currentPage: 1
50 },
51 selectionList: [],
52 tableData: {
53 columns: [{
54 label: '序号',
55 type: 'index',
56 width: '50',
57 index: this.indexMethod,
58 }].concat(data.columns()).concat([
59 {
60 label: "操作",
61 width: 380,
62 render: (h, scope) => {
63 return (
64 <div>
65 <el-button type="text"
66 size="mini"
67 v-show={scope.row.jobStatus === 0}
68 class='btnColor'
69 onClick={() => { this.handleActive(scope.row) }}>激活
70 </el-button>
71 <el-button type="text"
72 size="mini"
73 v-show={scope.row.jobStatus === -1}
74 class='btnColor'
75 onClick={() => { this.recover(scope.row) }}>恢复
76 </el-button>
77 <el-button type="text"
78 size="mini"
79 class='successColor'
80 onClick={() => { this.handleEdit(scope.row) }}>编辑
81 </el-button>
82 <el-button type="text"
83 size="mini"
84 class='successColor'
85 v-show={scope.row.jobStatus !== -1}
86 onClick={() => { this.handleDel(scope.row) }}>删除
87 </el-button>
88 </div>
89 );
90 },
91 },
92 ]),
93 data: []
94 },
95 pageData: {
96 total: 0,
97 pageSize: 15,
98 current: 1,
99 },
100 }
101 },
102 methods: {
103 handleAdd () {
104 this.taskData = null
105 this.isDialog = true
50 }, 106 },
51 selectionList: [], 107 selectionList: [],
52 tableData: { 108 tableData: {
...@@ -97,8 +153,7 @@ export default { ...@@ -97,8 +153,7 @@ export default {
97 pageSize: 15, 153 pageSize: 15,
98 current: 1, 154 current: 1,
99 }, 155 },
100 } 156 },
101 },
102 methods: { 157 methods: {
103 handleAdd () { 158 handleAdd () {
104 this.taskData = null 159 this.taskData = null
......