sasp-admin 0.2.63 → 0.2.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/index.js +38 -31
  2. package/package.json +1 -1
  3. package/router.js +5 -1
  4. package/src/assets/font/iconfont.css +1902 -1846
  5. package/src/assets/font/iconfont.eot +0 -0
  6. package/src/assets/font/iconfont.js +1 -1
  7. package/src/assets/font/iconfont.svg +959 -825
  8. package/src/assets/font/iconfont.ttf +0 -0
  9. package/src/assets/font/iconfont.woff +0 -0
  10. package/src/assets/js/api/apiAdmin.js +10 -0
  11. package/src/assets/js/global/dataGlobal.js +7 -3
  12. package/src/assets/js/global/userGlobal.js +9 -3
  13. package/src/components/complexViewRendering.vue +214 -198
  14. package/src/components/ifmLink.vue +20 -3
  15. package/src/components/public/data/plDataSelect.vue +8 -6
  16. package/src/components/public/org/sysOrgPosUserSelect.vue +56 -17
  17. package/src/components/public/upload/images/ofd.png +0 -0
  18. package/src/components/public/upload/plImage.vue +3 -1
  19. package/src/components/public/upload/plUpload.vue +167 -40
  20. package/src/components/public/upload/preview/OfdPreview.vue +223 -0
  21. package/src/components/public/upload/preview/officeViewer.vue +116 -0
  22. package/src/components/public/upload/preview/pdfPreview.vue +91 -0
  23. package/src/{views → components/public/upload}/preview/pdfViewer.vue +1 -1
  24. package/src/views/VueMenuView.vue +11 -13
  25. package/src/views/data/dataManage.vue +51 -5
  26. package/src/views/event/eventManager/vueEventDiy.vue +4 -6
  27. package/src/views/log/loginlog/logManageDevOrSup.vue +8 -5
  28. package/src/views/log/loginlog/logManageEnt.vue +96 -55
  29. package/src/views/log/loginlog/logManageGov.vue +8 -5
  30. package/src/views/menu/component/menuManageComponent.vue +3 -5
  31. package/src/views/menuRouter/menuView.vue +226 -117
  32. package/src/views/menuRouter/urlMenuRouter.vue +13 -16
  33. package/src/views/org/entOrgTree.vue +1 -3
  34. package/src/views/org/js/sysOrgUserDetailMixins.js +646 -0
  35. package/src/views/org/sysEntOrgUserDetail.vue +10 -632
  36. package/src/views/org/sysOrgDimension.vue +4 -8
  37. package/src/views/org/sysOrgPosUserDetail.vue +4 -619
  38. package/src/views/org/sysOrgTree.vue +2 -4
  39. package/src/views/param/sysParam.vue +2 -0
  40. package/src/views/resources/resRouter/resView.vue +9 -11
  41. package/src/views/resources/tabs/comp/pageResRegister.vue +3 -5
  42. package/src/views/resources/tabs/dataResources.vue +3 -1
  43. package/src/views/resources/tabs/pageResources.vue +3 -1
  44. package/src/views/role/authRole/component/allocateSetting.vue +2 -589
  45. package/src/views/role/authRole/component/authSetting.vue +2 -597
  46. package/src/views/role/authRole/component/js/authMixins.js +622 -0
  47. package/src/views/role/commonRole/commonRole.vue +122 -3
  48. package/src/views/role/commonRole/compoment/commonSetting.vue +4 -6
  49. package/src/views/role/commonRole/compoment/commonSettingAdjust.vue +2 -89
  50. package/src/views/role/commonRole/compoment/commonSettingNew.vue +13 -97
  51. package/src/views/role/commonRole/compoment/js/commonSettingMixins.js +90 -0
  52. package/src/views/role/commonRole/compoment/roleMenuPower.vue +17 -2
  53. package/src/views/role/commonRole/compoment/roleMenuSetting.vue +12 -5
  54. package/src/views/sms/sendSms.vue +1 -1
  55. package/src/views/threeinone/init/safeInitRegion.vue +2 -4
  56. package/src/views/threeinone/safeManager.vue +1 -0
  57. package/src/views/threeinone/safeOrgSpv.vue +360 -337
  58. package/src/views/threeinone/safeSpvEconView.vue +37 -17
  59. package/src/views/uploadManage/uploadManage.vue +133 -0
  60. package/src/views/user/empowerUser/empowerUserListViewMenuTree.vue +6 -2
  61. package/src/views/user/stationUserManage.vue +3 -5
  62. package/src/views/user/userManage.vue +99 -3
  63. package/src/views/user/userMangement.vue +4 -6
