-
zhangwei
2025-01-23 e5a77d6a551d13e4cf74624b31b0fa3e328b304d
src/pages/reimbursement/index.vue
@@ -20,31 +20,31 @@
                     readonly></up-input>
               </up-form-item>
               <up-form-item label="摘要" prop="planContent" required :borderBottom='false' ref="item1">
                  <view class="c-p-b-20">
                     <up-textarea v-model="state.publicJob.planContent" border="none" placeholder="请填写摘要" count
                        maxlength='200'></up-textarea>
                  </view>
                  <!-- <view class="c-p-b-20"> -->
                  <up-textarea v-model="state.publicJob.planContent" border="none" height='35'
                     placeholder="请填写摘要"></up-textarea>
                  <!-- </view> -->
               </up-form-item>
               <up-form-item label="发票" prop="houbufapiaoStatus" required :borderBottom='false' ref="item1">
                  <u-radio-group v-model="state.publicJob.houbufapiaoStatus" placement="row"
                     @change="checkboxChange">
                     <u-radio :customStyle="{marginBottom: '8px',marginRight:'8px'}" label="有发票" name="You"
                        usedAlone />
                     <u-radio :customStyle="{marginBottom: '8px',marginRight:'8px'}" label="候补发票"
                     <u-radio :customStyle="{marginBottom: '8px',marginRight:'8px'}" label="后补发票"
                        name="HouBuFaPiao" usedAlone />
                     <u-radio :customStyle="{marginBottom: '8px'}" label="没发票" name="Wu" usedAlone />
                  </u-radio-group>
               </up-form-item>
               <up-form-item label="上传发票" prop="idCardFace" required
                  v-if='state.publicJob.houbufapiaoStatus!=="Wu"'>
                  <fui-upload immediate :url="`${apiBaseUrl}/api/UpFile/UpdateFile`" ref="uploadF"
                     @success="success('Invoice',$event)" @error="errorInvoice"
                  v-if='state.publicJob.houbufapiaoStatus=="You"'>
                  <tem-upload-file immediate :url="`${apiBaseUrl}/api/UpFile/UpdateFile`" ref="uploadF"
                     fileType='all' @success="success('Invoice',$event)" @error="errorInvoice"
                     @complete="completeInvoice('Invoice',$event)">
                  </fui-upload>
                  </tem-upload-file>
               </up-form-item>
               <up-form-item label="上传附件" prop="idCardFace">
                  <tem-upload-file immediate :url="`${apiBaseUrl}/api/UpFile/UpdateFile`" ref="uploadB"
                     @success="success('File',$event)" @error="errorInvoice"
                     fileType="all" @success="success('File',$event)" @error="errorInvoice"
                     @complete="completeInvoice('',$event)">
                  </tem-upload-file>
               </up-form-item>
@@ -53,10 +53,10 @@
      </view>
      <view class="tabbtns">
         <view class="chuany-flex">
            <up-button color='#fece01' class="text-69" :text="'继续报销'" :loading='isLoading' :loadingText="'提交中'"
               @click="saveOrder('continue')"></up-button>
            <up-button color='#fece01' class="text-69" :text="planId?'修改报销':'提交报销'" :loading='isLoading'
               :loadingText="planId?'修改中':'提交中'" @click="saveOrder"></up-button>
            <up-button type="primary" :text="'保存报销'" :loading='isLoading' :loadingText="'保存中'"
               @click="saveOrder('Uncommitted')" v-if='state.publicJob.approvalStatus=="Uncommitted"'></up-button>
            <up-button color='#fece01' :text="state.publicJob.approvalStatus!=='Uncommitted'?'修改报销':'提交报销'" :loading='isLoading'
               :loadingText="state.publicJob.approvalStatus!=='Uncommitted'?'修改中':'提交中'" @click="saveOrder('unApproval')"></up-button>
         </view>
      </view>
