centaline-data-driven 1.2.56 → 1.2.59

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 (27) hide show
  1. package/package.json +1 -1
  2. package/src/Detail.vue +1 -1
  3. package/src/Form.vue +4 -3
  4. package/src/assets/Unchecked.png +0 -0
  5. package/src/assets/checked.png +0 -0
  6. package/src/centaline/common/index.js +1 -1
  7. package/src/centaline/css/common.css +0 -5
  8. package/src/centaline/dynamicBtn/src/dynamicBtn.vue +8 -7
  9. package/src/centaline/dynamicContact/src/dynamicContact.vue +5 -4
  10. package/src/centaline/dynamicDetail/src/dynamicContactList.vue +17 -5
  11. package/src/centaline/dynamicDetail/src/dynamicDetail.vue +3 -2
  12. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +14 -2
  13. package/src/centaline/dynamicDetail/src/dynamicPropertySimpleDetailRET.vue +7 -4
  14. package/src/centaline/dynamicFile/src/dynamicFile.vue +9 -0
  15. package/src/centaline/dynamicForm/src/dynamicForm.vue +16 -4
  16. package/src/centaline/dynamicPhotoSelect/src/dynamicPhotoSelect.vue +59 -14
  17. package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +8 -1
  18. package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +1 -0
  19. package/src/centaline/formData/index.js +1 -2
  20. package/src/centaline/loader/src/ctl/Base.js +6 -1
  21. package/src/centaline/loader/src/ctl/ContactList.js +20 -4
  22. package/src/centaline/loader/src/ctl/Form.js +3 -0
  23. package/src/centaline/loader/src/ctl/Router.js +9 -0
  24. package/src/centaline/loader/src/ctl/SearchTable.js +0 -1
  25. package/src/main.js +3 -2
  26. package/wwwroot/static/centaline/centaline-data-driven.js +3 -3
  27. package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centaline-data-driven",
3
- "version": "1.2.56",
3
+ "version": "1.2.59",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/src/Detail.vue CHANGED
@@ -10,7 +10,7 @@
10
10
  name: 'DataDrivendetail',
11
11
  data() {
12
12
  return {
13
- apiParam: {actionType: 1,chanceID: "1"} ,
13
+ apiParam: {actionType: 1,chanceID: "3"} ,
14
14
  }
15
15
  },
16
16
  mounted() {
package/src/Form.vue CHANGED
@@ -1,9 +1,9 @@
1
1
  <template>
2
2
  <div id="app-form" class="data-driven" style="width:100%;height:100%;overflow:auto">
3
- <!-- <ct-form :api="'/api/third-dept-tran/profit-return/applyUI'" :apiParam="apiParam"></ct-form> -->
3
+ <ct-form :api="'/salematter/agentcontract/readDetail'" :apiParam="apiParam"></ct-form>
4
4
  <!-- <ct-form :api="'/PropertyRET/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
5
5
  <!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
6
- <ct-form :api="'/api/third-dept-tran/transaction/detail'" :apiParam="apiParam"></ct-form>
6
+ <!-- <ct-form :api="'/api/third-dept-tran/transaction/detail'" :apiParam="apiParam"></ct-form> -->
7
7
  <!--<ct-form :api="'api/Form/formdata'"></ct-form>-->
8
8
  <ct-dialog-list></ct-dialog-list>
9
9
  </div>
@@ -17,7 +17,8 @@
17
17
  // apiParam: {profitReturnId: "1504359257134055426", actionType: 1, pageStyle: 2, pageTitle: "查看返利", pageOnly: true} ,
18
18
  // apiParam: {headerParam: {}, urlParam: {contractID: "06cad32e-4d0d-4b6f-bd24-16a28629a550", actionType: "0"}}
19
19
  // apiParam: {originalTraId: "1475658732246241281", actionType: 2, chanceID: "1"} ,
20
- apiParam: {originalTraId: "1516290587463507969", actionType: "3", pageStyle: "2", pageTitle: "成交报告",pageOnly: "true"}
20
+ // apiParam: {originalTraId: "1516290587463507969", actionType: "3", pageStyle: "2", pageTitle: "成交报告",pageOnly: "true"}
21
+ apiParam:{acId:"220422141624917EB85D143D438CB8E5",actionType:3}
21
22
  }
