-
zhangwei
2025-03-04 aaa8b1b2fca572d6a989179d568991ce4bd48cfb
src/pages/reimbursement/examine.vue
@@ -4,52 +4,125 @@
         <up-sticky bgColor="#fff">
            <view class="coreshop-ff content c-p-10">
               <up-search placeholder="请点击选择日期" @clear='clear' @click='clickTime' disabled @custom='init'
                  v-model="workTime" search-icon="calendar" @search='init'></up-search>
                  v-model="workTime" search-icon="calendar" @search='init' :show-action="false"></up-search>
            </view>
            <!-- <view class="coreshop-ff content c-p-10">
               <up-search placeholder="请输入工人名字" v-model="workerUserName" @custom='init' @clear='init'
                  @search='init'></up-search> -->
            <!-- <up-search placeholder="请点击选择打卡日期" @click='clickIcon' @clear='PostMyComDakaListPage' disabled
            <view class="coreshop-ff content c-p-10 chuany-flex chuany-justify-between"
               v-if="role !== 'zhuGuan'&&approvalStatus=='unApproval'">
               <view class="chuany-width75">
                  <up-search placeholder="请输入工人名字" v-model="workerUserName" @custom='init' @clear='init'
                     @search='init'></up-search>
               </view>
               <!-- <up-search placeholder="请点击选择打卡日期" @click='clickIcon' @clear='PostMyComDakaListPage' disabled
                  v-model="wordDate" search-icon="calendar" @search='PostMyComDakaListPage'
                  @custom='PostMyComDakaListPage'></up-search> -->
            <!-- </view> -->
               <up-text align="center" type='success' text='批准' size='14' @click="arrange('Yes')"></up-text>
               <up-text align="center" type="error" text='不批准' size='14' @click="arrange('No')"></up-text>
            </view>
            <view class="coreshop-ff content c-p-10 chuany-flex chuany-justify-between" v-else>
               <up-search placeholder="请输入工人名字" v-model="workerUserName" @custom='init' @clear='init'
                  @search='init'></up-search>
               <!-- <up-search placeholder="请点击选择打卡日期" @click='clickIcon' @clear='PostMyComDakaListPage' disabled
                  v-model="wordDate" search-icon="calendar" @search='PostMyComDakaListPage'
                  @custom='PostMyComDakaListPage'></up-search> -->
            </view>
            <!-- <up-subsection :list="list" :current="current4" activeColor="#f9ae3d"
               @change="sectionChange"></up-subsection> -->
            <up-subsection :list="list" current='1' activeColor="#f9ae3d" @change="sectionChange"></up-subsection>
         </up-sticky>
         <view class="full-page-content c-p-b-100">
            <view class="c-p-l-20 c-p-r-20" v-if="listO.orderList&&listO.orderList.length>0">
               <view class="listrecord c-p-t-20" v-for="(item,index) in listO.orderList" :key="item.id"
               <u-checkbox-group v-model="checkboxValue1" placement="column" @change="checkboxChange"
                  v-if='role !== "zhuGuan"&&approvalStatus=="unApproval"'>
                  <view class="listrecord c-p-t-20" v-for="(item,index) in listO.orderList" :key="item.keyid"
                     @click="pageToDetail(item)">
                     <view class="coreshop-ff chuany-bradius20 chuany-flex">
                        <view class="c-p-14">
                           <u-checkbox :name="item.keyid" v-if='role !== "zhuGuan"'>
                           </u-checkbox>
                        </view>
                        <view class="chuany-width100">
                           <view class="c-p-t-20 c-p-b-20 c-p-r-20 chuany-font28">
                              <view class="chuany-flex chuany-justify-between">
                                 <text class="chuany-width6">{{index+1}}</text>
                                 <view class="chuany-width30">
                                    {{item.planPeople}}
                                 </view>
                                 <view class="chuany-width50">
                                    {{item.depart.name}}
                                 </view>
                                 <view class="chuany-width24">
                                    <up-text align="right" size='14'
                                       :type="item.approvalStatus=='unApproval'?'primary':item.approvalStatus=='Yes'?'success':'warning'"
                                       :text="item.approvalStatus=='unApproval'?'未审批':item.approvalStatus=='Yes'?'批准':'不批准'">
                                    </up-text>
                                 </view>
                              </view>
                              <view class="text-69 chuany-flex chuany-justify-between">
                                 <!-- <view class="c-p-t-8 chuany-width24">
                                    费用报销
                                 </view> -->
                                 <text class="chuany-width6" style="color: white;">{{index+1}}</text>
                                 <view class="c-p-t-8 chuany-width30">
                                    {{$util.formatDate(item.planStartTime)}}
                                 </view>
                                 <view class="c-p-t-6 chuany-width50">
                                    <up-text color="#696969" :lines="1" :text="item.planContent"></up-text>
                                 </view>
                                 <view class="c-p-t-8 chuany-width24 chuany-text-right">
                                    {{item.planMoney}} 元
                                 </view>
                              </view>
                              <!-- <view class="c-p-t-8">
                                 <up-text :lines="1" :text="item.planContent"></up-text>
                              </view> -->
                           </view>
                        </view>
                     </view>
                  </view>
               </u-checkbox-group>
               <view v-else class="listrecord c-p-t-20" v-for="(item,index) in listO.orderList" :key="item.keyid"
                  @click="pageToDetail(item)">
                  <view class="coreshop-ff chuany-bradius20">
                     <view class="c-p-20 chuany-font28">
                        <view class="chuany-flex chuany-justify-between">
                           <view class="chuany-font32 chuany-width24">
                              {{item.planPeople}}
                  <view class="coreshop-ff chuany-bradius20 chuany-flex chuany-align-center">
                     <view class=" c-p-l-10">
                     </view>
                     <view class="chuany-width100">
                        <view class="c-p-t-20 c-p-b-20 c-p-r-20 chuany-font28">
                           <view class="chuany-flex chuany-justify-between">
                              <text class="chuany-width6">{{index+1}}</text>
                              <view class="chuany-width26">
                                 {{item.planPeople}}
                              </view>
                              <view class="chuany-width50">
                                 {{item.depart.name}}
                              </view>
                              <view class="chuany-width24">
                                 <up-text align="right" size='14'
                                    :type="item.approvalStatus=='unApproval'?'primary':item.approvalStatus=='Yes'?'success':'warning'"
                                    :text="item.approvalStatus=='unApproval'?'未审批':item.approvalStatus=='Yes'?'批准':'不批准'">
                                 </up-text>
                              </view>
                           </view>
                           <view class="chuany-width50">
                              {{item.depart.name}}
                           <view class="text-69 chuany-flex chuany-justify-between">
                              <!-- <view class="c-p-t-8 chuany-width24">
                                 费用报销
                              </view> -->
                              <text class="chuany-width6" style="color: white;">{{index+1}}</text>
                              <view class="c-p-t-8 chuany-width26">
                                 {{$util.formatDate(item.planStartTime)}}
                              </view>
                              <view class="c-p-t-6 chuany-width50">
                                 <up-text color="#696969" :lines="1" :text="item.planContent"></up-text>
                              </view>
                              <view class="c-p-t-8 chuany-width24 chuany-text-right">
                                 {{item.planMoney}} 元
                              </view>
                           </view>
                           <view class="chuany-width24">
                              <u-text align="right" size='14'
                                 :type="item.approvalStatus=='unApproval'?'primary':item.approvalStatus=='Yes'?'success':'warning'"
                                 :text="item.approvalStatus=='unApproval'?'未批复':item.approvalStatus=='Yes'?'批准':'不批准'">
                              </u-text>
                           </view>
                        </view>
                        <view class="text-69 chuany-flex chuany-justify-between">
                           <view class="c-p-t-8 chuany-width24">
                              费用报销
                           </view>
                           <view class="c-p-t-8 chuany-width50">
                              {{$util.formatDate(item.planStartTime)}}
                           </view>
                           <view class="c-p-t-8 chuany-width24 chuany-text-right">
                              {{item.planMoney}} 元
                           </view>
                        </view>
                        <view class="c-p-t-8">
                           摘要:{{item.planContent}}
                        </view>
                     </view>
                  </view>