@@ -1,364 +1,387 @@
1
1
  <template>
2
- <el-container style="height: 100%">
3
- <el-aside class="asideTree">
4
- <el-input placeholder="组织名称" v-model="filterTree" style="margin-top: 5px" size="small"></el-input>
5
- <div style="overflow-y: auto;height: calc(100% - 90px);margin-top: 5px">
6
- <common-tree ref="orgSelectTree" :request-url="api.sysOrg.listNoPageForTrinity"
7
- :request-param="orgSearchParam"
8
- parent-id="orgParentId" :default-props="defaultProps" :defaultExpandAll="true"
9
- :dealTreeData="dealTreeData"
10
- :filterText="filterTree"
11
- :nodeClick="nodeClick" :render-content-func="renderContentFunc" :checkbox="false"
12
- >
13
- </common-tree>
2
+ <el-container style="height: 100%">
3
+ <el-aside class="asideTree">
4
+ <el-input placeholder="组织名称" v-model="filterTree" style="margin-top: 5px" size="small"></el-input>
5
+ <div style="overflow-y: auto;height: calc(100% - 90px);margin-top: 5px">
6
+ <common-tree ref="orgSelectTree" :request-url="api.sysOrg.listNoPageForTrinity"
7
+ :request-param="orgSearchParam"
8
+ parent-id="orgParentId" :default-props="defaultProps" :defaultExpandAll="true"
9
+ :dealTreeData="dealTreeData"
10
+ :filterText="filterTree"
11
+ :nodeClick="nodeClick" :render-content-func="renderContentFunc" :checkbox="false"
12
+ >
13
+ </common-tree>
14
+ </div>
15
+ </el-aside>
16
+ <el-main class="detail-info">
17
+ <el-container style="height: 100%">
18
+ <el-main>
19
+ <div style="box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);height: 764px">
20
+ <div class="econTitleDiv">
21
+ <span style="">{{ econTitle }}</span>
22
+ <el-button class="saveButton" type="success" size="mini" style="font-size: 14px" @click="saveData">保存配置信息
23
+ </el-button>
14
24
  </div>
15
- </el-aside>
16
- <el-main class="detail-info">
17
- <el-container style="height: 100%">
18
- <el-main>
19
- <div style="box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);height: 764px">
20
- <div class="econTitleDiv">
21
- <span style="">{{econTitle}}</span>
22
- <el-button class="saveButton" type="success" size="mini" style="font-size: 14px" @click="saveData">保存配置信息
23
- </el-button>
24
- </div>
25
- <div class="econContentDiv" v-for="(par,index) in parEntArr" :key="par.id" v-if="cardShow">
26
- <div class="first_spv_main">
27
- <div class="first_spv_title">
28
- <el-checkbox v-model="checkedObj[par.id]" style="color: white;float: left;left: 9px"
29
- @change="changePar(par.id,checkedObj[par.id])">{{par.name}}</el-checkbox>
30
- </div>
25
+ <div class="econContentDiv" v-for="(par,index) in parEntArr" :key="par.id" v-if="cardShow">
26
+ <div class="first_spv_main">
27
+ <div class="first_spv_title">
28
+ <el-checkbox v-model="checkedObj[par.id]" style="color: white;float: left;left: 9px"
29
+ @change="changePar(par.id,checkedObj[par.id])">{{ par.name }}
30
+ </el-checkbox>
31
+ </div>
31
32
 
