1d933336 by 杨炀

no message

1 parent 51c28ec6
......@@ -220,7 +220,14 @@ export function addPersonToMyDept(data) {
params: data
})
}
// 提交人工审核
export function addPersonCommit(data) {
return request({
url: `/system/input/commit?fileUrl=${data.fileUrl}`,
method: 'post',
params: data
})
}
// 图片上传
export function uploadImg(e) {
const tempFilePaths = e.tempFilePaths;
......
......@@ -4,7 +4,7 @@
// staging 会员系统
// const baseUrl_api = "http://22yidpjzjifv.ngrok.xiaomiqiu123.top/stage-api/";
const baseUrl_api = "http://36.153.235.222:7899/stage-api";
const baseUrl_api = "https://ztx.itechtop.cn:8443/stage-api";
// const baseUrl_api = 'http://192.168.1.132:8787'
// const baseUrl_api = 'https://tkcn.19wk.cn:8443/stage-api'
......
......@@ -10,7 +10,7 @@
<text v-if="item.record.auditStatus==0" class="text-primary">审核中</text>
<text v-if="item.record.auditStatus==1" class="text-success"> 审核通过</text>
<text v-if="item.record.auditStatus==2" class="text-danger"> 审核拒绝</text>
<text v-if="item.record.auditStatus==3" class="text-warning">撤回</text>
<text v-if="item.record.auditStatus==3" class="text-warning">审核撤回</text>
</view>
<view class="date" @click="goDetail(item)" v-if="item.payTime">
<uni-icons type="calendar-filled" size="16" color="#AD181F"></uni-icons>
......@@ -44,8 +44,18 @@
</view>
</view>
<view class="func">
<button v-if="deptType == 1" :disabled="!(item.payEvidence?.[0]?.url)"
@click="downloadOrder(item)">
下载凭证
</button>
<button v-if="(deptType == 2 || deptType == 3)&&item.settleFlag != 1"
:disabled="!(item.payEvidence?.[0]?.url)"
@click="downloadOrder(item)">
下载凭证
</button>
<button
v-if="(deptType == 2 || deptType == 3)&&item?.record?.auditStatus != 2 && item?.record?.auditStatus != 3"
v-if="(deptType == 2 || deptType == 3)&&item.settleFlag == 1"
:disabled="!item.record?.auditStatus||item.record?.auditStatus == 2||item.record?.auditStatus == 3"
@click="handleUpdate(item)">上传凭证</button>
</view>
</view>
......@@ -201,9 +211,77 @@ function goDetail(item) {
url: path
});
}
function downloadOrder(item) {
//下载凭证
showImg(item.payEvidence[0]?.url)
}
function showImg(url) {
var str = config.baseUrl_api + url
if (url.indexOf('png') > -1 || url.indexOf('jpg') > -1 || url.indexOf('jpeg') > -1) {
uni.previewImage({
urls: [str],
success: function(res) {
console.log('success', res)
},
fail: function(res) {
console.log('fail', res)
},
complete: function(res) {
console.log('complete', res)
}
})
} else {
goWebView(str)
}
}
function goWebView(url) {
url = url.replace("http://", "https://")
uni.showLoading({
title: '下载中'
});
uni.downloadFile({
url: url,
success: function(res) {
uni.hideLoading();
var filePath = res.tempFilePath;
uni.showLoading({
title: '正在打开'
});
uni.openDocument({
filePath: filePath,
showMenu: true,
success: function(res) {
uni.hideLoading();
},
fail: function(err) {
uni.hideLoading();
uni.showToast({
title: err,
icon: 'none',
duration: 2000
});
}
});
},
fail: function(error) {
uni.hideLoading();
uni.showToast({
title: `下载失败`,
icon: 'none',
duration: 2000
});
}
});
}
</script>
<style scoped lang="scss">
.appList .appItem .func button[disabled]{
opacity: 0.3;
}
.popBody {
font-size: 28rpx;
line-height: 1.5;
......
......@@ -76,7 +76,6 @@
考试级别
<!-- <text style="padding: 15rpx 0;">{{ szToHz(n.levelNew) }}</text> -->
<view @click="changeLevelfather(n)">
<uni-data-select v-model="n.levelNew" :localdata="levelArr"
@change="changeLevel"></uni-data-select>
</view>
......@@ -278,7 +277,6 @@
})
function updateData(e) {
// console.log(e)
examinerArr.push(e.obj)
form.value[`examiner_${e.ec}`] = e.obj.name
}
......@@ -534,19 +532,24 @@
api.jiDropDownBox({
perId: row.perId
}).then(res => {
console.log(res.data)
for (var l of res.data) {
levelArr.value = res.data
for (var l of levelArr.value) {
l.text = l.name
l.disabled = l.status
l.disabled = !(l.status)
}
levelArr.value = res.data
})
}
function changeLevel(e) {
console.log(e)
if (e == nowRow.levelOld) {
uni.showToast({
title: `考试级别重复,请重新选择!`,
icon: 'none'
})
nowRow.levelNew = nowRow.levelRecommend
return
}
if (e !== nowRow.levelRecommend) {
uni.showModal({
title: '提示',
......@@ -566,6 +569,23 @@
}
function submitForm2(flag) {
//循环infoList.value 如果item.levelNew == item.levelOld 提示错误
for (var item of infoList.value) {
if (item.levelNew == item.levelOld) {
uni.showToast({
title: `${item.realName}考试级别重复,请重新选择!`,
icon: 'none'
})
return
}
if (!item.levelNew) {
uni.showToast({
title: `${item.realName}请选择考试级别!`,
icon: 'none'
})
return
}
}
if (flag === 1) {
if (infoList.value.length == 0) {
uni.showToast({
......@@ -574,6 +594,7 @@
})
return
}
// if (!form.value.transcript) {
// uni.showToast({
// title: '请上传成绩单',
......@@ -638,7 +659,6 @@
}
for (const n in e.tempFiles) {
api.uploadFileList(e.tempFilePaths[n]).then(data => {
console.log(data)
selectFileValue = {
url: data,
name: e.tempFiles[n].name,
......@@ -659,11 +679,9 @@
transcript.value = _.remove(transcript.value, function(n) {
return n.name != e.tempFile.name;
});
console.log(transcript.value)
}
function uploadSure() {
console.log(transcript.value)
// 上传确定
if (transcript.value.length == 0) {
uni.showToast({
......
......@@ -38,7 +38,7 @@
<view class="func" v-if="item.status=='0'||item.status=='3'||item.status=='4'">
<button @click="handleDelete(item)">删除</button>
<button @click="editThis(item)">编辑</button>
<button @click="handleSubmit(item)">提交审核</button>
<button :disabled="!(item.totalNum?item.totalNum:(item.pass+item.noPass))" @click="handleSubmit(item)">提交审核</button>
</view>
</view>
</view>
......
<template>
<view>
<view class="searchbar">
<uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search"
v-model="query.idcCode" placeholder="证件号码" @blur="getList">
<view class="nolineform">
<uni-form @submit="getList">
<uni-forms-item label="考官姓名">
<uni-easyinput :placeholderStyle="placeholderStyle"
:input-border="false"
v-model="query.name" placeholder="考官姓名">
</uni-easyinput>
</uni-forms-item>
<uni-forms-item label="考官编号">
<uni-easyinput :placeholderStyle="placeholderStyle"
:input-border="false"
v-model="query.certCode" placeholder="考官编号">
</uni-easyinput>
</uni-forms-item>
</uni-form>
<view class="button-group">
<button size="mini" @click="resetQuery">重置</button>
<button type="primary" size="mini" @click="getList">查询</button>
</view>
</view>
<view class="indexboxre">
<view class="userlist">
......@@ -15,9 +30,11 @@
<view>
<view class="name">{{n.name}}</view>
<view class="date">会员号:{{n.perCode||'-'}}</view>
<view class="date">证件号码:{{n.idcCode||'-'}}</view>
<view class="date">注册地:{{n.memName||'-'}}</view>
</view>
<view class="status">
<text v-if="n.disabled">选择</text>
<text v-if="n.disabled">已选</text>
<text v-else class="text-primary" @click="handleChoose(n)">选择</text>
</view>
......@@ -25,7 +42,7 @@
</view>
<view class="nodata" v-if="list.length==0">
<image mode="aspectFit" src="/static/nodata.png"></image>
<text>请输入证件号查找</text>
<text>请输入考官姓名和编号精确查找</text>
</view>
</view>
......@@ -49,6 +66,7 @@
const query = ref({
})
const placeholderStyle = ref('text-align: right;font-size:30rpx')
const list = ref([])
const total = ref(0)
const userType = ref('')
......@@ -60,16 +78,22 @@
ec = option.ec
console.log(chosen)
})
function resetQuery() {
query.value = {}
list.value = []
}
function getList() {
if (!query.value.idcCode) {
if (!query.value.name) {
return
}
if (!query.value.certCode) {
return
}
uni.showLoading({
title: `查找中`
})
api.getCoachList(query.value).then(res => {
if (res.data.length == 0) {
if (res.rows.length == 0) {
uni.showToast({
title: '未查询到考官信息',
icon: "error"
......@@ -77,11 +101,11 @@
list.value = []
return
}
list.value = res.data
list.value = res.rows
for(var l of list.value){
if(l.photo&&l.photo.indexOf('http')==-1){
l.photo = config.baseUrl_api + l.photo
}
// if(l.photo&&l.photo.indexOf('http')==-1){
// l.photo = config.baseUrl_api + l.photo
// }
for(var t of chosen){
if(t.perId == l.perId){
l.disabled = true
......@@ -99,6 +123,14 @@
}
function handleChoose(row) {
if (row.canChoose != 1){
uni.showToast({
title: '该考官资质已过期!',
icon: "error"
})
return
}
var pages = getCurrentPages()
var prevPage = pages[pages.length - 2]
var obj = {
......@@ -151,4 +183,11 @@
font-size: 26rpx;
}
}
.button-group {
text-align: right;
button {
margin-left: 30rpx;
}
}
</style>
......
<template>
<view class="hasfixedbottom">
<view class="nolineform">
<uni-forms :border="true" :modelValue="baseFormData" label-width="120">
<uni-forms :border="true" :modelValue="baseFormData" label-width="90">
<!-- <uni-forms-item label="姓名" required name="name">
<uni-easyinput :styles="inputstyle" :clearable='false' :placeholderStyle="placeholderStyle"
v-model="baseFormData.name" placeholder="请输入姓名" />
......@@ -34,7 +34,7 @@
<view>
{{n.perName}}
<view class="date">
{{idcTypeList[n.perIdcType].text}}: {{n.perIdcCode}}
{{getIdcType(n.perIdcType)}}: {{n.perIdcCode}}
</view>
</view>
</view>
......@@ -79,15 +79,15 @@
},
{
value: '1',
text: "港澳台通信身份证"
text: "来往大陆(内地)通行证 "
},
{
value: '3',
text: "外国护照"
text: "护照"
},
{
value: '4',
text: "其他"
value: '5',
text: "香港身份证"
}
])
const baseFormData = ref({
......@@ -106,6 +106,14 @@
getList()
}
})
function getIdcType(type) {
for (var item of idcTypeList.value){
if (item.value == type) {
return item.text
}
}
}
// 查询会员
function selectMember() {
// if (!baseFormData.value.name) {
......
......@@ -145,7 +145,7 @@
idcType: '0',
perType: '1', // (1:个人会员;2:教练;3:考官;4:裁判;5:临时会员;)
})
const items = ref(['手动录入', '自动录入'])
const items = ref(['身份证添加', '证件照录入'])
const idcTypeList = ref([{
value: '0',
text: "身份证"
......@@ -502,9 +502,9 @@
delete baseFormData.value.card
const time = new Date().valueOf() + ''
baseFormData.t = time + Math.floor(Math.random() * 10)
baseFormData.signT = aes2.AESEncrypt(baseFormData.idcType + time)
baseFormData.value.t = time + Math.floor(Math.random() * 10)
baseFormData.value.signT = aes2.AESEncrypt(baseFormData.value.idcType + time)
console.log(baseFormData.value)
api.addPersonToMyDept(baseFormData.value).then(Response => {
if (Response.data == 0) {
let msg = '该成员,实名认证未通过,注册失败!'
......
......@@ -21,9 +21,10 @@
<view>
缴费状态
<view>
<text v-if="item.settleFlag == 0" class="text-warning">已结算</text>
<text v-if="item.settleFlag == 1 && item.payFlag == 0" class="text-success">已上传</text>
<text v-if="item.settleFlag == 1 && item.payFlag == 1" class="text-danger">未上传</text>
<text v-if="item.settleFlag == 0" class="text-success">已结算</text>
<text v-if="item.settleFlag == 1" class="text-danger">未结算</text>
<!-- <text v-if="item.settleFlag == 1 && item.payFlag == 0" class="text-success">已上传</text>-->
<!-- <text v-if="item.settleFlag == 1 && item.payFlag == 1" class="text-danger">未上传</text>-->
</view>
</view>
<view>
......@@ -41,8 +42,11 @@
</view>
<view class="func">
<button v-if="item.settleFlag == 0" :disabled="!(item.payFlag == 0)"
@click="downloadOrder(item)">下载凭证</button>
<button
v-if="(deptType == 2 || deptType == 3)&&item?.record?.auditStatus != 2 && item?.record?.auditStatus != 3"
v-if="(deptType == 2 || deptType == 3) && item.settleFlag != 0"
:disabled="item?.record?.auditStatus == 2 || item?.record?.auditStatus == 3||item.yjFlag==1"
@click="handleUpdate(item)">上传凭证</button>
</view>
</view>
......@@ -121,6 +125,71 @@ function handleUpdate(item) {
form.value.docId = item.docId
UpPop.value.open()
}
function downloadOrder(item) {
//下载凭证
var arr = JSON.parse(item.payEvidence) || []
showImg(arr[0]?.url)
}
function showImg(url) {
var str = config.baseUrl_api + url
if (url.indexOf('png') > -1 || url.indexOf('jpg') > -1 || url.indexOf('jpeg') > -1) {
uni.previewImage({
urls: [str],
success: function(res) {
console.log('success', res)
},
fail: function(res) {
console.log('fail', res)
},
complete: function(res) {
console.log('complete', res)
}
})
} else {
goWebView(str)
}
}
function goWebView(url) {
url = url.replace("http://", "https://")
uni.showLoading({
title: '下载中'
});
uni.downloadFile({
url: url,
success: function(res) {
uni.hideLoading();
var filePath = res.tempFilePath;
uni.showLoading({
title: '正在打开'
});
uni.openDocument({
filePath: filePath,
showMenu: true,
success: function(res) {
uni.hideLoading();
},
fail: function(err) {
uni.hideLoading();
uni.showToast({
title: err,
icon: 'none',
duration: 2000
});
}
});
},
fail: function(error) {
uni.hideLoading();
uni.showToast({
title: `下载失败`,
icon: 'none',
duration: 2000
});
}
});
}
let selectFileValue = {}
function selectFile(e) {
let file = e.tempFiles[0]
......@@ -166,6 +235,9 @@ function goDetail(item) {
</script>
<style scoped lang="scss">
.appList .appItem .func button[disabled]{
opacity: 0.3;
}
.popBody {
font-size: 28rpx;
line-height: 1.5;
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!