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 | 212 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 131 insertions(+), 81 deletions(-) diff --git a/src/pages/reimbursement/index.vue b/src/pages/reimbursement/index.vue index ce75a5f..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" placeholder="璇峰~鍐欐憳瑕�" count - maxlength='200'></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!=="Wu"'> - <tem-upload-file immediate :url="`${apiBaseUrl}/api/UpFile/UpdateFile`" ref="uploadF" fileType='image' - @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" - @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 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' 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> @@ -109,8 +137,10 @@ planMoney: '', //閲戦 planContent: '', //鎽樿 houbufapiaoStatus: 'You', //鏈夋棤鍙戠エ - workPlanAttachments: [] //闄勪欢&鍙戠エ + workPlanAttachments: [], //闄勪欢&鍙戠エ + approvalStatus: 'Uncommitted' }, + formData: {} }) onLoad((options) => { let data = $db.get('userInfo').userCompany @@ -127,8 +157,14 @@ // }) // defaultIndex = [index] // }) + $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 +241,9 @@ 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, + oaWorkPlanShenpis: res.data.oaWorkPlanShenpis } state.publicJob.workPlanAttachments.forEach(item => { if (item.attachmentType == 1) { @@ -253,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 @@ -269,41 +307,47 @@ 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) { - 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.redirectTo({ - 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 { + state.publicJob.approvalStatus = oldStatus $util.showToast({ title: res.error }) @@ -340,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 //鍙戠エ @@ -351,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 //闄勪欢 @@ -360,8 +407,10 @@ }) 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); } else { uni.$u.toast(res.error) if (text == 'Invoice') { @@ -388,9 +437,10 @@ background-color: #fff; } - .u-textarea { + .up-textarea { padding: 0 !important; } + .u-form-item__body { padding: 5px 0 !important; } -- Gitblit v1.9.1