@@ -94,7 +167,7 @@
      pageIndex: 1,
      pageSize: 20,
   })
   const list = ['全部', '未批复', '不批准', '批准']
   const list = ['全部', '未审批', '不批准', '批准']
   let workTime = ref('')
   let datePickerShow = ref(false)
   let loadStatus = ref('loadmore')
@@ -103,6 +176,8 @@
   let listO = reactive({
      orderList: []
   })
   let checkboxValue1 = ref(null)
   let idValue = ref(null)
   let role = ref()
   let approvalStatus = ref('unApproval')
   let heji = ref(0)
@@ -201,6 +276,9 @@
      if (state.planStartTimeEnd) {
         data.planStartTimeEnd = state.planStartTimeEnd
      }
      if (workerUserName.value) {
         data.staffName = workerUserName.value
      }
      loadStatus.value = 'loading';
      let getList = null
      if (role.value == 'zhuGuan') {
@@ -233,11 +311,10 @@
      })
   }
   const pageToDetail = (item) => {
      if (item.approvalStatus == 'unApproval') {
         uni.navigateTo({
            url: `/pages/reimbursement/approve?role=${role.value}&detailId=${item.keyid}`
         });
      }
      uni.navigateTo({
         url: `/pages/reimbursement/approve?role=${role.value}&detailId=${item.keyid}`
      });
      // if (state.planStartTimeStart) {
      //    data.planStartTimeStart = state.planStartTimeStart
      // }
@@ -247,6 +324,55 @@
      // $db.set('detailItem',JSON.stringify(item))
   }
   const arrange = (val) => {
      if (!idValue.value || idValue.value.length < 1) {
         $util.showToast({
            title: '至少选择一项!'
         })
         return
      }
      uni.showModal({
         title: val == 'Yes' ? '确认批准所选内容?' : '确认不批准所选内容?',
         content: '',
         editable: true,
         placeholderText: '请输入审批意见',
         success: function(res) {
            if (res.confirm) {
               console.log('确认', res)
               //执行
               // start()
               let obj = {
                  oA_WorkPlanIds: idValue.value,
                  approvalStatus: val,
                  approvalContent: res.content
               }
               $api.BatchShenPi(obj).then(resp => {
                  if (resp.code == 1) {
                     $util.showToast({
                        title: val == 'Yes' ? '批准成功!' : "不批准成功!",
                        icon: "success"
                     })
                     idValue.value = []
                     checkboxValue1.value = []
                     init()
                  } else {
                     $util.showToast({
                        title: resp.error
                     })
                  }
               })
            } else if (res.cancel) {
               console.log('取消');
            }
         }
      });
      // uni.navigateTo({
      //    url: '/pages/delivery/driver/arrangedetail'
      // });
   }
   const checkboxChange = (val) => {
      idValue.value = val
   }
</script>
<style>