22
23
  },
23
24
  methods: {
Binary file
Binary file
@@ -351,7 +351,7 @@ const common = {
351
351
  initFunction(f) {
352
352
  return function () {
353
353
  if (arguments.length === 0) {
354
- return f($fd);
354
+ return f(typeof $fd!='undefined'?$fd:'');
355
355
  }
356
356
  else {
357
357
  var exStr = 'f(';
@@ -804,9 +804,4 @@ html {
804
804
  line-height: 26px;
805
805
  }
806
806
 
807
- .el-popoverabsolute{
808
- position: absolute !important;
809
- top: 20px !important;
810
- }
811
-
812
807
 
@@ -34,20 +34,20 @@
34
34
  <div>{{model.label}}</div>
35
35
  <div style="color:red;font-weight:700;">{{model.subText}}</div>
36
36
  </el-button>
37
- <el-button v-else-if="model.isCallTel" :id="model.id"
37
+ <el-button v-else-if="model.isCallTel"
38
38
  :type="model.isHyperLink ? 'text' : 'primary'"
39
39
  v-bind="model.attrs" @click="clickHandle"
40
40
  :style="{color:model.textColor,backgroundColor:model.imgUrl?'transparent':model.bgColor,borderColor:model.imgUrl?'transparent':model.borderColor,padding:model.imgUrl?'0px':null}"
41
41
  :icon="model.icon"
42
42
  :disabled="model.disabled || model.locked">
43
- <el-popover :ref="'popover'+model.id" :append-to-body="false"
44
- class="Stats-popover" :popper-class="flagAbsolute?'el-popoverabsolute':'el-popover1'" :placement="option.placement?option.placement:'left'"
43
+ <el-popover
44
+ class="Stats-popover" :popper-class="'el-popoverCallTel'" :placement="option.placement?option.placement:'left'"
45
45
  v-model="visible" :trigger="option.trigger?option.trigger:''">
46
46
  <div style="border-bottom:none">
47
47
  <div style="color: #388cd3;text-align: center;">{{message}}</div>
48
48
  <img v-show="qrCode" :src="qrCode" style="margin-top: 5px;" :style="{'width':width+'px','height':height+'px'}" />
49
49
  </div>
50
- <img v-if="model.imgUrl" slot="reference" :title="model.label" :src="tellImgUrl?tellImgUrl:model.imgUrl" height="24px" />
50
+ <img v-if="model.imgUrl" slot="reference" :title="model.label+rowindex" :src="tellImgUrl?tellImgUrl:model.imgUrl" height="24px" />
51
51
  <span v-else slot="reference">{{model.label}}</span>
52
52
  </el-popover>
53
53
  </el-button>
@@ -69,7 +69,8 @@
69
69
  vmodel: Object,
70
70
  fileData: Object,
71
71
  optionApi:String,
72
- flagAbsolute:Boolean,
72
+ rowData: Object,
73
+ rowindex:Number,
73
74
  },
74
75
  mixins: [dynamicElement],
75
76
  data: function () {
@@ -83,7 +84,7 @@
83
84
  option: {
84
85
  isHidden: true,//是否开启操作栏隐藏设置,默认开启
85
86
  showNum: 3,//如果isHidden为true时,个数大于3就会隐藏,默认是3
86
- appendId: '.el-button',//将浮动栏添加到对应id或者class节点中。或者.xxx。传空字符串是添加到body中。
87
+ appendId: '',//将浮动栏添加到对应id或者class节点中。或者.xxx。传空字符串是添加到body中。
87
88
  trigger: 'manual',//触发方式,传值可查看Popper UI组件trigger属性
88
89
  placement: 'bottom-start',//方向,传值可查看Popper UI组件placement属性
89
90
  },
@@ -144,7 +145,7 @@
144
145
  this.tellImgUrl='';
145
146
  }
146
147
  else{
147
- this.$emit('click',this.model);
148
+ this.$emit('click',this.model,this.rowData,this.rowindex);
148
149
  }
149
150
  }
150
151
  else{
@@ -1,6 +1,7 @@
1
1
  <template>
2
- <div v-if="apiRouter!=={} && model && model.listData.length>0" style="border: 1px solid #ECEFF2;box-shadow: 0 2px 4px 0 rgba(0,0,0,0.06);border-radius: 6px;
3
- padding-bottom: 10px;padding-top: 10px;padding-left: 10px;display: flex;font-size: 12px;">
2
+ <div v-if="apiRouter!=={} && model && model.listData.length>0"
3
+ style="border: 1px solid #ECEFF2;box-shadow: 0 2px 4px 0 rgba(0,0,0,0.06);border-radius: 6px;
4
+ padding-bottom: 10px;padding-top: 10px;padding-left: 10px;display: flex;font-size: 12px;width:100%">
4
5
  <div class="ct-so" style="width:auto;margin-right: 10px;">
5
6
  <el-popover ref="pop" placement="bottom-start" v-model="showDrop" trigger="click">
6
7
  <div>
@@ -18,8 +19,8 @@
18
19
  </span>
19
20
  </div>
20
21
  <div style="margin-left: 5px;display: flex;">
21
- <component v-for="(router, index) in model.rowRouter" :key="index" :ref="'router'+router.id" :flagAbsolute="true"
22
- v-if="!router.rightField || model.listData[model.value][router.rightField] == 1" :style="{position: router.isCallTel ?'relative':null}"
22
+ <component v-for="(router, index) in model.rowRouter" :key="index" :ref="'router'+router.id"
23
+ v-if="!router.rightField || model.listData[model.value][router.rightField] == 1"
23
24
  :is="router.is" :vmodel="router" :api="model.optionApi" @click="fieldClickHandler(router)">
24
25
  </component>
25
26
  </div>
@@ -91,9 +91,12 @@
91
91
  </ct-tablecurrency>
92
92
  </div>
93
93
  <!--可点击的列-->
94
- <ct-tablecurrency v-else-if="column.router" :align="column.attrs.align" :class="column.autoRowHeight ? 'lineFeedCell':'cell'" :router="column.router" :colValue="row[column.id]" :rowData="row"
95
- @click="rolRouterClickHandler">
96
- </ct-tablecurrency>
94
+ <div v-else-if="column.routers" :class="column.autoRowHeight ? 'lineFeedCell':'cell'" style="display: flex;">
95
+ <component v-for="(router, i) in column.routers" :key="i" :ref="'router'+router.id+rowindex" :rowData="row" :rowindex="rowindex"
96
+ v-if="!router.rightField || !row[router.rightField] || row[router.rightField] == 1"
97
+ :is="router.is" :vmodel="router" :api="model.optionApi" @click="rolRouterClickHandler">
98
+ </component>
99
+ </div>
97
100
  <!--正常的列-->
98
101
  <div v-else-if="typeof column.template === 'undefined'" :class="column.autoRowHeight ? 'lineFeedCell':'cell'">
99
102
  {{row.rowHiddenColumns && row.rowHiddenColumns.includes(column.id)?"":row[column.id]}}
@@ -168,7 +171,6 @@
168
171
  this.model.scripts.formData = this.model.formData;
169
172
  this.model.scripts.formData.formTable = this.model;
170
173
  this.model.setHiddenRow();
171
- console.log(this.model);
172
174
  },
173
175
  lookOwner(router) {
174
176
  var self = this;
@@ -264,7 +266,8 @@
264
266
 
265
267
  return true;
266
268
  },
267
- rolRouterClickHandler(field, rowData) {
269
+ rolRouterClickHandler(field, rowData,rowindex) {
270
+ field.rowindex=rowindex;
268
271
  var submitData = {};
269
272
  field.submitListField.forEach((k) => {
270
273
  submitData[k] = rowData[k];
@@ -395,6 +398,15 @@
395
398
  if(callBack){
396
399
  callBack();
397
400
  }
401
+ if(field.actionType===10){
402
+ data.apiRouter=self.model.apiRouter;
403
+ data.rowMergedColumns=self.model.rowMergedColumns;
404
+ self.loaderObj.ContactList(data,null,self.load);
405
+ self.$forceUpdate();
406
+ }
407
+ else if(field.actionType===19){
408
+ self.$refs['router'+field.id+field.rowindex][0].callTelClick(data);
409
+ }
398
410
  })
399
411
  }
400
412
  }
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div>
3
- <ct-PropertyDetailOFI :api="api" :apiParam="apiParam" class="ct-PropertyDetailOFI" v-if="pageType=='PropertyDetailOFI'"></ct-PropertyDetailOFI>
4
- <ct-PropertyDetailRET :api="api" :apiParam="apiParam" class="ct-PropertyDetailRET" v-if="pageType=='PropertyDetailRET'"></ct-PropertyDetailRET>
3
+ <ct-PropertyDetailOFI :api="api" :apiParam="apiParam" :parentModel="parentModel" class="ct-PropertyDetailOFI" v-if="pageType=='PropertyDetailOFI'"></ct-PropertyDetailOFI>
4
+ <ct-PropertyDetailRET :api="api" :apiParam="apiParam" :parentModel="parentModel" class="ct-PropertyDetailRET" v-if="pageType=='PropertyDetailRET'"></ct-PropertyDetailRET>
5
5
  <ct-PropertySimpleDetailRET :api="api" :apiParam="apiParam" :selectIndex="selectIndex" :rowCount="rowCount" class="ct-PropertySimpleDetailRET"
6
6
  @clickNextHandler="clickNextHandler" @clickPrevHandler="clickPrevHandler" @simpleRouterclickHandler="simpleRouterclickHandler"
7
7
  v-if="pageType=='PropertySimpleDetailRET'" @closeSideHandler="closeSideHandler"></ct-PropertySimpleDetailRET>
@@ -23,6 +23,7 @@
23
23
  vmodel: Object,
24
24
  api: String,
25
25
  apiParam: Object,
26
+ parentModel: Object,
26
27
  pageType: String,
27
28
  selectIndex:Number,
28
29
  rowCount:Number,
@@ -29,8 +29,8 @@
29
29
  <div>
30
30
  <component v-if="model.otherTradeActionRouter!==null" v-bind="model.otherTradeActionRouter" class="max-default"
31
31
  :is="model.otherTradeActionRouter.is" :vmodel="model.otherTradeActionRouter" :api="model.optionApi" @click="fieldClickHandler(model.otherTradeActionRouter,$event)"></component>
32
- <img src="../../../assets/T.png" alt="" style="width: 26px;height: 26px;vertical-align: bottom;margin-left:11px">
33
- <img src="../../../assets/B.png" alt="" style="width: 26px;height: 26px;vertical-align: bottom;margin-left:8px">
32
+ <img :class="{'domDisabled':parentModel && parentModel.selectIndex<=0}" @click="clickPrevHandler" src="../../../assets/T.png" alt="" style="width: 26px;height: 26px;vertical-align: bottom;margin-left:11px;cursor: pointer">
33
+ <img :class="{'domDisabled':parentModel && parentModel.listData && parentModel.selectIndex===parentModel.listData.rowCount-1}" @click="clickNextHandler" src="../../../assets/B.png" alt="" style="width: 26px;height: 26px;vertical-align: bottom;margin-left:8px;cursor: pointer">
34
34
  </div>
35
35
  <div class="mt5">
36
36
  <component class="max-report w93" v-if="model.actionRouters!==null && model.actionRouters[0]!==null"
@@ -301,6 +301,7 @@
301
301
  vmodel: Object,
302
302
  api: String,
303
303
  apiParam: Object,
304
+ parentModel: Object,
304
305
  },
305
306
  data() {
306
307
  return {
@@ -591,6 +592,17 @@
591
592
  clickAcion(field,submitData);
592
593
  }
593
594
  },
595
+ clickNextHandler() {
596
+ console.log(this.parentModel);
597
+ if(this.parentModel){
598
+ this.parentModel.$vue.rowKeyDownHandle(null,1);
599
+ }
600
+ },
601
+ clickPrevHandler() {
602
+ if(this.parentModel){
603
+ this.parentModel.$vue.rowKeyDownHandle(null,-1);
604
+ }
605
+ },
594
606
  }
595
607
  }