32
- <div class="first_spv_content">
33
- <div class="econChildDiv" v-for="(child,index) in parEntObj[par.id]" :key="child.id">
34
- <el-checkbox v-model="checkedObj[child.id]" @change="changeChild(child.id,par.id,checkedObj[child.id])">{{child.name}}</el-checkbox>
35
- </div>
36
- </div>
37
- </div>
38
- </div>
39
- </div>
40
- </el-main>
41
- </el-container>
33
+ <div class="first_spv_content">
34
+ <div class="econChildDiv" v-for="(child,index) in parEntObj[par.id]" :key="child.id">
35
+ <el-checkbox v-model="checkedObj[child.id]"
36
+ @change="changeChild(child.id,par.id,checkedObj[child.id])">{{ child.econName }}
37
+ </el-checkbox>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </div>
42
43
  </el-main>
43
- </el-container>
44
+ </el-container>
45
+ </el-main>
46
+ </el-container>
44
47
  </template>
45
48
 
46
49
  <script>
47
- export default {
48
- name: "safe-org-spv",
49
- data() {
50
- return {
51
- defaultProps: {children: 'children', label: 'orgName'}, // 树组件的配置信息
52
- orgSearchParam: {},
53
- filterTree: "",
54
- econTitle: "",//标题
55
- checked:true,
56
- parEntObj:{},
57
- parEntArr:[],
58
- cardShow:false,
59
- checkedObj:{},
60
- orgId:"",
61
- checkedBak:[],
62
- }
63
- },
64
- methods: {
65
- dealTreeData(data) {
50
+ export default {
51
+ name: "safe-org-spv",
52
+ data() {
53
+ return {
54
+ defaultProps: {children: 'children', label: 'orgName'}, // 树组件的配置信息
55
+ orgSearchParam: {},
56
+ filterTree: "",
57
+ econTitle: "",//标题
58
+ checked: true,
59
+ parEntObj: {},
60
+ parEntArr: [],
61
+ cardShow: false,
62
+ checkedObj: {},
63
+ orgId: "",
64
+ checkedBak: [],
65
+ enconArr: [],
66
+ econToSpv:{}
67
+ }
68
+ },
69
+ methods: {
70
+ dealTreeData(data) {
66
71
 
67
- },
68
- nodeClick(data, node) {
69
- this.cardShow=false;
70
- this.orgId=data.id;
71
- this.econTitle=data.orgName;
72
- if (data.orgType == 'ogn') {
73
- this.$message.error("地区节点不能配置监管行业!");
74
- return;
72
+ },
73
+ nodeClick(data, node) {
74
+ this.cardShow = false;
75
+ this.orgId = data.id;
76
+ this.econTitle = data.orgName;
77
+ if (data.orgType == 'area') {
78
+ this.$message.error("地区节点不能配置监管行业!");
79
+ return;
80
+ }
81
+ let spvArr = [];
82
+ // 加载所有可设置数据
83
+ this.axios.post(this.api.sysOrg.getById, {id: data.orgParentId}).then(async orgRes => {
84
+ if (orgRes.data) {
85
+ let rec = orgRes.data;
86
+ this.loadAreaJgxx(data.id).then(async REGION => {
87
+ let regionId = "";
88
+ if (REGION.openStatus == 1 || REGION.openStatus == 0) {// 使用默认配置的监管
89
+ let param = {"openStatus": "0"};
90
+ regionId = await this.axios.post(this.api.safeRegion.find, param).then(res => {
91
+ if (res.data) {
92
+ return res.data[0].id;
75
93
  }
76
- let spvArr=[];
77
- // 加载所有可设置数据
78
- this.axios.post(this.api.sysOrg.getById, {id: data.orgParentId}).then(async orgRes => {
79
- if (orgRes.data) {
80
- let rec = orgRes.data;
81
- if (rec.orgType == 'ogn') {// 父节点为地区节点,直接加载该监管地区下的监管信息
82
- this.loadAreaJgxx(data.id).then(async REGION => {
83
- let regionId = "";
84
- if (REGION.openStatus == 1 || REGION.openStatus == 0) {// 使用默认配置的监管
85
- regionId = await this.loadDefaultSetting();
86
- } else if (REGION.openStatus == 9) {// 使用个性化配置
87
- regionId = REGION.id;
88
- }
89
- let param = {"regionId": regionId, "order": "PARENT_ID,SPV_ORDER"};
90
- this.axios.post(this.api.safeSpv.findAndCount, param).then(res => {
91
- if (res.data) {
92
- spvArr = res.data;
93
- this.delData(spvArr);
94
- }
95
- })
96
- })
97
- } else if (rec.orgType == 'dept') {// 父节点为部门节点,需要加载父部门的配置监管信息
98
- await this.axios.post(this.api.sysOrg.findAllSpvByOrgId, {orgId: rec.id}).then(res => {
99
- if (res.data) {
100
- spvArr = res.data;
101
- this.delData(spvArr);
102
- }
103
- })
104
- } else {
105
- spvArr = [];
106
- this.$message.error("部门节点异常!!!");
107
- return;
108
- }
109
- }
94
+ })
95
+ } else if (REGION.openStatus == 9) {// 使用个性化配置
96
+ regionId = REGION.id;
97
+ }
98
+ this.axios.post(this.api.safeSpvEcon.findData, {regionId: regionId}).then(econData => {
99
+ if (econData && econData.data) {
100
+ this.enconArr = econData.data;
101
+ }
102
+ if (rec.orgType == 'area') {// 父节点为地区节点,直接加载该监管地区下的监管信息
103
+ let param = {"regionId": regionId, "order": "PARENT_ID,SPV_ORDER"};
104
+ this.axios.post(this.api.safeSpv.find, param).then(res => {
105
+ if (res.data) {
106
+ spvArr = res.data;
107
+ this.delData(spvArr);
108
+ }
110
109
  })
110
+ } else if (rec.orgType == 'dept') {// 父节点为部门节点,需要加载父部门的配置监管信息
111
+ this.axios.post(this.api.sysOrg.findAllSpvByOrgId, {orgId: rec.id}).then(res => {
112
+ if (res.data) {
113
+ spvArr = res.data;
114
+ this.delData(spvArr);
115
+ }
116
+ })
117
+ } else {
118
+ spvArr = [];
119
+ this.$message.error("部门节点异常!!!");
120
+ }
121
+ })
122
+ })
123
+ }
124
+ })
111
125
 
112
- },
113
- /*
114
- 处理加载的数据
115
- */
116
- delData(spvArr){
117
- if(spvArr == false || spvArr.length == 0){
118
- this.$message.error("未找到当前部门可配置的监管行业!请优先配置父级部门!");
119
- return;
120
- }
121
- this.parEntObj={};
122
- this.parEntArr=[];
123
- let parEntObj=this.parEntObj;
124
- let parEntArr=this.parEntArr;
126
+ },
127
+ /*
128
+ 处理加载的数据
129
+ */
130
+ delData(spvArr) {
131
+ if (spvArr == false || spvArr.length == 0) {
132
+ this.$message.error("未找到当前部门可配置的监管行业!请优先配置父级部门!");
133
+ return;
134
+ }
135
+ this.parEntObj = {};
136
+ this.parEntArr = [];
137
+ let parEntObj = this.parEntObj;
138
+ let parEntArr = this.parEntArr;
125
139
 
126
- //假数据
127
- spvArr.forEach(spvData =>{
128
- if(spvData.parentId== '-1'){
129
- this.$set(parEntObj,spvData.id,[])
130
- parEntArr.push(spvData);
131
- }
132
- })
133
- parEntArr.forEach(parEnt=>{
134
- spvArr.forEach(spvData =>{
135
- if(spvData.parentId== parEnt.id){
136
- parEntObj[parEnt.id].push(spvData);
137
- }
138
- })
139
- })
140
- this.checkedObj={};
141
- // 加载已选择数据
142
- this.axios.post(this.api.safeOrgSpv.find,{"orgId":this.orgId}).then( checkRes =>{
143
- this.checkedBak=[];
144
- if(checkRes.data){
145
- let arr=checkRes.data || [];
146
- arr.forEach(item =>{
147
- this.$set(this.checkedObj,item.spvId,true);
148
- this.checkedBak.push(item.id);
149
- })
150
- }
151
- this.cardShow=true;
152
- })
153
- },
154
- /**
155
- * 功能描述:获取默认配置
156
- */
157
- loadDefaultSetting() {
158
- let param = {"openStatus": "0"};
159
- this.axios.post(this.api.safeSpv.findAndCount, param).then(res => {
160
- if (res.data) {
161
- return res.data[0].id;
162
- }
163
- })
164
- },
165
- loadAreaJgxx(orgId) {
166
- return new Promise(resolve => {
167
- this.axios.post(this.api.sysOrg.getById, {id: orgId}).then(res => {
168
- this.axios.post(this.api.safeRegion.getById, {id: (res.data || {}).regionId}).then(regionRes => {
169
- if (!regionRes ||!regionRes.data) {
170
- this.$message.error("未获取到地区数据!");
171
- }else {
172
- resolve(regionRes.data || {});
173
- }
174
- })
175
- })
176
- })
177
- },
178
- renderContentFunc(h, {node, data}) {
179
- let vm = this;
180
- if (data.nodeType == "dept" || data.nodeType == "area") {
181
- return (
182
- <span>
140
+ //假数据
141
+ spvArr.forEach(spvData => {
142
+ if (spvData.parentId == '-1') {
143
+ this.$set(parEntObj, spvData.id, [])
144
+ parEntArr.push(spvData);
145
+ }
146
+ })
147
+ this.enconArr.forEach(parEnt => {
148
+ this.econToSpv[parEnt.id] = parEnt.spvId;
149
+ spvArr.forEach(spvData => {
150
+ if (spvData.id == parEnt.spvId) {
151
+ parEntObj[spvData.id].push(parEnt);
152
+ }
153
+ })
154
+ })
155
+ this.checkedObj = {};
156
+ // 加载已选择数据
157
+ this.axios.post(this.api.safeOrgSpv.find, {"orgId": this.orgId}).then(checkRes => {
158
+ this.checkedBak = [];
159
+ if (checkRes.data) {
160
+ let arr = checkRes.data || [];
161
+ arr.forEach(item => {
162
+ this.$set(this.checkedObj, item.spveconId, true);
163
+ this.checkedBak.push(item.id);
164
+ })
165
+ }
166
+ this.cardShow = true;
167
+ })
168
+ },
169
+ loadAreaJgxx(orgId) {
170
+ return new Promise(resolve => {
171
+ this.axios.post(this.api.sysOrg.getById, {id: orgId}).then(res => {
172
+ this.axios.post(this.api.safeRegion.getById, {id: (res.data || {}).regionId}).then(regionRes => {
173
+ if (!regionRes || !regionRes.data) {
174
+ this.$message.error("未获取到地区数据!");
175
+ } else {
176
+ resolve(regionRes.data || {});
177
+ }
178
+ })
179
+ })
180
+ })
181
+ },
182
+ renderContentFunc(h, {node, data}) {
183
+ let vm = this;
184
+ if (data.orgType == "dept") {
185
+ return (
186
+ <span>
183
187
  <i class={'el-icon-tickets'}></i>
184
188
  <span>{node.label}</span>
185
189
  </span>
186
- );
187
- }
188
- let MyComempte = (
189
- <span>
190
+ );
191
+ } else if (data.orgType == "area") {
192
+ return (
193
+ <span>
194
+ <i class={'el-icon-copy-document'}></i>
195
+ <span>{node.label}</span>
196
+ </span>
197
+ );
198
+ }
199
+ let MyComempte = (
200
+ <span>
190
201
  <i class={'el-icon-coordinate'}></i>
191
202
  <span>{node.label}</span>
192
203
  </span>
193
- );
194
- return MyComempte;
195
- },
196
- /*
197
- 父级勾选
198
- */
199
- changePar(id,status){
200
- //checkedObj:{},
201
- let childArr=this.parEntObj[id] || [];
202
- if(status){//父级全选
203
- childArr.forEach(item =>{
204
- this.$set(this.checkedObj,item.id,true);
205
- })
206
- }else{//父级全不选
207
- childArr.forEach(item =>{
208
- this.$set(this.checkedObj,item.id,false);
209
- })
210
- }
211
- },
212
- /*
213
- 子级勾选
214
- */
215
- changeChild(id,parentId,status){
216
- let childArr=this.parEntObj[parentId] || [];
217
- if(status){//勾选的时候判断父级是否需要全选
218
- let index=childArr.findIndex(item =>{
219
- if(!this.checkedObj[item.id]){
220
- return true;
221
- }
222
- })
223
- if(index <0){//同级没有未勾选的
224
- this.$set(this.checkedObj,parentId,true);
225
- }
226
- }else{//取消勾选的时候判断父级是否需要取消全选
227
- this.$set(this.checkedObj,parentId,false);
228
- }
229
- },
230
- saveData(){
231
- let checkedArr=[];//保存勾选的数据
232
- let arr=Object.keys(this.checkedObj) || [];
233
- arr.forEach(item =>{
234
- if(this.checkedObj[item]){
235
- checkedArr.push(item);
236
- }
237
- })
238
- if(checkedArr.length >0){
239
- this.axios.post(this.api.safeOrgSpv.batchAdd,{"ids":checkedArr.join(","),"orgId":this.orgId}).then(res=>{
240
- if(res.data.operateSuccess){
241
- this.$message({type: "success", message: "保存成功!"});
242
- }else{
243
- this.$message({type: "error", message: "保存失败!"});
244
- }
245
- })
246
- }else{
247
- this.axios.post(this.api.safeOrgSpv.batchDelete,{"ids":this.checkedBak.join(",")}).then(res=>{
248
- if(res.data.operateSuccess){
249
- this.$message({type: "success", message: "保存成功!"});
250
- }else{
251
- this.$message({type: "error", message: "保存失败!"});
252
- }
253
- })
254
- }
255
- },
204
+ );
205
+ return MyComempte;
206
+ },
207
+ /*
208
+ 父级勾选
209
+ */
210
+ changePar(id, status) {
211
+ //checkedObj:{},
212
+ let childArr = this.parEntObj[id] || [];
213
+ if (status) {//父级全选
214
+ childArr.forEach(item => {
215
+ this.$set(this.checkedObj, item.id, true);
216
+ })
217
+ } else {//父级全不选
218
+ childArr.forEach(item => {
219
+ this.$set(this.checkedObj, item.id, false);
220
+ })
221
+ }
222
+ },
223
+ /*
224
+ 子级勾选
225
+ */
226
+ changeChild(id, parentId, status) {
227
+ let childArr = this.parEntObj[parentId] || [];
228
+ if (status) {//勾选的时候判断父级是否需要全选
229
+ let index = childArr.findIndex(item => {
230
+ if (!this.checkedObj[item.id]) {
231
+ return true;
232
+ }
233
+ })
234
+ if (index < 0) {//同级没有未勾选的
235
+ this.$set(this.checkedObj, parentId, true);
256
236
  }
257
- }
237
+ } else {//取消勾选的时候判断父级是否需要取消全选
238
+ this.$set(this.checkedObj, parentId, false);
239
+ }
240
+ },
241
+ saveData() {
242
+ let checkedArr = [];//保存勾选的数据
243
+ let arr = Object.keys(this.checkedObj) || [];
244
+ arr.forEach(item => {
245
+ if (this.checkedObj[item]) {
246
+ checkedArr.push(this.econToSpv[item]+":"+item);
247
+ }
248
+ })
249
+ if (checkedArr.length > 0) {
250
+ this.axios.post(this.api.safeOrgSpv.batchAdd, {
251
+ "spveconIds": checkedArr.join(","),
252
+ "deptId": this.orgId
253
+ }).then(res => {
254
+ if (res.data.operateSuccess) {
255
+ this.$message({type: "success", message: "保存成功!"});
256
+ } else {
257
+ this.$message({type: "error", message: "保存失败!"});
258
+ }
259
+ })
260
+ } else {
261
+ this.axios.post(this.api.safeOrgSpv.batchDelete, {"ids": this.checkedBak.join(",")}).then(res => {
262
+ if (res.data.operateSuccess) {
263
+ this.$message({type: "success", message: "保存成功!"});
264
+ } else {
265
+ this.$message({type: "error", message: "保存失败!"});
266
+ }
267
+ })
268
+ }
269
+ },
270
+ }
271
+ }
258
272
  </script>
259
273
 
260
274
  <style scoped>
261
- .asideTree {
262
- width: 300px;
263
- position: relative;
264
- overflow-y: hidden;
265
- padding: 5px;
266
- box-sizing: border-box;
267
- }
275
+ .asideTree {
276
+ width: 300px;
277
+ position: relative;
278
+ overflow-y: hidden;
279
+ padding: 5px;
280
+ box-sizing: border-box;
281
+ }
268
282
 
269
- .detail-info {
270
- height: 100%;
271
- border-left: 1px solid #EBEEF5;
272
- padding: 5px 0 5px 5px;
273
- overflow-x: hidden;
274
- box-sizing: border-box;
275
- }
283
+ .detail-info {
284
+ height: 100%;
285
+ border-left: 1px solid #EBEEF5;
286
+ padding: 5px 0 5px 5px;
287
+ overflow-x: hidden;
288
+ box-sizing: border-box;
289
+ }
276
290
 
277
- .econTitleDiv {
278
- border-radius: 4px 4px 0px 0px;
279
- background-color: #3498DB;
280
- height: 36px;
281
- color: white;
282
- line-height: 36px;
283
- font-weight: bold;
284
- text-align: center;
285
- font-size: 18px;
286
- cursor: pointer;
287
- transition: all 0.5s;
291
+ .econTitleDiv {
292
+ border-radius: 4px 4px 0px 0px;
293
+ background-color: #3498DB;
294
+ height: 36px;
295
+ color: white;
296
+ line-height: 36px;
297
+ font-weight: bold;
298
+ text-align: center;
299
+ font-size: 18px;
300
+ cursor: pointer;
301
+ transition: all 0.5s;
288
302
 
289
- }
303
+ }
290
304
 
291
- .econTitleDiv .saveButton {
292
- position: absolute;
293
- right: 42px;
294
- top: 23px;
295
- z-index: 999;
296
- width: 120px;
297
- height: 30px;
298
- cursor: pointer;
299
- }
300
- .first_spv_main {
301
- margin: 4px;
302
- height: 230px;
303
- width: 240px;
304
- padding: 0px;
305
- border-radius: 4px;
306
- border: #D8DEE2 solid 1px;
307
- box-shadow: 0 0 12px 4px #DDE5EA;
308
- float: left;
309
- transition: all 0.3s;
310
- position: relative;
311
- }
312
- .first_spv_title{
313
- position: relative;
314
- border-radius: 4px 4px 0px 0px;
315
- background-color: #3498DB;
316
- height: 34px;
317
- color: white;
318
- line-height: 34px;
319
- text-align: center;
320
- font-size: 14px;
321
- cursor: pointer;
322
- transition: all 0.5s;
323
- width: 100%;
324
- }
325
- /deep/ .first_spv_title .el-checkbox__label{
326
- color: white;
327
- }
328
- /deep/ .first_spv_title .el-checkbox__inner{
329
- }
330
- .first_spv_content{
331
- height: 190px;
332
- padding-top: 0px;
333
- width: 100%;
334
- margin: 0px auto;
335
- overflow-y: auto;
336
- overflow-x: hidden;
337
- }
338
- /deep/ .first_spv_content .econChildDiv .el-checkbox is-checked .el-checkbox__label{
339
- color: white;
340
- }
341
- .econChildDiv{
342
- float: left;
343
- height: 25px;
344
- line-height: 25px;
345
- border-radius: 3px;
346
- padding: 3px 10px;
347
- border: #E7EBEE solid 1px;
348
- font-size: 13px;
349
- display: block;
350
- cursor: pointer;
351
- font-family: "微软雅黑";
352
- width: 200px;
353
- margin: 5px;
354
- white-space: nowrap;
355
- overflow: hidden;
356
- text-overflow: ellipsis;
357
- }
358
- .econChildDiv_checked {
359
- background-color: #3498DB;
360
- box-shadow: rgba(52, 152, 219, 0.79) 2px 2px 10px;
361
- color: white;
362
- border: #3498DB solid 1px;
363
- }
305
+ .econTitleDiv .saveButton {
306
+ position: absolute;
307
+ right: 42px;
308
+ top: 23px;
309
+ z-index: 999;
310
+ width: 120px;
311
+ height: 30px;
312
+ cursor: pointer;
313
+ }
314
+
315
+ .first_spv_main {
316
+ margin: 4px;
317
+ height: 230px;
318
+ width: 240px;
319
+ padding: 0px;
320
+ border-radius: 4px;
321
+ border: #D8DEE2 solid 1px;
322
+ box-shadow: 0 0 12px 4px #DDE5EA;
323
+ float: left;
324
+ transition: all 0.3s;
325
+ position: relative;
326
+ }
327
+
328
+ .first_spv_title {
329
+ position: relative;
330
+ border-radius: 4px 4px 0px 0px;
331
+ background-color: #3498DB;
332
+ height: 34px;
333
+ color: white;
334
+ line-height: 34px;
335
+ text-align: center;
336
+ font-size: 14px;
337
+ cursor: pointer;
338
+ transition: all 0.5s;
339
+ width: 100%;
340
+ }
341
+
342
+ /deep/ .first_spv_title .el-checkbox__label {
343
+ color: white;
344
+ }
345
+
346
+ /deep/ .first_spv_title .el-checkbox__inner {
347
+ }
348
+
349
+ .first_spv_content {
350
+ height: 190px;
351
+ padding-top: 0px;
352
+ width: 100%;
353
+ margin: 0px auto;
354
+ overflow-y: auto;
355
+ overflow-x: hidden;
356
+ }
357
+
358
+ /deep/ .first_spv_content .econChildDiv .el-checkbox is-checked .el-checkbox__label {
359
+ color: white;
360
+ }
361
+
362
+ .econChildDiv {
363
+ float: left;
364
+ background-color: white;
365
+ height: 25px;
366
+ line-height: 25px;
367
+ border-radius: 3px;
368
+ padding: 3px 10px;
369
+ border: #E7EBEE solid 1px;
370
+ font-size: 13px;
371
+ display: block;
372
+ cursor: pointer;
373
+ font-family: "微软雅黑";
374
+ width: 200px;
375
+ margin: 5px;
376
+ white-space: nowrap;
377
+ overflow: hidden;
378
+ text-overflow: ellipsis;
379
+ }
380
+
381
+ .econChildDiv_checked {
382
+ background-color: #3498DB;
383
+ box-shadow: rgba(52, 152, 219, 0.79) 2px 2px 10px;
384
+ color: white;
385
+ border: #3498DB solid 1px;
386
+ }
364
387
  </style>