Merge branch 'master' of http://gitea.wangzhiwen.top/mfay/IOReportMgt
Conflicts: IOReportSysMP/miniprogram/pages/audit/detail/index.ts IOReportSysMP/miniprogram/pages/audit/detail/index.wxml IOReportSysMP/miniprogram/pages/audit/list/auditList.ts IOReportSysMP/miniprogram/pages/audit/list/auditList.wxmlmaster
commit
31a424fb4b
@ -0,0 +1 @@ |
||||
oybSbwfJxjOnBTrL |
||||
@ -1,11 +1,19 @@ |
||||
package edu.ncst.ioreport.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.baomidou.mybatisplus.core.toolkit.Constants; |
||||
import edu.ncst.ioreport.model.IORecords; |
||||
import edu.ncst.ioreport.model.Resource; |
||||
import org.apache.ibatis.annotations.Param; |
||||
import org.springframework.stereotype.Repository; |
||||
|
||||
import java.util.List; |
||||
|
||||
@Repository |
||||
public interface IORecordsMapper extends BaseMapper<IORecords> { |
||||
int insertAndGetId(IORecords record); |
||||
|
||||
List<IORecords> selectAuditList(@Param(Constants.WRAPPER) QueryWrapper<IORecords> queryWrapper); |
||||
IORecords selectDetail(@Param(Constants.WRAPPER) QueryWrapper<IORecords> queryWrapper); |
||||
} |
||||
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 15 KiB |
@ -1,21 +1,57 @@ |
||||
.banner { |
||||
.index-container { |
||||
display: flex; |
||||
image { |
||||
width: 200px; |
||||
height: 150px; |
||||
margin: 30px auto; |
||||
flex-direction: column; |
||||
justify-content: center; |
||||
align-items: center; |
||||
height: 80vh; |
||||
.banner { |
||||
display: flex; |
||||
|
||||
image { |
||||
width: 200px; |
||||
height: 150px; |
||||
margin: 30px auto; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.btn-list{ |
||||
display: flex; |
||||
flex-direction: column; |
||||
button{ |
||||
margin: 4px auto; |
||||
border-radius: 25rpx; |
||||
background-color: #0078D4; |
||||
font-size: 40rpx; |
||||
padding: 6px 0; |
||||
color: white; |
||||
.btn-list { |
||||
display: flex; |
||||
flex-direction: column; |
||||
$btn-item-height: 110rpx; |
||||
$btn-item-icon: 80rpx; |
||||
|
||||
.btn-item { |
||||
display: flex; |
||||
// border-bottom: 1px solid gray; |
||||
justify-content: center; |
||||
align-items: center; |
||||
|
||||
image { |
||||
background-color: rgb(146, 206, 248); |
||||
width: $btn-item-icon; |
||||
height: $btn-item-icon; |
||||
border-radius: 100%; |
||||
position: relative; |
||||
right: 15px; |
||||
margin: ($btn-item-height - $btn-item-icon) / 2; |
||||
box-shadow: rgba(128, 128, 128, 0.3) 1px 4px 5px 0.5px; |
||||
} |
||||
} |
||||
|
||||
text { |
||||
border-radius: 25rpx; |
||||
height: $btn-item-height; |
||||
line-height: $btn-item-height; |
||||
font-size: 40rpx; |
||||
font-weight: 600; |
||||
color: black; |
||||
display: block; |
||||
|
||||
&::after { |
||||
content: ""; |
||||
border-bottom: rgba(128, 128, 128, 0.3) solid 1px; |
||||
display: block; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
@ -1,14 +1,29 @@ |
||||
<navigationBar onlyStations title="教师进出校管理系统"> |
||||
</navigationBar> |
||||
<view> |
||||
<view class="index-container"> |
||||
<view class="banner"> |
||||
<image src="/asset/banenr.png"></image> |
||||
</view> |
||||
<view class="btn-list"> |
||||
<button wx:if="{{role > 4}}" bindtap="onEnterReport">进校报备</button> |
||||
<button wx:if="{{role > 4}}" bindtap="onOuterReport">出校报备</button> |
||||
<button wx:if="{{role > 6}}" bindtap="onAuditReport">报备审核</button> |
||||
<button wx:if="{{role > 4}}" bindtap="onMyReport">我的报备</button> |
||||
<button wx:if="{{role == 2}}" bindtap="onScanValid">进出校核验</button> |
||||
<view wx:if="{{role > 4}}" class="btn-item"> |
||||
<image src="/asset/icons/enter_report.png"/> |
||||
<text bindtap="onEnterReport">进校报备</text> |
||||
</view> |
||||
<view wx:if="{{role > 4}}" class="btn-item"> |
||||
<image src="/asset/icons/outer_report.png"/> |
||||
<text bindtap="onOuterReport">出校报备</text> |
||||
</view> |
||||
<view wx:if="{{role > 6}}" class="btn-item"> |
||||
<image src="/asset/icons/audit_report.png"/> |
||||
<text bindtap="onAuditReport">报备审核</text> |
||||
</view> |
||||
<view wx:if="{{role > 4}}" class="btn-item"> |
||||
<image src="/asset/icons/my_report.png" style="background-color: rgb(242, 191, 112);"/> |
||||
<text bindtap="onMyReport">我的报备</text> |
||||
</view> |
||||
<view wx:if="{{role == 2}}" class="btn-item"> |
||||
<image src="/asset/icons/door_verify"/> |
||||
<text bindtap="onScanValid">进出校核验</text> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
@ -1,28 +1,49 @@ |
||||
.card-container { |
||||
margin: 20px; |
||||
margin: 20rpx; |
||||
background-color: var(--color-gray-0); |
||||
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); |
||||
font-size: 17px; |
||||
// font-weight: 550; |
||||
|
||||
.card-col-1 { |
||||
padding: 24rpx 0; |
||||
display: flex; |
||||
width: auto; |
||||
|
||||
& yinput:nth-child(1) { |
||||
flex: 4 1 50px; |
||||
margin: 0 5rpx; |
||||
} |
||||
|
||||
& yinput:nth-child(2) { |
||||
flex: 7 1 50px; |
||||
margin:0 5rpx; |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
|
||||
.input-container { |
||||
padding-bottom: 80rpx; |
||||
|
||||
.card-col-1 { |
||||
display: flex; |
||||
margin: 0 2px; |
||||
:nth-child(n){ |
||||
|
||||
:nth-child(n) { |
||||
flex: 1 1 0; |
||||
} |
||||
} |
||||
} |
||||
|
||||
.submit-button { |
||||
position: absolute; |
||||
position: fixed; |
||||
bottom: 0; |
||||
left: 0; |
||||
right: 0; |
||||
display: flex; |
||||
background-color: var(--color-primary); |
||||
color: white; |
||||
width: 100%; |
||||
border-radius: 0; |
||||
z-index: 99; |
||||
} |
||||
@ -1,22 +1,63 @@ |
||||
<navigationBar title="出校报备"></navigationBar> |
||||
<yform rules="{{rules}}" bindonSubmit="onSubmit"> |
||||
<view class="card-container"> |
||||
<view class="card-col-1"> |
||||
<yinput onlyRead padding="16rpx" label="工号:" bindValue="ID" defaultValue="{{id}}"></yinput> |
||||
<yinput onlyRead padding="16rpx" label="姓名:" bindValue="name" defaultValue="{{name}}"></yinput> |
||||
</view> |
||||
<yinput onlyRead padding="16rpx" label="联系方式:" bindValue="phone" defaultValue="{{phone}}"></yinput> |
||||
<yinput onlyRead padding="16rpx" label="学院: " bindValue="depart" defaultValue="{{department}}"></yinput> |
||||
<view class="card-container"> |
||||
<view class="card-col-1"> |
||||
<yinput onlyRead padding="16rpx" label="工号:" bindValue="teacherID" value="{{teacherID}}" wx:if=""></yinput> |
||||
<yinput onlyRead padding="0" label="姓名:" bindValue="name" value="{{name}}"></yinput> |
||||
<yinput onlyRead padding="0" label="类型:" bindValue="name" value="出校报备"></yinput> |
||||
</view> |
||||
<view class="input-container"> |
||||
<sysInput label="报备类型: " bindValue="orderType" defaultValue="0" style="display: none;" /> |
||||
<view class="card-col-1"> |
||||
<ydatePicker label="出校日期" bindValue="enterDate" /> |
||||
<ytimePicker label="出校时间" bindValue="enterTime" /> |
||||
<yinput onlyRead padding="16rpx" label="联系方式:" bindValue="mobile" value="{{mobile}}" wx:if="" ></yinput> |
||||
<yinput onlyRead padding="16rpx" label="学院: " bindValue="dept" value="{{dept.department}}" wx:if=""></yinput> |
||||
</view> |
||||
|
||||
<form bindsubmit="onSubmit" rules="{{rules}}"> |
||||
|
||||
<view class="weui-cells weui-cells_form"> |
||||
<view class="weui-cell weui-cell_active"> |
||||
<view class="weui-cell__hd"> |
||||
<view class="weui-label" id="js_date" aria-hidden="true">出校日期</view> |
||||
</view> |
||||
<view class="weui-cell__bd"> |
||||
<picker mode="date" aria-role="combobox" aria-labelledby="js_date" start="{{applyDate}}" bindchange="bindDateChange"> |
||||
<view class="weui-input">{{applyDate}}</view> |
||||
</picker> |
||||
</view> |
||||
</view> |
||||
<view class="weui-cell weui-cell_active"> |
||||
<view class="weui-cell__hd"> |
||||
<view class="weui-label" aria-hidden="true" id="js_time">出校时间</view> |
||||
</view> |
||||
<view class="weui-cell__bd"> |
||||
<picker aria-role="combobox" aria-labelledby="js_time" mode="time" bindchange="bindTimeChange"> |
||||
<view class="weui-input">{{applyTime}}</view> |
||||
</picker> |
||||
</view> |
||||
</view> |
||||
<view class="weui-cell weui-cell_active"> |
||||
<view class="weui-cell__hd"> |
||||
<label class="weui-label" style="width: 5em;">校外住址</label> |
||||
</view> |
||||
<view class="weui-cell__bd weui-flex"> |
||||
<input class="weui-input" required placeholder="请输入校外住址" placeholder-class="weui-input__placeholder" name="outerResidence" value="{{outerResidence}}"/> |
||||
</view> |
||||
</view> |
||||
<view class="weui-cell weui-cell_active"> |
||||
<view class="weui-cell__hd"> |
||||
<label class="weui-label" style="width: 5em;">校内住址</label> |
||||
</view> |
||||
<view class="weui-cell__bd weui-flex"> |
||||
<input class="weui-input" required placeholder="请输入校内住址" placeholder-class="weui-input__placeholder" name="innerResidence" value="{{innerResidence}}"/> |
||||
</view> |
||||
</view> |
||||
<view class="weui-cell weui-cell_active"> |
||||
<view class="weui-cell__bd"> |
||||
<textarea class="weui-textarea" required placeholder="请填写出校事由" name="reason" bindinput="inputs" placeholder-class="weui-input__placeholder" rows="3"> |
||||
</textarea> |
||||
<view aria-role="option" class="weui-textarea-counter"> |
||||
<span>已输入{{text_len?text_len:0}}字</span>/50 |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
</view> |
||||
<sysInput label="校内居住地: " bindValue="innerLocation" /> |
||||
<sysInput label="校外居住地: " bindValue="outerLocation" /> |
||||
<sysTextarea label="事由: " bindValue="reason" /> |
||||
</view> |
||||
<ybutton class="submit-button" title="申请" bgColor="var(--color-primary)" /> |
||||
</yform> |
||||
<button class="submit-button" style="width: 100%;" formType="submit">提交</button> |
||||
</form> |
||||
@ -1 +0,0 @@ |
||||
/* pages/report/out/outerReport.wxss */ |
||||
@ -0,0 +1,21 @@ |
||||
"use strict"; |
||||
Object.defineProperty(exports, "__esModule", { value: true }); |
||||
exports.request = exports.URL = void 0; |
||||
var util_1 = require("../../../utils/util"); |
||||
exports.URL = '/api/records/audit-list'; |
||||
/** |
||||
* @desc 获取报备记录列表 |
||||
*/ |
||||
function request(bodyParams, options) { |
||||
var url = '/api/records/audit-list'; |
||||
var fetchOption = Object.assign({ |
||||
url: url, |
||||
method: 'POST', |
||||
headers: { |
||||
'Content-Type': 'application/json', |
||||
}, |
||||
data: bodyParams, |
||||
}, options); |
||||
return util_1.fetch(fetchOption); |
||||
} |
||||
exports.request = request; |
||||
@ -0,0 +1,29 @@ |
||||
import { fetch } from '../../../utils/util'; |
||||
|
||||
export type ResponseType = Promise<defs.ResultVO<Array<defs.IORecords>>>; |
||||
|
||||
export const URL = '/api/records/audit-list'; |
||||
|
||||
/** |
||||
* @desc 获取报备记录列表 |
||||
*/ |
||||
export function request( |
||||
bodyParams: defs.QRecord, |
||||
options?: WechatMiniprogram.RequestOption, |
||||
): ResponseType { |
||||
let url = '/api/records/audit-list'; |
||||
|
||||
const fetchOption = Object.assign( |
||||
{ |
||||
url: url, |
||||
method: 'POST', |
||||
headers: { |
||||
'Content-Type': 'application/json', |
||||
}, |
||||
|
||||
data: bodyParams, |
||||
}, |
||||
options, |
||||
); |
||||
return fetch(fetchOption); |
||||
} |
||||
Loading…
Reference in new issue