596
608
  </script>
@@ -60,8 +60,8 @@
60
60
  <el-popover v-if="showIndex>0" ref="popover0" :append-to-table="option.appendId?option.appendId:''"
61
61
  class="Stats-popover" popper-class="el-popover1" :placement="option.placement?option.placement:'left'"
62
62
  :trigger="option.trigger?option.trigger:''">
63
- <div class="tab-list" style="border-bottom:none">
64
- <component v-for="(router, index) in model.actionRoutersSimple.slice(showIndex)" :key="index"
63
+ <div class="tab-list" style="border-bottom:none;display: flex;flex-direction: column;">
64
+ <component v-for="(router, index) in model.actionRoutersSimple.slice(showIndex)" :key="index" style="margin-bottom: 10px;margin-left: 0px;"
65
65
  v-if="!router.rightField || (model.fields1Dic[router.rightField] && model.fields1Dic[router.rightField].value == 1)"
66
66
  :is="router.is" :vmodel="router" :api="model.optionApi" @click="fieldClickHandler(router)">
67
67
  </component>
@@ -100,7 +100,7 @@
100
100
  showNum: 3,//如果isHidden为true时,个数大于3就会隐藏,默认是3
101
101
  appendId: '',//将浮动栏添加到对应id或者class节点中。或者.xxx。传空字符串是添加到body中。
