152 lines
5.0 KiB
Vue
152 lines
5.0 KiB
Vue
<!-- 档案借阅 -->
|
|
<template>
|
|
<view class="form-page">
|
|
<scroll-view scroll-y class="form-scroll">
|
|
<uni-forms v-model="form" label-width="170upx">
|
|
<view class="form-card" v-if="form.ticket_">
|
|
<ticketd :ticket_="form.ticket_"></ticketd>
|
|
</view>
|
|
<view class="form-card">
|
|
<view class="form-card-title">档案借阅</view>
|
|
<uni-forms-item label="档案名称" required>
|
|
<uni-data-select
|
|
v-if="mode!='show'"
|
|
multiple
|
|
v-model="form.borrow_file"
|
|
:localdata="fileList"
|
|
:disabled="mode=='show'"
|
|
@change="mdateChange"
|
|
></uni-data-select>
|
|
<span v-else>
|
|
<text v-for="(item,index) in form.file_name">{{item}}
|
|
<span v-if="index<(form.file_name.length-1)">、</span>
|
|
</text>
|
|
</span>
|
|
</uni-forms-item>
|
|
<uni-forms-item label="申请人电话">
|
|
<uni-easyinput v-model="form.contacts" v-if="mode!='show'"/>
|
|
<span v-else>{{form.contacts}}</span>
|
|
</uni-forms-item>
|
|
<uni-forms-item label="借阅时间" required>
|
|
<uni-datetime-picker type="date" v-if="mode!='show'" :clear-icon="false" v-model="form.borrow_date"/>
|
|
<span v-else>{{form.borrow_date}}</span>
|
|
</uni-forms-item>
|
|
<uni-forms-item label="借阅数量" required>
|
|
<uni-number-box v-model="form.count" v-if="mode!='show'"></uni-number-box>
|
|
<span v-else>{{form.count}}</span>
|
|
</uni-forms-item>
|
|
<uni-forms-item label="用途">
|
|
<uni-data-checkbox multiple v-model="form.remark" :localdata="hobby" :disabled="mode=='show'"></uni-data-checkbox>
|
|
</uni-forms-item>
|
|
<uni-forms-item label="归还时间" required v-if="form.ticket_?.state_">
|
|
<uni-datetime-picker type="date" v-if="form.ticket_?.state_?.name=='档案管理员审批'" :clear-icon="false" v-model="ticket_data.return_date"/>
|
|
<span v-else>{{form.ticket_.ticket_data.return_date}}</span>
|
|
</uni-forms-item>
|
|
</view>
|
|
</uni-forms>
|
|
</scroll-view>
|
|
<view class="footer_fixed">
|
|
<ticketd_b :workflow_key="'wf_borrowrecord'" title="档案借阅" :t_id="form.id" :ticket_="form.ticket_" :ticket_data="ticket_data"
|
|
@success="submitSuccess" :submit_b_func="submit_b_func" ref="ticketd_b_start"></ticketd_b>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import ticketd_b from "../wf/ticketd_b.vue"
|
|
import ticketd from "../wf/ticketd.vue"
|
|
import {actStateEnum} from "@/utils/enum.js"
|
|
export default {
|
|
components: { ticketd_b, ticketd },
|
|
data(){
|
|
return{
|
|
form:{
|
|
id:null,
|
|
borrow_file:"",
|
|
contacts:"",
|
|
borrow_date:"",
|
|
remark:"",
|
|
ticket_:null,
|
|
},
|
|
ticket_data:{
|
|
return_date:""
|
|
},
|
|
hobby:[{
|
|
text: '借阅',
|
|
value: '借阅',
|
|
}, {
|
|
text: '复印',
|
|
value: '复印',
|
|
}, {
|
|
text: '查阅',
|
|
value: '查阅',
|
|
}],
|
|
fileList:[],
|
|
vehicle_list:[],
|
|
}
|
|
},
|
|
async onLoad(options) {
|
|
let that = this;
|
|
that.form.id='';
|
|
that.mode = options.mode?options.mode:'show';
|
|
that.t_id = options.t_id?options.t_id:null;
|
|
if(that.mode != "add"){
|
|
if(that.t_id) {
|
|
that.form = await that.$api.borrowItem(that.t_id);
|
|
if(that.form.ticket_.state_.type == 1 && that.form.create_by == uni.getStorageSync("userInfo").id ) {
|
|
that.mode = "edit";
|
|
}else{
|
|
that.mode = "show";
|
|
}
|
|
}
|
|
}
|
|
},
|
|
mounted() {
|
|
this.getfileList();
|
|
},
|
|
methods:{
|
|
getfileList(){
|
|
let that = this;
|
|
let data = [];
|
|
that.$api.fileRecord({page:0}).then(res=>{
|
|
res.forEach(item=>{
|
|
let obj = item;
|
|
obj.text = item.name;
|
|
obj.value = item.id;
|
|
data.push(obj)
|
|
})
|
|
console.log(data)
|
|
that.fileList = data;
|
|
})
|
|
},
|
|
//选择会议室和日期后查询有无预定
|
|
async submit_b_func(id){
|
|
let that = this;
|
|
if (that.mode != 'show') {
|
|
if(that.form.id) {
|
|
await that.$api.borrowUpdate(that.form.id, that.form);
|
|
}else{
|
|
let res = await that.$api.borrowCreate(that.form);
|
|
that.form.id = res.id;
|
|
}
|
|
}
|
|
},
|
|
submitSuccess(){
|
|
uni.navigateTo({
|
|
url: "/pages/index/index"
|
|
})
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.form-page { min-height: 100vh; background: #F0F2F5; }
|
|
.form-scroll { padding: 0; padding-bottom: 180rpx; }
|
|
.form-card { background: #fff; border-radius: 0; padding: 24rpx; margin-bottom: 0; box-shadow: none; }
|
|
.form-card-title { font-size: 30rpx; font-weight: 600; color: #1F2937; margin-bottom: 16rpx; padding-left: 16rpx; border-left: 6rpx solid #2BA471; }
|
|
.form-textarea { width: 100%; min-height: 160rpx; border: 2rpx solid #E5E7EB; border-radius: 12rpx; padding: 16rpx; font-size: 28rpx; color: #374151; box-sizing: border-box; background: #F9FAFB; }
|
|
.form-btn { flex: 1; height: 80rpx; line-height: 80rpx; border-radius: 14rpx !important; font-size: 28rpx; font-weight: 500; border: none !important; }
|
|
.form-btn-primary { background: linear-gradient(135deg, #2BA471, #1F8C5E) !important; color: #fff !important; box-shadow: 0 4rpx 12rpx rgba(43,164,113,0.2); }
|
|
.form-btn-danger { background: linear-gradient(135deg, #EF4444, #DC2626) !important; color: #fff !important; box-shadow: 0 4rpx 12rpx rgba(239,68,68,0.3); }
|
|
</style> |