Browse Source

非公出协单问题修改

dev01 1 week ago
parent
commit
ac8246ba9e

+ 3 - 3
src/pages/applyDepart/publicContent.jsx

@@ -193,6 +193,7 @@ class PublicContent extends Component {
         remarks: this.state.reason,
         plan: this.state.plan,
         expectedEffect: this.state.expectedEffect,
+        duration: 0,
       }
     } else {
       datas = {
@@ -530,7 +531,6 @@ class PublicContent extends Component {
   render() {
     const { cList, coorderList, popup } = this.state
     const info = Taro.getStorageSync("userInfor");
-    console.log(this.props.enterpriseInfor.type)
     return (
       <View className="publicContent">
         <View className="formItem">
@@ -598,8 +598,8 @@ class PublicContent extends Component {
                   endDate: true,
                   column: this.props.enterpriseInfor.type == 5 ? "day" : 'minute',
                   dateLimit: false,
-                  // initStartTime: "2019-01-01 12:32:44", //默认开始时间
-                  // initEndTime: "2019-12-01 12:32:44",   //默认结束时间
+                  initStartTime: this.state.rangeStartMinuteVal, //默认开始时间
+                  initEndTime: this.state.rangeEndMinuteVal,   //默认结束时间
                   limitStartTime: dayjs()
                     .subtract(3, "year")
                     .format("YYYY-MM-DD HH:mm:ss"),

+ 1 - 1
src/pages/egressDetails/index.jsx

@@ -756,7 +756,7 @@ class EgressDetails extends Component {
                   <View className="title">协单内容</View>
                   <View className="value">{this.state.assistContentTypeName}</View>
                 </View>
-                { dtails.assistContentType.indexOf('0') > -1 && (
+                { (dtails.assistContentType || '').indexOf('0') > -1 && (
                   <View className="item">
                     <View className="title">内容说明</View>
                     <View className="value">{dtails.assistContent}</View>

+ 37 - 24
src/pages/egressDetails/publicContent.jsx

@@ -127,7 +127,7 @@ class PublicContent extends Component {
       let rangeEndMinuteVal = dayjs(this.props.dtails.releaseEnds).format("YYYY-MM-DD HH:mm:ss")
       let assistTypeName = ''
       let assistContentTypeName = ''
-      if (this.props.dtails.type == 5) {
+      if ([5, 6].indexOf(this.props.dtails.type) > -1) {
         rangeStartMinuteVal = dayjs(this.props.dtails.releaseStarts).format("YYYY-MM-DD")
         rangeEndMinuteVal = dayjs(this.props.dtails.releaseEnds).format("YYYY-MM-DD")
 
@@ -333,10 +333,11 @@ class PublicContent extends Component {
       datas = { ...datas, ...{ reason: this.props.reason, objectType, } };
     }
 
-    if(this.props.dtails.type == 5) {
+    if([5, 6].indexOf(this.props.dtails.type) > -1) {
       datas.assistType = this.state.assistType
       datas.assistContentType = this.state.assistContentType
       datas.assistContent = this.state.assistContent
+      datas.duration = 0
     }
   
     for (let key in datas) {
@@ -527,10 +528,22 @@ class PublicContent extends Component {
 
   onSetPickerTime(val) {
     let data = val.detail;
-    this.setState({
-      rangeStartMinuteVal: data.selectStartTime,
-      rangeEndMinuteVal: data.selectEndTime,
-    });
+    
+    if([5, 6].indexOf(this.props.dtails.type) > -1) {
+      data.selectStartTime = dayjs(data.selectStartTime).format('YYYY-MM-DD 08:30:00')
+      data.selectEndTime = dayjs(data.selectEndTime).format('YYYY-MM-DD 17:30:00')
+      data.startTime = dayjs(data.startTime).format('YYYY-MM-DD 08:30:00')
+      data.endTime = dayjs(data.endTime).format('YYYY-MM-DD 17:30:00')
+    }
+
+    let rangeStartMinuteVal = data.selectStartTime;
+    let rangeEndMinuteVal = data.selectEndTime;
+
+    if ([5, 6].indexOf(this.props.dtails.type) > -1) {
+      rangeStartMinuteVal = dayjs(data.selectStartTime).format('YYYY-MM-DD');
+      rangeEndMinuteVal = dayjs(data.selectEndTime).format('YYYY-MM-DD');
+    }
+    this.setState({ rangeStartMinuteVal, rangeEndMinuteVal });
 
     let arr = [];
     if (data.startTime && data.endTime) {
@@ -845,29 +858,29 @@ class PublicContent extends Component {
               isPartition
               pickerShow={this.state.isPickerRender}
               onconditionaljudgment={(v) => {
-                const { startTime, endTime, setLv } = v.detail
-                let startTimeD =  dayjs(dayjs(startTime).second(0).format("YYYY-MM-DD HH:mm:ss"))
-                let endTimeD = dayjs(dayjs(endTime).second(0).format("YYYY-MM-DD HH:mm:ss"))
-                let currTimeD = dayjs(dayjs().second(0).format("YYYY-MM-DD HH:mm:ss"))
+                let formatTemp = [5, 6].indexOf(dtails.type) > -1 ? "YYYY-MM-DD" : "YYYY-MM-DD HH:mm:ss"
+                let selTimeStr = dayjs(v.detail.startTime).second(0).format(formatTemp)
+                let selEndTimeStr = dayjs(v.detail.endTime).second(0).format(formatTemp)
+                
+                let startTimeD = dayjs([5, 6].indexOf(dtails.type) > -1 ? `${selTimeStr} 00:00:00` : selTimeStr);
+                let endTimeD = dayjs([5, 6].indexOf(dtails.type) > -1 ? `${selEndTimeStr} 23:59:59` : selEndTimeStr);
 
-                console.log(dayjs(startTime).format("YYYY-MM-DD HH:mm:ss"))
-                if (dayjs(startTime).format("YYYY-MM-DD HH:mm:ss") != this.state.rangeStartMinuteVal) {
-                  // 如果修改了开始时间,则需要判断开始时间不能小于当前时间
-                  if (startTimeD.isBefore(currTimeD)) {
-                    Taro.showToast({
-                      title: "开始时间不能小于当前时间",
-                      icon: "none",
-                    });
-                    setLv(false);
-                  } 
-                }
+                let now = dayjs()
+                let currTime = [5, 6].indexOf(dtails.type) > -1 ? now.subtract(1, 'day').set('hour', 23).set('minute', 59).set('second', 59) : dayjs().second(0)
 
-                if (endTimeD.isBefore(startTimeD)) {
+                let currTimeD = dayjs(currTime.format("YYYY-MM-DD HH:mm:ss"));
+                if (!startTimeD.isAfter(currTimeD)) {
+                  Taro.showToast({
+                    title: "开始时间不能小于当前时间",
+                    icon: "none",
+                  });
+                  v.detail.setLv(false);
+                } else if (!endTimeD.isAfter(startTimeD)) {
                   Taro.showToast({
                     title: "结束时间不能小于开始时间",
                     icon: "none",
                   });
-                  setLv(false);
+                  v.detail.setLv(false);
                 }
 
               }}
@@ -1063,7 +1076,7 @@ class PublicContent extends Component {
                 <AtIcon value="chevron-right" size="30" color="#bbbbbb" />
               </View>
             </View>
-            { this.state.assistContentType.indexOf('0') > -1 ? (
+            { (this.state.assistContentType || '').indexOf('0') > -1 ? (
               <View className="formItem">
                 <View className="formName">内容说明:</View>
                 <View

+ 1 - 1
src/pages/punchClock/punchClocks.jsx

@@ -262,7 +262,7 @@ class PunchClocks extends Component {
       Taro.showToast({ title: '定位错误,请联系管理员', icon: 'none' })
       return;
     }
-    if (dayjs().isBefore(dtails.releaseStarts) || dayjs().isAfter(dtails.releaseEnds)) {
+    if ([5, 6].indexOf(dtails.type) === -1 && dayjs().isBefore(dtails.releaseStarts) || dayjs().isAfter(dtails.releaseEnds)) {
       Taro.hideLoading()
       Taro.showToast({ title: '当前时间不在打卡时间范围内,无法打卡', icon: 'none' })
       return;