102
102
  trigger: 'hover',//触发方式,传值可查看Popper UI组件trigger属性
103
- placement: 'right-start',//方向,传值可查看Popper UI组件placement属性
103
+ placement: 'left-start',//方向,传值可查看Popper UI组件placement属性
104
104
  },
105
105
  }
106
106
  },
@@ -147,9 +147,12 @@
147
147
  this.topWidth=this.$refs.main.clientWidth-140;
148
148
  }
149
149
 
150
- let totalWidth=self.$refs.routers.offsetWidth;
150
+ let totalWidth=0;
151
151
  let sumWidth=0;
152
152
  let moreWidth = 20;
153
+ if(self.$refs.routers){
154
+ totalWidth=self.$refs.routers.offsetWidth;
155
+ }
153
156
  self.model.actionRoutersSimple.forEach((v,i) => {
154
157
  if(!v.rightField || (self.model.fields1Dic[v.rightField] && self.model.fields1Dic[v.rightField].value == 1)){
155
158
  if(self.$refs['routers'+i][0] && self.$refs['routers'+i][0].$el){
@@ -13,6 +13,7 @@
13
13
  :headers="headers"
14
14
  :before-upload="beforeUploadProcess"
15
15
  :on-success="handleAvatarSuccess"
16
+ :on-error="handleAvatarError"
16
17
  :on-progress="uploadProcess"
17
18
  :limit="parseInt(model.max||999)"
18
19
  :on-exceed="handleExceed">
@@ -196,6 +197,14 @@
196
197
  handleAvatarSuccess(res, file, fileList) {
197
198
  this.model.handleAvatarSuccess(res, file, fileList);
198
199
  },
200
+ handleAvatarError(res, file, fileList) {
201
+ if(res.status===404){
202
+ let m=JSON.parse(res.message);
203
+ if(m.error){
204
+ this.$message.warning('path('+m.path+') '+m.error);
205
+ }
206
+ }
207
+ },
199
208
  //不能共用的数据校验
200
209
  selfValidExcute: function (eventName) {
201
210
 
@@ -141,6 +141,7 @@
141
141
  this.$emit('failLoad', this.model);
142
142
  },
143
143
  load(data) {
144
+ var self=this;
144
145
  this.$set(this, 'model', data);
145
146
  this.model.self = this;
146
147
  if (typeof this.model.scripts !== 'undefined') {
@@ -150,6 +151,14 @@
150
151
  this.model.scripts.formData.fieldsDic = this.model.fieldsDic;
151
152
  }
152
153
  this.loadFields();
154
+
155
+ if(this.model.onload){
156
+ let onloads=this.model.onload.split(';');
157
+ onloads.forEach((v, index) => {
158
+ self.$common.excute.call(self.model.scripts, v);
159
+ });
160
+ }
161
+
153
162
  this.loading = false;
154
163
  //通知父组件加载完成
155
164
  this.$emit('loaded', this.model);
@@ -255,8 +264,11 @@
255
264
  if (!field.isClientFuntion) {
256
265
  if (field.isSubmit) {
257
266
  let verified = true;
258
- if (self.validExcute()) {
259
- if (typeof field.onClick !== 'undefined') {
267
+ if(field.flagVerifyData){
268
+ verified=self.validExcute();
269
+ }
270
+ if (verified) {
271
+ if (field.flagVerifyData && typeof field.onClick !== 'undefined') {
260
272
  verified = self.$common.excute.call(self.model.scripts, field.onClick);
261
273
  }
262
274
 
@@ -294,7 +306,7 @@
294
306
  self.parentModel.$vue.closeTabThen(data);
295
307
  }
296
308
  }
297
- field.disabled = false;
309
+ field.disabled = false;
298
310
  self.model.pageDisabled= false;
299
311
  });
300
312
  }
@@ -411,7 +423,7 @@
411
423
  }
412
424
  }
413
425
 
414
- if (field.isSubmit && !self.validExcute()) {
426
+ if (field.isSubmit && field.flagVerifyData && !self.validExcute()) {
415
427
  return;
416
428
  }
417
429
 
@@ -20,21 +20,36 @@
20
20
  @click="viewerOpen(photoList, index)"
21
21
  >
22
22
  </el-image>
23
- <span class="cover-list-item-span-delete">
23
+ <span
24
+ class="cover-list-item-span-delete"
25
+ v-if="!modelPhotoselect.lock"
26
+ >
24
27
  <i class="el-icon-delete" @click="handleRemove(index)"></i>
25
28
  </span>
26
- <span class="cover-list-item-span" v-if="item.mediaLabelName">
27
- <span class="el-dropdown-link">
28
- &nbsp;{{ item.mediaLabelName }}
29
+ <span class="cover-list-item-span">
30
+ <span class="el-dropdown-link" v-if="item.mediaLabelName">
31
+ <span style="width: 80px; height: 26px; display: inline-flex;">
32
+ &nbsp;{{ item.mediaLabelName }} </span>
33
+ </span>
34
+ <span v-if="item.rightDefault==true||item.rightDefault=='true'"
35
+ :class="[
36
+ item.flagDefault &&
37
+ (item.flagDefault == true || item.flagDefault == 'true')
38
+ ? 'checked'
39
+ : 'Unchecked',
40
+ 'isradio',
41
+ ]"
42
+ @click="radiochecked(photoList, item)"
43
+ >
29
44
  </span>
30
45
  </span>
31
46
  </div>
32
47
  </li>
33
48
  </draggable>
34
49
  </ul>
35
- <div
50
+ <div
36
51
  class="el-upload el-upload--picture-card"
37
- v-if="!modelPhotoselect.lock&&photoList.length<max"
52
+ v-if="!modelPhotoselect.lock && photoList.length < max"
38
53
  @click="handleOpen()"
39
54
  >
40
55
  <i class="el-icon-plus"></i>
@@ -65,7 +80,8 @@ export default {
65
80
  },
66
81
  data() {
67
82
  return {
68
- max:99999,
83
+ radio: "1",
84
+ max: 99999,
69
85
  validMessage: "",
70
86
  photoList: [],
71
87
  modelPhotoselect: {},
@@ -103,7 +119,7 @@ export default {
103
119
  methods: {
104
120
  load(data) {
105
121
  this.model = data;
106
- this.max=data.max?data.max:99999;
122
+ this.max = data.max ? data.max : 99999;
107
123
  this.modelPhotoselect = data;
108
124
  this.photoList = data.fileList;
109
125
  },
@@ -156,7 +172,7 @@ export default {
156
172
  }, 3000);
157
173
  photoList = photoList.slice(0, this.modelPhotoselect.max);
158
174
  }
159
- }
175
+ }
160
176
  self.modelPhotoselect.setFileList(photoList);
161
177
  self.photoList = photoList;
162
178
 
@@ -183,7 +199,15 @@ export default {
183
199
  self.$nextTick(function () {
184
200
  self.modelPhotoselect.setFileList(self.photoList);
185
201
  });
186
- },
202
+ },
203
+ radiochecked(list, item) {
204
+ var self = this;
205
+ list.forEach((v) => {
206
+ v.flagDefault = false;
207
+ });
208
+ item.flagDefault = true;
209
+ self.modelPhotoselect.setFileList(list);
210
+ },
187
211
  //不能共用的数据校验
188
212
  selfValidExcute: function (eventName) {
189
213
  if (this.modelPhotoselect.required) {
@@ -275,10 +299,14 @@ export default {
275
299
  margin-right: 4px;
276
300
  }
277
301
 
278
- .ct-photoSelect .el-dropdown-link {
279
- cursor: pointer;
280
- color: #fff;
281
- }
302
+ .ct-photoSelect .el-dropdown-link{
303
+ cursor: pointer;
304
+ color: #fff;
305
+ position: relative;
306
+ width: 80px;
307
+ height: 26px;
308
+ display: inline-block;
309
+ }
282
310
 
283
311
  .ct-photoSelect .el-icon-arrow-down {
284
312
  font-size: 12px;
@@ -306,4 +334,21 @@ export default {
306
334
  .card {
307
335
  display: inline-block;
308
336
  }
337
+
338
+ .ct-photoSelect .checked {
339
+ background: url(../../../assets/checked.png);
340
+ }
341
+ .ct-photoSelect .Unchecked {
342
+ background: url(../../../assets/Unchecked.png);
343
+ }
344
+
345
+ .ct-photoSelect .isradio {
346
+ background-size: 100% 100%;
347
+ height: 18px;
348
+ width: 18px;
349
+ display: block;
350
+ cursor: pointer;
351
+ margin-top: 5px;
352
+ float: right;
353
+ }
309
354
  </style>
@@ -215,12 +215,16 @@
215
215
  }
216
216
  },
217
217
  sideMenuClickHandler(v) {
218
+ let popoverCallTels=document.getElementsByClassName('el-popoverCallTel');
218
219
  if(v=='open'){
219
220
  this.sideBarStatus ='close';
220
221
  this.sideBarRight=-this.sideBarWidth;
221
222
  this.sideBarWidth=0;
222
223
  this.searchWidth=0;
223
224
  this.sideBarMenuRight=0;
225
+ for(var i=0;i<popoverCallTels.length;i++){
226
+ popoverCallTels[i].style.display='none';
227
+ }
224
228
  }
225
229
  else if(v=='close'){
226
230
  this.sideBarStatus ='open';
@@ -228,7 +232,10 @@
228
232
  this.sideBarWidth=this.$refs.table.model.sideBarWidth;
229
233
  this.searchWidth=this.$refs.main.clientWidth-this.sideBarWidth;
230
234
  this.sideBarMenuRight=this.sideBarWidth-2;
231
- this.rowClickHandle();
235
+ this.rowClickHandle();
236
+ for(var i=0;i<popoverCallTels.length;i++){
237
+ popoverCallTels[i].style.display='block';
238
+ }
232
239
  }
233
240
  },
234
241
  closeSideHandler() {
@@ -110,6 +110,7 @@
110
110
  @click="rolRouterClickHandler">
111
111
  </ct-tablecurrency>
112
112
 
113
+
113
114
  <!--正常的列-->
114
115
  <div v-else-if="column.flagHtml" v-html="row[column.id]" :class="column.autoRowHeight ? 'lineFeedCell':'cell'" :style="column.style ? column.style:''">
115
116
  </div>
@@ -45,7 +45,6 @@ const formData = {
45
45
  var rtn1 = this.fieldsDic[id];
46
46
  if (rtn1) {
47
47
  rtn1.source[attrKey] = attrValue;
48
- console.log(this.form)
49
48
  this.form.hatchHandle(id, attrKey, attrValue, rtn1);
50
49
  //this.form.hiddenHandle(rtn1);//隐藏关联的
51
50
 
@@ -231,7 +230,7 @@ const formData = {
231
230
  //获取后台数据,并返回脚本。
232
231
  execServerScript(action, object, successCallback) {
233
232
  let formData = this;//作用域保存
234
- debugger;
233
+
235
234
  //是否是行内触发的
236
235
  let data = this.getListField(this.form.scripts.$fd, null, null);
237
236
  object.editMode = data ? 1 : 0;
@@ -43,6 +43,9 @@ const Base = function (source) {
43
43
  get code1() {
44
44
  return source.code1;
45
45
  },
46
+ set code1(v) {
47
+ source.code1 = v;
48
+ },
46
49
  get value() {
47
50
  return source.code1;
48
51
  },
@@ -144,7 +147,9 @@ const Base = function (source) {
144
147
  },
145
148
  get lock() {
146
149
  return source.locked;
147
- //return true;
150
+ },
151
+ set locked(v) {
152
+ source.locked = v;
148
153
  },
149
154
  get listBind() {
150
155
  let bind = {};
@@ -60,8 +60,8 @@ const ContactList = function (source,para ,callBack) {
60
60
  if (data.content.actionRouters) {
61
61
  data.content.actionRouters.forEach((v) => {
62
62
  var router = Router(v);
63
- //router.is = "ct-btn";
64
- //router.attrs = { size: "mini" }
63
+ router.is = "ct-btn";
64
+ router.attrs = { size: "mini" }
65
65
  rtn._actionRouter.push(router);
66
66
  });
67
67
  }
@@ -180,8 +180,7 @@ const ContactList = function (source,para ,callBack) {
180
180
  if (col._router !== null) {
181
181
  return col._router;
182
182
  }
183
- //todo
184
- if (typeof v.routerKey !== "undefined") {
183
+ if (typeof v.routerKey !== "undefined" && v.routerKey && v.routerKey.indexOf(',')===-1) {
185
184
  let router = rtn.actionRouter.find(b => {
186
185
  return b.id === v.routerKey;
187
186
  });
@@ -189,6 +188,23 @@ const ContactList = function (source,para ,callBack) {
189
188
  }
190
189
  return null;
191
190
  },
191
+ _routers: null,
192
+ get routers() {
193
+ if (col._routers !== null) {
194
+ return col._routers;
195
+ }
196
+ if (typeof v.routerKey !== "undefined" && v.routerKey) {
197
+ col._routers=[];
198
+ v.routerKey.split(',').forEach((v) => {
199
+ let router = rtn.actionRouter.find(b => {
200
+ return b.id === v;
201
+ });
202
+ col._routers.push(router);
203
+ });
204
+ return col._routers;
205
+ }
206
+ return null;
207
+ },
192
208
  //是否高度自适应
193
209
  get autoRowHeight() {
194
210
  return v.autoRowHeight;
@@ -160,6 +160,9 @@ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
160
160
  }
161
161
  }
162
162
  },
163
+ get onload() {
164
+ return source.onload;
165
+ },
163
166
  get formData() {
164
167
  return formData;
165
168
  },
@@ -313,6 +313,15 @@ const Router = function (source) {
313
313
  get locked() {
314
314
  return source.locked;
315
315
  },
316
+ get flagVerifyData() {
317
+ //提交表单时是否校验数据
318
+ if(source.flagVerifyData!=undefined){
319
+ return source.flagVerifyData;
320
+ }
321
+ else{
322
+ return true;
323
+ }
324
+ },
316
325
  };
317
326
  return rtn;
318
327
  }
@@ -106,7 +106,6 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
106
106
  if (col._router !== null) {
107
107
  return col._router;
108
108
  }
109
- //todo
110
109
  if (typeof v.routerKey !== "undefined") {
111
110
  let router = rtn.actionRouter.find(b => {
112
111
  return b.id === v.routerKey;