ad334589 by joe

1

1 parent 63b0e3be
...@@ -74,6 +74,8 @@ export default { ...@@ -74,6 +74,8 @@ export default {
74 HT34Uploading: false, 74 HT34Uploading: false,
75 HT16Uploading: false, 75 HT16Uploading: false,
76 76
77 policyDateLegal: false,
78
77 }, 79 },
78 loading: false, 80 loading: false,
79 contactDateError: false, 81 contactDateError: false,
...@@ -135,7 +137,7 @@ export default { ...@@ -135,7 +137,7 @@ export default {
135 return true; 137 return true;
136 } 138 }
137 return false; 139 return false;
138 } 140 },
139 }, 141 },
140 methods: { 142 methods: {
141 initData() { 143 initData() {
...@@ -156,7 +158,7 @@ export default { ...@@ -156,7 +158,7 @@ export default {
156 if (typeSelectedStr) { 158 if (typeSelectedStr) {
157 try { 159 try {
158 let typeSelected = JSON.parse(typeSelectedStr); 160 let typeSelected = JSON.parse(typeSelectedStr);
159 console.log("typeSelected:", typeSelected); 161 // console.log("typeSelected:", typeSelected);
160 this.$set(this, "typeSelected", typeSelected) 162 this.$set(this, "typeSelected", typeSelected)
161 } catch (e) { 163 } catch (e) {
162 164
...@@ -169,21 +171,21 @@ export default { ...@@ -169,21 +171,21 @@ export default {
169 sessionStorage.setItem("clarmTypeSelect", JSON.stringify(this.typeSelected)); 171 sessionStorage.setItem("clarmTypeSelect", JSON.stringify(this.typeSelected));
170 sessionStorage.setItem("clarmDataForm", JSON.stringify(this.data)); 172 sessionStorage.setItem("clarmDataForm", JSON.stringify(this.data));
171 173
172 this.$refs['HT41'].cacheData(); 174 this.$refs['HT41'] && this.$refs['HT41'].cacheData();
173 this.$refs['HT26'].cacheData(); 175 this.$refs['HT26'] && this.$refs['HT26'].cacheData();
174 this.$refs['HT06'].cacheData(); 176 this.$refs['HT06'] && this.$refs['HT06'].cacheData();
175 this.$refs['HT34'].cacheData(); 177 this.$refs['HT34'] && this.$refs['HT34'].cacheData();
176 this.$refs['HT03'].cacheData(); 178 this.$refs['HT03'] && this.$refs['HT03'].cacheData();
177 }, 179 },
178 clearCache() { 180 clearCache() {
179 sessionStorage.removeItem("clarmTypeSelect"); 181 sessionStorage.removeItem("clarmTypeSelect");
180 sessionStorage.removeItem("clarmDataForm"); 182 sessionStorage.removeItem("clarmDataForm");
181 183
182 this.$refs['HT41'].clearCache(); 184 this.$refs['HT41'] && this.$refs['HT41'].clearCache();
183 this.$refs['HT26'].clearCache(); 185 this.$refs['HT26'] && this.$refs['HT26'].clearCache();
184 this.$refs['HT06'].clearCache(); 186 this.$refs['HT06'] && this.$refs['HT06'].clearCache();
185 this.$refs['HT34'].clearCache(); 187 this.$refs['HT34'] && this.$refs['HT34'].clearCache();
186 this.$refs['HT03'].clearCache(); 188 this.$refs['HT03'] && this.$refs['HT03'].clearCache();
187 }, 189 },
188 typeClickHandle(t) { 190 typeClickHandle(t) {
189 let index = this.typeSelected.indexOf(t); 191 let index = this.typeSelected.indexOf(t);
...@@ -203,7 +205,7 @@ export default { ...@@ -203,7 +205,7 @@ export default {
203 } 205 }
204 }, 206 },
205 uploadSuccess(data) { 207 uploadSuccess(data) {
206 // console.log(data); 208 console.log("uploadSuccess === ", data);
207 switch (data.type) { 209 switch (data.type) {
208 case "HT41": 210 case "HT41":
209 this.data.HT41Uploading = false; 211 this.data.HT41Uploading = false;
...@@ -334,10 +336,42 @@ export default { ...@@ -334,10 +336,42 @@ export default {
334 this.$emit("showModal", { action: 1, type: 2 }); 336 this.$emit("showModal", { action: 1, type: 2 });
335 return false; 337 return false;
336 }, 338 },
337 datePickCompleteHandler() { 339 checkPolicyDateLegal() {
338 340 // 校验日期是否合法
341 if (this.contactDateError) {
342 return false;
343 }
344 if (!this.data.contactDate || !this.data.insuredIndex) {
345 return false;
346 }
347 let insured = this.insuredList[this.data.insuredIndex - 1];
348 if (!insured.policyInfoList || insured.policyInfoList.length <= 0) {
349 return false;
350 }
351 var time = new Date(ddMMyyyy2yyyyMMdd(this.data.contactDate).replace(/\-/g, "/") + " 00:00:00").getTime();
352 for (let index = 0; index < insured.policyInfoList.length; index++) {
353 let policy = insured.policyInfoList[index];
354 // 有效期为生效日至满期日+60天
355 if (policy.activeDate <= time && policy.expireDate + 60 * 24 * 60 * 60 * 1000 >= time) {
356 return true;
357 }
358 }
359 // 2标记为时间
360 return false;
361 },
362 pluginActivityHandler(data) {
363 if (data.type == "close") {
364 // this.data.policyDateLegal = ;
365 this.$set(this.data, 'policyDateLegal', this.checkPolicyDateLegal());
366 if (this.data.policyDateLegal) {
367 this.policyIllegal = false;
368 } else {
369 this.policyIllegal = true;
370 this.$emit("showModal", { action: 1, type: 2 });
371 }
372 }
339 }, 373 },
340 insuredChange(){ 374 insuredChange() {
341 this.typeSelected = []; 375 this.typeSelected = [];
342 let d = { 376 let d = {
343 insuredIndex: this.data.insuredIndex, 377 insuredIndex: this.data.insuredIndex,
...@@ -362,13 +396,13 @@ export default { ...@@ -362,13 +396,13 @@ export default {
362 } 396 }
363 }, 397 },
364 watch: { 398 watch: {
365 "data.contactDate": function () { 399 // "data.contactDate": function () {
366 if (this.checkPolicy()) { 400 // if (this.checkPolicy()) {
367 this.policyIllegal = false; 401 // this.policyIllegal = false;
368 } else { 402 // } else {
369 this.policyIllegal = true; 403 // this.policyIllegal = true;
370 } 404 // }
371 }, 405 // },
372 'agree': function () { 406 'agree': function () {
373 this.showTips = false; 407 this.showTips = false;
374 } 408 }
......
...@@ -103,14 +103,14 @@ ...@@ -103,14 +103,14 @@
103 <div class="down-arrow"></div> 103 <div class="down-arrow"></div>
104 <div class="cont"> 104 <div class="cont">
105 <div class="ipt-date"> 105 <div class="ipt-date">
106 <date-picker v-model="data.contactDate" :datePickComplete="datePickCompleteHandler" :formatter="'dd-MM-yyyy'" :filtModel="['future']" :check="checkDate" :readonly="true" :cusStyle="{border:'none !important','background-color':'transparent !important','height':'58px', 'color':'#ff6839','font-weight':'bold','text-align': 'center'}"></date-picker> 106 <date-picker v-model="data.contactDate" :pluginActivity="pluginActivityHandler" :formatter="'dd-MM-yyyy'" :filtModel="['future']" :check="checkDate" :readonly="true" :cusStyle="{border:'none !important','background-color':'transparent !important','height':'58px', 'color':'#ff6839','font-weight':'bold','text-align': 'center'}"></date-picker>
107 </div> 107 </div>
108 </div> 108 </div>
109 </div> 109 </div>
110 </div> 110 </div>
111 </div> 111 </div>
112 112
113 <template v-if="data.contactDate"> 113 <template v-if="data.contactDate && data.policyDateLegal">
114 <div class="pure-u-1 form-item-2 form-item-3 mt20"> 114 <div class="pure-u-1 form-item-2 form-item-3 mt20">
115 <div class="label"> 115 <div class="label">
116 <div class="main-label"> 116 <div class="main-label">
...@@ -137,7 +137,7 @@ ...@@ -137,7 +137,7 @@
137 </div> 137 </div>
138 </template> 138 </template>
139 </div> 139 </div>
140 <template v-if="data.contactDate"> 140 <template v-if="data.contactDate && data.policyDateLegal">
141 <!-- <template v-if="1>0"> --> 141 <!-- <template v-if="1>0"> -->
142 <hr class="hr2" v-if="data.amount > 0"> 142 <hr class="hr2" v-if="data.amount > 0">
143 <div class="bottom-tip orange mt20">{{$t('clarms.step2.label17')}}</div> 143 <div class="bottom-tip orange mt20">{{$t('clarms.step2.label17')}}</div>
......
...@@ -6,8 +6,8 @@ export default { ...@@ -6,8 +6,8 @@ export default {
6 // 是否显示组件 6 // 是否显示组件
7 // 1、顯示事故類型;2、顯示時間 7 // 1、顯示事故類型;2、顯示時間
8 type: { 8 type: {
9 type: String, 9 type: Number,
10 default: "2" 10 default: 2
11 }, 11 },
12 }, 12 },
13 data() { 13 data() {
...@@ -29,6 +29,7 @@ export default { ...@@ -29,6 +29,7 @@ export default {
29 this.$emit("close"); 29 this.$emit("close");
30 }, 30 },
31 toContact() { 31 toContact() {
32 this.$emit("toContact");
32 this.$router.push({ 33 this.$router.push({
33 path: "/custom/service?q=m1" 34 path: "/custom/service?q=m1"
34 }); 35 });
......
...@@ -102,7 +102,7 @@ export default { ...@@ -102,7 +102,7 @@ export default {
102 sessionStorage.removeItem(key); 102 sessionStorage.removeItem(key);
103 } 103 }
104 } 104 }
105 this.uploadFiles = 0 ; 105 this.uploadFiles = 0;
106 this.images = []; 106 this.images = [];
107 }, 107 },
108 selectMutilFile() { 108 selectMutilFile() {
...@@ -226,7 +226,11 @@ export default { ...@@ -226,7 +226,11 @@ export default {
226 }, 226 },
227 emitResult() { 227 emitResult() {
228 if (this.images.length == 0) { 228 if (this.images.length == 0) {
229 this.$emit("success", []); 229 let result = {
230 type: this.options.imageTypeID,
231 list: []
232 };
233 this.$emit("success", result);
230 return; 234 return;
231 } 235 }
232 if (this.uploading) { 236 if (this.uploading) {
...@@ -288,12 +292,12 @@ export default { ...@@ -288,12 +292,12 @@ export default {
288 ctx.drawImage(that, 0, 0, w, h); 292 ctx.drawImage(that, 0, 0, w, h);
289 // quality值越小,所绘制出的图像越模糊 293 // quality值越小,所绘制出的图像越模糊
290 var base64 = canvas.toDataURL('image/*', quality); 294 var base64 = canvas.toDataURL('image/*', quality);
291 console.log(base64.length); 295 // console.log(base64.length);
292 // 回调函数返回base64的值 296 // 回调函数返回base64的值
293 callback(base64); 297 callback(base64);
294 } 298 }
295 }, 299 },
296 datePickCompleteHandler(){ 300 datePickCompleteHandler() {
297 301
298 } 302 }
299 }, 303 },
......
...@@ -32,16 +32,17 @@ export default { ...@@ -32,16 +32,17 @@ export default {
32 // future : 未来不可选择 32 // future : 未来不可选择
33 // weekend : 周末不可选择 33 // weekend : 周末不可选择
34 // today : 当日不可选择 34 // today : 当日不可选择
35 // holiday : 节假日不可选择
35 filtModel: { 36 filtModel: {
36 type: Array, 37 type: Array,
37 default () { 38 default() {
38 return ["history", "weekend", "today"] 39 return ["history", "weekend", "today"]
39 } 40 }
40 }, 41 },
41 // 需要过滤的日期列表 格式 ["yyyy-MM-dd","yyyy-MM-dd"] 42 // 需要过滤的日期列表 格式 ["yyyy-MM-dd","yyyy-MM-dd"]
42 filterDates: { 43 filterDates: {
43 type: Array, 44 type: Array,
44 default () { 45 default() {
45 return [] // ["2019-11-26", "2019-11-28"] 46 return [] // ["2019-11-26", "2019-11-28"]
46 } 47 }
47 }, 48 },
...@@ -70,7 +71,7 @@ export default { ...@@ -70,7 +71,7 @@ export default {
70 }, 71 },
71 cusStyle: { 72 cusStyle: {
72 type: Object, 73 type: Object,
73 default () { 74 default() {
74 return {}; 75 return {};
75 } 76 }
76 }, 77 },
...@@ -79,6 +80,11 @@ export default { ...@@ -79,6 +80,11 @@ export default {
79 type: Function, 80 type: Function,
80 default: null 81 default: null
81 }, 82 },
83 // 打开或关闭插件
84 pluginActivity: {
85 type: Function,
86 default: null
87 }
82 }, 88 },
83 data() { 89 data() {
84 return { 90 return {
...@@ -176,7 +182,11 @@ export default { ...@@ -176,7 +182,11 @@ export default {
176 let date = index + 1; 182 let date = index + 1;
177 let buildDate = Date.parse(`${year}.${month}.${date}`); 183 let buildDate = Date.parse(`${year}.${month}.${date}`);
178 if (buildDate) { 184 if (buildDate) {
179 let nowDate = new Date(); 185 let now = new Date();
186 let y = now.getFullYear();
187 let m = now.getMonth() + 1;
188 let d = now.getDate();
189 let nowDate = Date.parse(`${y}.${m}.${d}`);
180 let day = buildDate.getDay(); 190 let day = buildDate.getDay();
181 let isWeekend = day == 0 || day == 6; 191 let isWeekend = day == 0 || day == 6;
182 let disable = false; // 判断是否不可选 192 let disable = false; // 判断是否不可选
...@@ -184,18 +194,17 @@ export default { ...@@ -184,18 +194,17 @@ export default {
184 disable = isWeekend; 194 disable = isWeekend;
185 } 195 }
186 if (!disable && this.filtModel.indexOf("future") >= 0) { 196 if (!disable && this.filtModel.indexOf("future") >= 0) {
187 buildDate.setHours(23, 59, 59, 999); 197 // buildDate.setHours(23, 59, 59, 999);
188 disable = buildDate.getTime() > nowDate.getTime() 198 disable = buildDate.getTime() > nowDate.getTime()
189 } 199 }
190 if (!disable && this.filtModel.indexOf("history") >= 0) {
191 buildDate.setHours(0, 0, 0, 0);
192 disable = buildDate.getTime() < nowDate.getTime()
193 }
194 if (!disable && this.filtModel.indexOf("today") >= 0) { 200 if (!disable && this.filtModel.indexOf("today") >= 0) {
195 buildDate.setHours(0, 0, 0, 0);
196 nowDate.setHours(0, 0, 0, 0); 201 nowDate.setHours(0, 0, 0, 0);
197 disable = buildDate.getTime() == nowDate.getTime(); 202 disable = buildDate.getTime() == nowDate.getTime();
198 } 203 }
204 if (!disable && this.filtModel.indexOf("history") >= 0) {
205 buildDate.setHours(23, 59, 59, 999);
206 disable = buildDate.getTime() < nowDate.getTime()
207 }
199 // disable = isWeekend && !this.weekend; // 判断周末不可选 208 // disable = isWeekend && !this.weekend; // 判断周末不可选
200 let filterDates = this.filterDates; 209 let filterDates = this.filterDates;
201 filterDates.forEach(element => { 210 filterDates.forEach(element => {
...@@ -277,7 +286,7 @@ export default { ...@@ -277,7 +286,7 @@ export default {
277 // this.dateValue = `${year}-${month}-${date}`; 286 // this.dateValue = `${year}-${month}-${date}`;
278 this.formatDateValue(year, month, date); 287 this.formatDateValue(year, month, date);
279 this.showCalendar(); 288 this.showCalendar();
280 if(this.datePickComplete){ 289 if (this.datePickComplete) {
281 this.datePickComplete(); 290 this.datePickComplete();
282 } 291 }
283 }, 292 },
...@@ -336,6 +345,14 @@ export default { ...@@ -336,6 +345,14 @@ export default {
336 let yearPage = Math.floor(year / 10); 345 let yearPage = Math.floor(year / 10);
337 this.yearPage = yearPage; 346 this.yearPage = yearPage;
338 this.refreshYearList(); 347 this.refreshYearList();
348
349 if (this.pluginActivity) {
350 let _this = this;
351 let type = boo ? "show" : "close";
352 setTimeout(function () {
353 _this.pluginActivity({ type: type });
354 }, 100);
355 }
339 }, 356 },
340 getMonthByIndex(index) { 357 getMonthByIndex(index) {
341 let monthList = this.getMonthList; 358 let monthList = this.getMonthList;
...@@ -460,7 +477,7 @@ export default { ...@@ -460,7 +477,7 @@ export default {
460 this.month = curDate.getMonth() + 1; 477 this.month = curDate.getMonth() + 1;
461 this.date = curDate.getDate(); 478 this.date = curDate.getDate();
462 isInit = true; 479 isInit = true;
463 } catch (error) {} 480 } catch (error) { }
464 } 481 }
465 if (!isInit) { 482 if (!isInit) {
466 let today = Date.today(); 483 let today = Date.today();
...@@ -495,7 +512,7 @@ export default { ...@@ -495,7 +512,7 @@ export default {
495 512
496 } 513 }
497 }, 514 },
498 mounted() {}, 515 mounted() { },
499 created() { 516 created() {
500 this.initData(); 517 this.initData();
501 }, 518 },
......
...@@ -148,13 +148,20 @@ export default { ...@@ -148,13 +148,20 @@ export default {
148 } 148 }
149 }); 149 });
150 }, 150 },
151 cacheData(){
152 let m = this.$refs["material"];
153 // console.log("cacheData");
154 if (m) {
155 m.cacheData();
156 }
157 },
151 logoutAction() { 158 logoutAction() {
152 this.sid = false; 159 this.sid = false;
153 this.hadQueryCustomerList = false; 160 this.hadQueryCustomerList = false;
154 this.customerList = []; 161 this.customerList = [];
155 this.step = 1; 162 this.step = 1;
156 163
157 let m = this.refs["material"]; 164 let m = this.$refs["material"];
158 if (m) { 165 if (m) {
159 m.clearCache(); 166 m.clearCache();
160 } 167 }
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
18 </div> 18 </div>
19 <div class="content clarms" v-else> 19 <div class="content clarms" v-else>
20 <div class="clarms-cont"> 20 <div class="clarms-cont">
21 <clarms-modal-one v-if="showModal1" @close="showModal1 = false" :type="modelType"></clarms-modal-one> 21 <clarms-modal-one v-if="showModal1" @close="showModal1 = false" :type="modelType" @toContact="cacheData"></clarms-modal-one>
22 <clarms-modal-two v-if="showModal2" @close="showModal2 = false"></clarms-modal-two> 22 <clarms-modal-two v-if="showModal2" @close="showModal2 = false"></clarms-modal-two>
23 <div class="mobile-margin"> 23 <div class="mobile-margin">
24 24
......
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
84 </div> 84 </div>
85 <div class="ipt-wrap" :class="{err:errorTips.e7.length>0}"> 85 <div class="ipt-wrap" :class="{err:errorTips.e7.length>0}">
86 <!-- <input class="ipt" type="date" v-model="data.contactDate" :class="{err : errorTips.e7.length > 0}"> --> 86 <!-- <input class="ipt" type="date" v-model="data.contactDate" :class="{err : errorTips.e7.length > 0}"> -->
87 <date-picker v-model="data.contactDate" :check="checkDate"></date-picker> 87 <date-picker v-model="data.contactDate" :check="checkDate" :filtModel="['history']"></date-picker>
88 </div> 88 </div>
89 <div class="validator" v-if="errorTips.e7.length > 0"> 89 <div class="validator" v-if="errorTips.e7.length > 0">
90 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e7}} 90 <img src="@/assets/images/common/icon-notice.png" alt="">{{errorTips.e7}}
......