@@ -97,7 +97,7 @@
   const store = useStore()
   let departList = ref()
   let kemuList = ref()
   let defaultIndex = ref([6])
   let defaultIndex = ref([0])
   let planId = ref('')
   let state = reactive({
      publicJob: {
@@ -109,7 +109,8 @@
         planMoney: '', //金额
         planContent: '', //摘要
         houbufapiaoStatus: 'You', //有无发票
         workPlanAttachments: [] //附件&发票
         workPlanAttachments: [], //附件&发票
         approvalStatus:'Uncommitted'
      },
   })
   onLoad((options) => {
@@ -129,6 +130,11 @@
      // })
      $api.getKeMuList().then(res => {
         kemuList = [res.data]
         let obj = kemuList[0].find(item => {
            return item.subjectName == '差旅费'
         })
         state.publicJob.rewardResult = String(obj.keyid)
         state.publicJob.rewardContent = obj.subjectName
         dataPlan(planId.value)
      })
   })
@@ -205,7 +211,8 @@
               planMoney: String(res.data.planMoney), //金额
               planContent: res.data.planContent, //摘要
               houbufapiaoStatus: res.data.houbufapiaoStatus, //有无发票
               workPlanAttachments: res.data.workPlanAttachments //附件&发票
               workPlanAttachments: res.data.workPlanAttachments ,//附件&发票
               approvalStatus:res.data.approvalStatus
            }
            state.publicJob.workPlanAttachments.forEach(item => {
               if (item.attachmentType == 1) {
@@ -274,35 +281,38 @@
         } else {
            functionOrder = $api.CreatOder
         }
         val ? state.publicJob.approvalStatus = val : ''
         functionOrder(state.publicJob).then(res => {
            if (res.code == 1) {
               if (editItem) {
                  uni.navigateBack()
               } else if (val == 'continue') {
                  state.publicJob = {
                     departmentId: $db.get('userInfo').oaPermissions.departId, //部门Id
                     departmentName: $db.get('userInfo').oaPermissions.departmentName,
                     name: $db.get('userInfo').oaPermissions.name, //姓名
                     rewardResult: '', //科目id
                     rewardContent: '', //科目名称
                     planMoney: '', //金额
                     planContent: '', //摘要
                     houbufapiaoStatus: 'You', //有无发票
                     workPlanAttachments: [], //附件&发票
                  }
                  uploadB.value.urls = []
                  uploadB.value.status = []
                  uploadF.value.urls = []
                  uploadF.value.status = []
               } else {
                  uni.navigateTo({
                     url: '/pages/reimbursement/myreim'
                  })
               }
               $util.showToast({
                  title: editItem ? '修改成功!' : "保存成功!",
                  title: state.publicJob.approvalStatus=='Uncommitted' ? '保存成功!' : "提交成功!",
                  icon: "success"
               })
               // if (editItem) {
               //    uni.navigateBack()
               // } else if (val == 'continue') {
               state.publicJob = {
                  departmentId: $db.get('userInfo').oaPermissions.departId, //部门Id
                  departmentName: $db.get('userInfo').oaPermissions.departmentName,
                  name: $db.get('userInfo').oaPermissions.name, //姓名
                  rewardResult: '', //科目id
                  rewardContent: '', //科目名称
                  planMoney: '', //金额
                  planContent: '', //摘要
                  houbufapiaoStatus: 'You', //有无发票
                  workPlanAttachments: [], //附件&发票
                  approvalStatus:'Uncommitted',
               }
               uploadB.value.urls = []
               uploadB.value.status = []
               uploadF.value.urls = []
               uploadF.value.status = []
               // } else {
               //    uni.redirectTo({
               //       url: '/pages/reimbursement/myreim'
               //    })
               // }
            } else {
               $util.showToast({
                  title: res.error
@@ -362,6 +372,7 @@
            uploadB.value.status.length = uploadB.value.urls.length
         }
         state.publicJob.workPlanAttachments.push(obj)
         console.log(state.publicJob.workPlanAttachments);
      } else {
         uni.$u.toast(res.error)
         if (text == 'Invoice') {
@@ -391,4 +402,8 @@
   .u-textarea {
      padding: 0 !important;
   }
   .u-form-item__body {
      padding: 5px 0 !important;
   }
</style>