From e5a77d6a551d13e4cf74624b31b0fa3e328b304d Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期四, 23 一月 2025 17:23:39 +0800 Subject: [PATCH] - --- src/pages/reimbursement/approve.vue | 111 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 92 insertions(+), 19 deletions(-) diff --git a/src/pages/reimbursement/approve.vue b/src/pages/reimbursement/approve.vue index 9533509..96739f8 100644 --- a/src/pages/reimbursement/approve.vue +++ b/src/pages/reimbursement/approve.vue @@ -22,48 +22,67 @@ <up-input v-model="state.publicJob.planMoney" border="none" placeholder="璇峰~鍐欓噾棰�" type="digit"></up-input> </up-form-item> - <up-form-item label="绉戠洰" prop="rewardContent" :borderBottom='false' ref="item1"> + <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" :borderBottom='false' ref="item1"> - <view class="c-p-b-20"> - <up-textarea v-model="state.publicJob.planContent" border="none" readonly - placeholder="璇峰~鍐欐憳瑕�"></up-textarea> - </view> + <!-- <view class="c-p-b-20"> --> + <up-textarea v-model="state.publicJob.planContent" border="none" autoHeight + placeholder="璇峰~鍐欐憳瑕�"></up-textarea> + <!-- </view> --> + </up-form-item> + <up-form-item label="瀹℃壒鍐呭" prop="approvalContent" :borderBottom='false' ref="item1"> + <!-- <view class="c-p-b-20"> --> + <up-textarea v-model="state.publicJob.approvalContent" border="none" autoHeight + placeholder="璇峰~鍐欏鎵瑰唴瀹�"></up-textarea> + <!-- </view> --> </up-form-item> <up-form-item label="鍙戠エ" prop="idCardFace" v-if='state.publicJob.houbufapiaoStatus!=="Wu"'> - <view class="" v-if="state.invoice&&state.invoice.length>0"> - <image class="fui-upload__img" v-for="(item,index) in state.invoice" - :style="{width:200+'rpx',height:200+'rpx'}" :key="item.keyid" :src="item" - mode="aspectFill" @tap.stop="previewImage(index,'invoice')"></image> + <view class="fui-upload__wrap" v-if="state.invoice&&state.invoice.length>0"> + <view class="fui-upload__item" v-for="(item,index) in state.invoice" :key="item.keyid"> + <u-tag :text="item.match(/\/([^\/]*)$/)[1]" size="mini" + @click="$util.previewWechat(item)" v-if="$util.checkFileExtensions(item)"></u-tag> + <image class="fui-upload__img" :style="{width:200+'rpx',height:200+'rpx'}" v-else + :src="item" mode="aspectFill" @tap.stop="previewImage(index,'invoice')"></image> + </view> </view> <view class="" v-else> - 鏈笂浼犲彂绁� + {{state.publicJob.houbufapiaoStatus=="Wu"?'鏃犲彂绁�':null}} </view> </up-form-item> <up-form-item label="闄勪欢" prop="idCardFace"> - <view class="" v-if="state.file&&state.file.length>0"> - <image class="fui-upload__img" v-for="(item,index) in state.file" - :style="{width:200+'rpx',height:200+'rpx'}" :key="item.keyid" :src="item" - mode="aspectFill" @tap.stop="previewImage(index)"></image> + <view class="fui-upload__wrap" v-if="state.file&&state.file.length>0"> + <view class="fui-upload__item" v-for="(item,index) in state.file" :key="item.keyid"> + <u-tag :text="item.match(/\/([^\/]*)$/)[1]" size="mini" + @click="$util.previewWechat(item)" v-if="$util.checkFileExtensions(item)"></u-tag> + <image class="fui-upload__img" v-else :style="{width:200+'rpx',height:200+'rpx'}" + :src="item" mode="aspectFill" @tap.stop="previewImage(index)"></image> + </view> </view> <view class="" v-else> 鏈笂浼犻檮浠� </view> </up-form-item> + <template v-if="state.publicJob.approvalStatus !== 'unApproval'"> + <u--text :type="state.publicJob.approvalStatus=='Yes'?'success':'warning'" + :text="state.publicJob.approvalStatus=='Yes'?'鎵瑰噯':'涓嶆壒鍑�'"></u--text> + </template> </view> </up-form> </view> - <view class="tabbtns"> + <view class="tabbtns" v-if="state.publicJob.approvalStatus == 'unApproval'"> <view class="chuany-flex"> - <up-button type='success' class="text-69" :text="'鎵瑰噯'" :loading='isLoading' :loadingText="'鎵瑰噯涓�'" + <up-button type='success' :text="'鎵瑰噯'" :loading='isLoading' :loadingText="'鎵瑰噯涓�'" @click="saveOrder('Yes')"></up-button> - <up-button color='#fece01' class="text-69" :text="'涓嶆壒鍑�'" :loading='isLoading' :loadingText="'鎻愪氦涓�'" + <up-button color='#fece01' :text="'涓嶆壒鍑�'" :loading='isLoading' :loadingText="'鎻愪氦涓�'" @click="saveOrder('No')"></up-button> </view> </view> + <u-picker :show="kemuPicker" :columns="kemuList" keyName="subjectName" @cancel='openKemuPicker' + :defaultIndex='defaultIndex' @confirm='confirmKemuPicker'></u-picker> </view> </template> @@ -110,11 +129,17 @@ invoice: [], file: [] }) + let defaultIndex = ref([0]) + let kemuList = ref() + let kemuPicker = ref(false) onLoad((options) => { let data = $db.get('userInfo').userCompany role.value = options.role detailId.value = options.detailId - getRolePlaneList() + $api.getKeMuList().then(res => { + kemuList = [res.data] + getRolePlaneList() + }) }) const formRef = ref(null); @@ -151,6 +176,10 @@ getList(detailId.value).then(res => { state.publicJob = res.data state.publicJob.planStartTime = $util.formatDate(state.publicJob.planStartTime) + let index = kemuList[0].findIndex(item => { + return item.keyid == state.publicJob.rewardResult + }) + defaultIndex = [index] state.publicJob.workPlanAttachments.forEach(item => { if (item.attachmentType == 1) { state.invoice.push(item.planAttachment) @@ -159,6 +188,15 @@ } }) }) + } + const confirmKemuPicker = (arr) => { + console.log('----', arr); + state.publicJob.rewardResult = String(arr.value[0].keyid) + state.publicJob.rewardContent = arr.value[0].subjectName + openKemuPicker() + } + const openKemuPicker = () => { + kemuPicker.value = !kemuPicker.value } const saveOrder = (approvalStatus) => { isLoading.value = true @@ -170,7 +208,11 @@ } let obj = { oA_WorkPlanId: state.publicJob.keyid, - approvalStatus + approvalStatus, + rewardResult:state.publicJob.rewardResult, + planContent:state.publicJob.planContent, + planMoney:state.publicJob.planMoney, + approvalContent:state.publicJob.approvalContent } functionOrder(obj).then(res => { if (res.code == 1) { @@ -206,4 +248,35 @@ .u-textarea { padding: 0 !important; } + + .u-form-item__body { + padding: 5px 0 !important; + } + + .fui-upload__wrap { + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + flex-direction: row; + flex-wrap: wrap; + } + + .fui-upload__item { + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + align-items: center; + justify-content: center; + /* margin-right: 20rpx; */ + margin: 10rpx 10rpx 10rpx 0; + /* margin-bottom: 20rpx; */ + /* #ifdef H5 */ + cursor: pointer; + /* #endif */ + position: relative; + + /* #ifndef APP-NVUE */ + box-sizing: border-box; + /* #endif */ + } </style> \ No newline at end of file -- Gitblit v1.9.1