From aaa8b1b2fca572d6a989179d568991ce4bd48cfb Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期二, 04 三月 2025 17:30:32 +0800 Subject: [PATCH] - --- src/pages/reimbursement/index.vue | 156 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 97 insertions(+), 59 deletions(-) diff --git a/src/pages/reimbursement/index.vue b/src/pages/reimbursement/index.vue index ff5d259..ccbf3a4 100644 --- a/src/pages/reimbursement/index.vue +++ b/src/pages/reimbursement/index.vue @@ -2,61 +2,89 @@ <view class="full-page "> <view class="list"> <up-form labelPosition="left" :model="state.publicJob" ref="formRef" labelWidth='140rpx'> - <view class="content c-p-l-24 c-p-b-120"> - <up-form-item label="閮ㄩ棬" prop="departmentId" required :borderBottom='false' ref="item1"> - <up-input v-model="state.publicJob.departmentName" border="none" placeholder="璇风偣鍑婚�夋嫨閮ㄩ棬" - readonly></up-input> - </up-form-item> - <up-form-item label="濮撳悕" prop="name" required :borderBottom='false' ref="item1"> - <up-input v-model="state.publicJob.name" border="none" placeholder="璇峰~鍐欏鍚�" readonly></up-input> - </up-form-item> - <up-form-item label="閲戦" prop="planMoney" required :borderBottom='false' ref="item1"> - <up-input v-model="state.publicJob.planMoney" border="none" placeholder="璇峰~鍐欓噾棰�" - type="digit"></up-input> - </up-form-item> - <up-form-item label="绉戠洰" prop="rewardContent" required :borderBottom='false' ref="item1" - @click='openKemuPicker'> - <up-input v-model="state.publicJob.rewardContent" border="none" placeholder="璇风偣鍑婚�夋嫨绉戠洰" - 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" 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="鍚庤ˉ鍙戠エ" - 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=="You"'> - <tem-upload-file immediate :url="`${apiBaseUrl}/api/UpFile/UpdateFile`" ref="uploadF" - fileType='all' @success="success('Invoice',$event)" @error="errorInvoice" - @complete="completeInvoice('Invoice',$event)"> - </tem-upload-file> - </up-form-item> - <up-form-item label="涓婁紶闄勪欢" prop="idCardFace"> - <tem-upload-file immediate :url="`${apiBaseUrl}/api/UpFile/UpdateFile`" ref="uploadB" - fileType="all" @success="success('File',$event)" @error="errorInvoice" - @complete="completeInvoice('',$event)"> - </tem-upload-file> - </up-form-item> + <view class="c-p-b-134"> + <view class="content c-p-l-24 c-p-b-24"> + <up-form-item label="閮ㄩ棬" prop="departmentId" required :borderBottom='false' ref="item1"> + <up-input v-model="state.publicJob.departmentName" border="none" placeholder="璇风偣鍑婚�夋嫨閮ㄩ棬" + readonly></up-input> + </up-form-item> + <up-form-item label="濮撳悕" prop="name" required :borderBottom='false' ref="item1"> + <up-input v-model="state.publicJob.name" border="none" placeholder="璇峰~鍐欏鍚�" + readonly></up-input> + </up-form-item> + <up-form-item label="閲戦" prop="planMoney" required :borderBottom='false' ref="item1"> + <up-input v-model="state.publicJob.planMoney" border="none" placeholder="璇峰~鍐欓噾棰�" + type="digit"></up-input> + </up-form-item> + <up-form-item label="绉戠洰" prop="rewardContent" required :borderBottom='false' ref="item1" + @click='openKemuPicker'> + <up-input v-model="state.publicJob.rewardContent" border="none" placeholder="璇风偣鍑婚�夋嫨绉戠洰" + 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" 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="鍚庤ˉ鍙戠エ" + 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=="You"'> + <tem-upload-file immediate :url="`https://appimchat.oss-cn-chengdu.aliyuncs.com`" ref="uploadF" + :formData="state.formData" fileType='all' @success="success('Invoice',$event)" + @error="errorInvoice" @complete="completeInvoice('Invoice',$event)"> + </tem-upload-file> + </up-form-item> + <up-form-item label="涓婁紶闄勪欢" prop="idCardFace"> + <tem-upload-file immediate :url="`https://appimchat.oss-cn-chengdu.aliyuncs.com`" + ref="uploadB" fileType="all" @success="success('File',$event)" @error="errorInvoice" + @complete="completeInvoice('',$event)"> + </tem-upload-file> + </up-form-item> + <template v-if="state.publicJob.approvalStatus=='No'"> + <view v-for="(item,index) in state.publicJob.oaWorkPlanShenpis" :key="item.index" + class="chuany-flex c-p-t-20"> + <view class="chuany-flex chuany-width36"> + <up-text :text='item.approvalStaff.name'></up-text> + <up-text :type="item.approvalStatus=='Yes'?'success':'warning'" + :text="item.approvalStatus=='Yes'?'鎵瑰噯':'涓嶆壒鍑�'"></up-text> + </view> + <view class="chuany-width64"> + <up-text :text='item.approvalContent'></up-text> + </view> + </view> + <!-- <view class="c-p-t-20"> + <up-text :type="state.publicJob.approvalStatus=='Yes'?'success':'warning'" + :text="state.publicJob.approvalStatus=='Yes'?'鎵瑰噯':'涓嶆壒鍑�'"></up-text> + </view> --> + </template> + </view> </view> + </up-form> </view> + <view class="tabbtns"> <view class="chuany-flex"> <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> + <up-button color='#fece01' v-if="state.publicJob.approvalStatus=='No'" text="閲嶆柊鐢宠" :loading='isLoading' + :loadingText="'鐢宠涓�'" @click="saveOrder('unApproval',true)"></up-button> + <up-button color='#fece01' + v-if="state.publicJob.approvalStatus=='unApproval'||state.publicJob.approvalStatus=='Uncommitted'" + :text="state.publicJob.approvalStatus!=='Uncommitted'?'淇敼鎶ラ攢':'鎻愪氦鎶ラ攢'" :loading='isLoading' + :loadingText="state.publicJob.approvalStatus!=='Uncommitted'?'淇敼涓�':'鎻愪氦涓�'" + @click="saveOrder('unApproval')"></up-button> + </view> </view> @@ -110,8 +138,9 @@ planContent: '', //鎽樿 houbufapiaoStatus: 'You', //鏈夋棤鍙戠エ workPlanAttachments: [], //闄勪欢&鍙戠エ - approvalStatus:'Uncommitted' + approvalStatus: 'Uncommitted' }, + formData: {} }) onLoad((options) => { let data = $db.get('userInfo').userCompany @@ -128,6 +157,7 @@ // }) // defaultIndex = [index] // }) + $api.getKeMuList().then(res => { kemuList = [res.data] let obj = kemuList[0].find(item => { @@ -211,8 +241,9 @@ planMoney: String(res.data.planMoney), //閲戦 planContent: res.data.planContent, //鎽樿 houbufapiaoStatus: res.data.houbufapiaoStatus, //鏈夋棤鍙戠エ - workPlanAttachments: res.data.workPlanAttachments ,//闄勪欢&鍙戠エ - approvalStatus:res.data.approvalStatus + workPlanAttachments: res.data.workPlanAttachments, //闄勪欢&鍙戠エ + approvalStatus: res.data.approvalStatus, + oaWorkPlanShenpis: res.data.oaWorkPlanShenpis } state.publicJob.workPlanAttachments.forEach(item => { if (item.attachmentType == 1) { @@ -260,7 +291,7 @@ const checkboxChange = () => { } - const saveOrder = (val) => { + const saveOrder = (val, flag) => { if (state.publicJob.houbufapiaoStatus == "You") { let index = state.publicJob.workPlanAttachments.findIndex(item => { return item.attachmentType == 1 @@ -276,16 +307,18 @@ formRef.value.validate().then(res => { isLoading.value = true let functionOrder = null - if (planId.value) { + if (planId.value && !flag) { functionOrder = $api.EditOder } else { functionOrder = $api.CreatOder } + let oldStatus = state.publicJob.approvalStatus val ? state.publicJob.approvalStatus = val : '' functionOrder(state.publicJob).then(res => { if (res.code == 1) { $util.showToast({ - title: state.publicJob.approvalStatus=='Uncommitted' ? '淇濆瓨鎴愬姛锛�' : "鎻愪氦鎴愬姛锛�", + title: state.publicJob.approvalStatus == 'Uncommitted' ? '淇濆瓨鎴愬姛锛�' : + "鎻愪氦鎴愬姛锛�", icon: "success" }) // if (editItem) { @@ -301,7 +334,7 @@ planContent: '', //鎽樿 houbufapiaoStatus: 'You', //鏈夋棤鍙戠エ workPlanAttachments: [], //闄勪欢&鍙戠エ - approvalStatus:'Uncommitted', + approvalStatus: 'Uncommitted', } uploadB.value.urls = [] uploadB.value.status = [] @@ -312,8 +345,9 @@ // url: '/pages/reimbursement/myreim' // }) // } - + } else { + state.publicJob.approvalStatus = oldStatus $util.showToast({ title: res.error }) @@ -350,8 +384,10 @@ let obj = {} //e.res 涓烘湇鍔″櫒杩斿洖鏁版嵁 //涓婁紶鎴愬姛鍥炶皟锛屽鐞嗘湇鍔″櫒杩斿洖鏁版嵁銆愭澶勬牴鎹疄闄呰繑鍥炴暟鎹繘琛屽鐞嗐�� - let res = JSON.parse(e.res.data.replace(/\ufeff/g, "") || "{}") - if (res.code == 1) { + let res = e.res + console.log(res); + // let res = JSON.parse(e.res.data.replace(/\ufeff/g, "") || "{}") + if (res.statusCode == 200) { if (res.data && text == 'Invoice') { obj.attachmentType = 1 obj.planAttachment = res.data //鍙戠エ @@ -361,6 +397,7 @@ }) uploadF.value.status.push('success') uploadF.value.status.length = uploadF.value.urls.length + console.log(uploadF.value.status); } else { obj.attachmentType = 2 obj.planAttachment = res.data //闄勪欢 @@ -370,6 +407,7 @@ }) uploadB.value.status.push('success') uploadB.value.status.length = uploadB.value.urls.length + console.log(uploadB.value.status); } state.publicJob.workPlanAttachments.push(obj) console.log(state.publicJob.workPlanAttachments); @@ -399,7 +437,7 @@ background-color: #fff; } - .u-textarea { + .up-textarea { padding: 0 !important; } -- Gitblit v1.9.1