选题/发票/上传作品审核

main
王家东 4 months ago
parent f96eb1c8be
commit cc699e231f
  1. 15
      jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/chooseTopicPersion/controller/ChaoseTopicPersionController.java
  2. 3
      jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/chooseTopicPersion/mapper/ChaoseTopicPersionMapper.java
  3. 1
      jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/chooseTopicPersion/service/IChaoseTopicPersionService.java
  4. 8
      jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/chooseTopicPersion/service/impl/ChaoseTopicPersionServiceImpl.java
  5. 5
      jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/receipt/entity/Receipt.java
  6. 5
      jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/upfile_persion/controller/UpfilePersionController.java
  7. 6
      jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/upfile_persion/entity/UpfilePersion.java
  8. 4
      jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/upfile_persion/service/impl/UpfilePersionServiceImpl.java
  9. 39
      jeecgboot-vue3-master/src/views/UpfilePersion/UpfilePersionList.vue
  10. 5
      jeecgboot-vue3-master/src/views/chooseTopicPersion/ChaoseTopicPersion.api.ts
  11. 10
      jeecgboot-vue3-master/src/views/chooseTopicPersion/components/ChaoseTopicPersionForm.vue
  12. 10
      jeecgboot-vue3-master/src/views/receipt/Receipt.data.ts
  13. 11
      jeecgboot-vue3-master/src/views/receipt/components/ReceiptForm.vue

@ -342,6 +342,21 @@ public class ChaoseTopicPersionController extends JeecgController<ChaoseTopicPer
return Result.OK("编辑成功!"); return Result.OK("编辑成功!");
} }
/**
* 编辑
*
* @param chaoseTopicPersion
* @return
*/
@AutoLog(value = "比赛选题-编辑")
@ApiOperation(value = "比赛选题-编辑", notes = "比赛选题-编辑")
// @RequiresPermissions("chooseTopicPersion:chaose_topic_persion:edit")
@RequestMapping(value = "/edit2", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<String> edit2(@RequestBody ChaoseTopicPersion chaoseTopicPersion) {
chaoseTopicPersionService.updatestaticandblack(chaoseTopicPersion.getId());
return Result.OK("提交成功!");
}
@RequestMapping(value = "/edit1", method = {RequestMethod.PUT, RequestMethod.POST}) @RequestMapping(value = "/edit1", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<String> edit1(@RequestBody ChooseEdit chooseEdit) { public Result<String> edit1(@RequestBody ChooseEdit chooseEdit) {
String enrollCode = chooseEdit.getEnrollCode(); String enrollCode = chooseEdit.getEnrollCode();

@ -3,6 +3,7 @@ package org.jeecg.modules.demo.chooseTopicPersion.mapper;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import org.jeecg.modules.demo.chooseTopicPersion.entity.ChaoseTopicPersion; import org.jeecg.modules.demo.chooseTopicPersion.entity.ChaoseTopicPersion;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -14,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface ChaoseTopicPersionMapper extends BaseMapper<ChaoseTopicPersion> { public interface ChaoseTopicPersionMapper extends BaseMapper<ChaoseTopicPersion> {
@Update("UPDATE chaose_topic_persion SET status='1' ,black='' WHERE id=#{id}")
void updatestaticandblack(String id);
} }

@ -11,4 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IChaoseTopicPersionService extends IService<ChaoseTopicPersion> { public interface IChaoseTopicPersionService extends IService<ChaoseTopicPersion> {
void updatestaticandblack(String id);
} }

@ -3,6 +3,7 @@ package org.jeecg.modules.demo.chooseTopicPersion.service.impl;
import org.jeecg.modules.demo.chooseTopicPersion.entity.ChaoseTopicPersion; import org.jeecg.modules.demo.chooseTopicPersion.entity.ChaoseTopicPersion;
import org.jeecg.modules.demo.chooseTopicPersion.mapper.ChaoseTopicPersionMapper; import org.jeecg.modules.demo.chooseTopicPersion.mapper.ChaoseTopicPersionMapper;
import org.jeecg.modules.demo.chooseTopicPersion.service.IChaoseTopicPersionService; import org.jeecg.modules.demo.chooseTopicPersion.service.IChaoseTopicPersionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -16,4 +17,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service @Service
public class ChaoseTopicPersionServiceImpl extends ServiceImpl<ChaoseTopicPersionMapper, ChaoseTopicPersion> implements IChaoseTopicPersionService { public class ChaoseTopicPersionServiceImpl extends ServiceImpl<ChaoseTopicPersionMapper, ChaoseTopicPersion> implements IChaoseTopicPersionService {
@Autowired
private ChaoseTopicPersionMapper chaoseTopicPersionMapper;
@Override
public void updatestaticandblack(String id) {
chaoseTopicPersionMapper.updatestaticandblack(id);
}
} }

@ -87,6 +87,11 @@ public class Receipt implements Serializable {
@Excel(name = "税号", width = 15) @Excel(name = "税号", width = 15)
@ApiModelProperty(value = "税号") @ApiModelProperty(value = "税号")
private java.lang.String duty; private java.lang.String duty;
/**税号*/
@Excel(name = "税号", width = 15)
@ApiModelProperty(value = "发票号")
private java.lang.String fph;
/**地址*/ /**地址*/
@Excel(name = "地址", width = 15) @Excel(name = "地址", width = 15)
@ApiModelProperty(value = "地址") @ApiModelProperty(value = "地址")

@ -165,13 +165,14 @@ public class UpfilePersionController extends JeecgController<UpfilePersion, IUpf
} }
// 按照创建时间倒序排序 // 按照创建时间倒序排序
queryWrapper.orderByDesc("create_time"); queryWrapper.orderByDesc("create_time");
// 组委会只能看到待评分,已评分,待驳回,且只有一条作品记录 // 组委会只能看到待评分,已评分,待驳回,待审核,且只有一条作品记录
if (subject.hasRole("committee")) { if (subject.hasRole("committee")) {
queryWrapper.lambda().in(UpfilePersion::getStatus, queryWrapper.lambda().in(UpfilePersion::getStatus,
Arrays.asList( Arrays.asList(
UpfilePersion.WORK_STATUS_READY_SCORE, UpfilePersion.WORK_STATUS_READY_SCORE,
UpfilePersion.WORK_STATUS_ALREADY_SCORE, UpfilePersion.WORK_STATUS_ALREADY_SCORE,
UpfilePersion.WORK_STATUS_READY_OVERRULE UpfilePersion.WORK_STATUS_READY_OVERRULE,
upfilePersion.WORK_STATUS_ALREADY_SH
)); ));
// 根据报名编号去重 // 根据报名编号去重
List<UpfilePersion> upfilePersions = upfilePersionService.list(queryWrapper); List<UpfilePersion> upfilePersions = upfilePersionService.list(queryWrapper);

@ -30,7 +30,7 @@ public class UpfilePersion implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 评分 * 评分
*/ */
public static final Integer WORK_STATUS_READY_SCORE = 0; public static final Integer WORK_STATUS_READY_SCORE = 0;
/** /**
@ -49,6 +49,10 @@ public class UpfilePersion implements Serializable {
* 待提交 * 待提交
*/ */
public static final Integer WORK_STATUS_READY_SUBMIT = 4; public static final Integer WORK_STATUS_READY_SUBMIT = 4;
/**
* 待审核
*/
public static final Integer WORK_STATUS_ALREADY_SH = 5;
/** /**
* 主键 * 主键

@ -340,7 +340,7 @@ public class UpfilePersionServiceImpl
annualCompPointMap.get(dto.getAnnualCompPointId()).getObjName()); annualCompPointMap.get(dto.getAnnualCompPointId()).getObjName());
// 设置状态 // 设置状态
if (UpfilePersion.WORK_STATUS_READY_SCORE.equals(dto.getStatus())) { if (UpfilePersion.WORK_STATUS_READY_SCORE.equals(dto.getStatus())) {
dto.setStatusText("待评分"); dto.setStatusText("待评分/已审核");
} else if (UpfilePersion.WORK_STATUS_ALREADY_SCORE.equals(dto.getStatus())) { } else if (UpfilePersion.WORK_STATUS_ALREADY_SCORE.equals(dto.getStatus())) {
dto.setStatusText("已评分"); dto.setStatusText("已评分");
} else if (UpfilePersion.WORK_STATUS_READY_OVERRULE.equals(dto.getStatus())) { } else if (UpfilePersion.WORK_STATUS_READY_OVERRULE.equals(dto.getStatus())) {
@ -349,6 +349,8 @@ public class UpfilePersionServiceImpl
dto.setStatusText("已驳回"); dto.setStatusText("已驳回");
} else if (UpfilePersion.WORK_STATUS_READY_SUBMIT.equals(dto.getStatus())) { } else if (UpfilePersion.WORK_STATUS_READY_SUBMIT.equals(dto.getStatus())) {
dto.setStatusText("待提交"); dto.setStatusText("待提交");
}else if (UpfilePersion.WORK_STATUS_ALREADY_SH.equals(dto.getStatus())) {
dto.setStatusText("已提交");
} }
dtoList.add(dto); dtoList.add(dto);
}); });

@ -27,13 +27,14 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="8"> <a-col :lg="8">
<a-form-item label="状态" name="status"> <a-form-item v-if="isCommittee" label="状态" name="status">
<a-select ref="select" v-model:value="queryParam.status" style="width: 100%" @focus="focus" placeholder="请选择作品状态"> <a-select ref="select" v-model:value="queryParam.status" style="width: 100%" @focus="focus" placeholder="请选择作品状态">
<a-select-option value="0">待评分</a-select-option> <a-select-option value="0">待评分/已审核</a-select-option>
<a-select-option value="1">已评分</a-select-option> <!-- <a-select-option value="1">已评分</a-select-option>-->
<a-select-option value="2">待驳回</a-select-option> <a-select-option value="2">待驳回</a-select-option>
<a-select-option value="3">已驳回</a-select-option> <!-- <a-select-option value="3">已驳回</a-select-option>
<a-select-option value="4">待提交</a-select-option> <a-select-option value="4">待提交</a-select-option>-->
<a-select-option value="5">已提交</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -300,7 +301,24 @@
} }
async function handleWorkSubmit(record) { async function handleWorkSubmit(record) {
if (record.status !== 4 && record.status !== 3) { if (record.status !== 4 && record.status !== 3 && record.status !== 5) {
return message.error('作品禁止重复提交');
} else {
record.status = 5;
record.backInfo = '';
const resp = await saveOrUpdate(record, true);
if (resp.success) {
await reload();
message.success('提交成功');
} else {
message.error('提交失败');
}
}
}
async function handleup(record) {
if (record.status !== 4 && record.status !== 3 && record.status !== 5) {
return message.error('作品禁止重复提交'); return message.error('作品禁止重复提交');
} else { } else {
record.status = 0; record.status = 0;
@ -422,7 +440,14 @@
title: '是否驳回当前作品?', title: '是否驳回当前作品?',
confirm: handleBack.bind(null, record), confirm: handleBack.bind(null, record),
}, },
} },
{
label: '通过',
popConfirm: {
title: '是否通过审核当前作品',
confirm: handleup.bind(null, record),
},
},
); );
} else if (isSuperAdmin.value) { } else if (isSuperAdmin.value) {
tableAction.unshift( tableAction.unshift(

@ -10,6 +10,7 @@ enum Api {
save='/chooseTopicPersion/chaoseTopicPersion/add', save='/chooseTopicPersion/chaoseTopicPersion/add',
edit='/chooseTopicPersion/chaoseTopicPersion/edit', edit='/chooseTopicPersion/chaoseTopicPersion/edit',
edit1='/chooseTopicPersion/chaoseTopicPersion/edit1', edit1='/chooseTopicPersion/chaoseTopicPersion/edit1',
edit2='/chooseTopicPersion/chaoseTopicPersion/edit2',
deleteOne = '/chooseTopicPersion/chaoseTopicPersion/delete', deleteOne = '/chooseTopicPersion/chaoseTopicPersion/delete',
deleteBatch = '/chooseTopicPersion/chaoseTopicPersion/deleteBatch', deleteBatch = '/chooseTopicPersion/chaoseTopicPersion/deleteBatch',
importExcel = '/chooseTopicPersion/chaoseTopicPersion/importExcel', importExcel = '/chooseTopicPersion/chaoseTopicPersion/importExcel',
@ -68,6 +69,10 @@ export const batchDelete = (params, handleSuccess) => {
export const update = (params) => { export const update = (params) => {
return defHttp.post({ url: Api.save, params }); return defHttp.post({ url: Api.save, params });
} }
export const update2 = (params) => {
return defHttp.post({ url: Api.edit2, params });
}
export const update1 = (params) => { export const update1 = (params) => {
return defHttp.post({ url: Api.edit1, params }, { isTransformResponse: false }); return defHttp.post({ url: Api.edit1, params }, { isTransformResponse: false });
} }

@ -38,7 +38,7 @@
dictCode="choose_topic_persion_status" dictCode="choose_topic_persion_status"
disabled="true"/> disabled="true"/>
<a-button v-if="formData.status==0" @click="click1(1)">提交选题</a-button> <a-button v-if="formData.status==0" @click="click1(1)">提交选题</a-button>
<a-button v-if="formData.status==2" @click="click1(4)">申请驳回</a-button> <a-button v-if="formData.status==3" @click="click2(1)">提交选题</a-button>
</a-form-item> </a-form-item>
<a-form-item v-if="formData.status==3" label="驳回信息" <a-form-item v-if="formData.status==3" label="驳回信息"
v-bind="validateInfos.status_dictText"> v-bind="validateInfos.status_dictText">
@ -72,6 +72,7 @@ import {getValueType} from '/@/utils';
import {update,saveOrUpdate, list4, watch} from '../ChaoseTopicPersion.api'; import {update,saveOrUpdate, list4, watch} from '../ChaoseTopicPersion.api';
import {Form} from 'ant-design-vue'; import {Form} from 'ant-design-vue';
import JDictSelectTag from "/@/components/Form/src/jeecg/components/JDictSelectTag.vue"; import JDictSelectTag from "/@/components/Form/src/jeecg/components/JDictSelectTag.vue";
import {update2} from "/@/views/chooseTopicPersion/ChaoseTopicPersion.api";
const props = defineProps({ const props = defineProps({
formDisabled: {type: Boolean, default: false}, formDisabled: {type: Boolean, default: false},
@ -128,6 +129,13 @@ function click1(status1) {
update({enrollCode: formData.bmcode,status:status1,topicid : formData.timul}) update({enrollCode: formData.bmcode,status:status1,topicid : formData.timul})
emit('up'); emit('up');
} }
function click2(status1) {
console.log(formData)
update2({enrollCode: formData.bmcode,status:status1,topicid : formData.timul})
emit('up');
}
/** /**
* 编辑 * 编辑
*/ */

@ -5,7 +5,7 @@ import { render } from '/@/utils/common/renderUtils';
//列表数据 //列表数据
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
{ {
title: '学校', title: '院系',
align: "center", align: "center",
dataIndex: 'schoolid' dataIndex: 'schoolid'
}, },
@ -44,6 +44,12 @@ export const columns: BasicColumn[] = [
align: "center", align: "center",
dataIndex: 'duty' dataIndex: 'duty'
}, },
{
title: '发票号',
align: "center",
dataIndex: 'fph'
},
{ {
title: '地址', title: '地址',
align: "center", align: "center",
@ -78,7 +84,7 @@ export const searchFormSchema: FormSchema[] = [
//表单数据 //表单数据
export const formSchema: FormSchema[] = [ export const formSchema: FormSchema[] = [
{ {
label: '学校', label: '院系',
field: 'schoolid', field: 'schoolid',
component: 'Input', component: 'Input',
}, },

@ -3,8 +3,8 @@
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="学校" v-bind="validateInfos.schoolid"> <a-form-item label="院系" v-bind="validateInfos.schoolid">
<a-input v-model:value="formData.schoolid" placeholder="请输入学校" :disabled="disabled"></a-input> <a-input v-model:value="formData.schoolid" placeholder="请输入院系" :disabled="disabled"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
@ -42,6 +42,12 @@
<a-input v-model:value="formData.duty" placeholder="请输入税号" :disabled="disabled"></a-input> <a-input v-model:value="formData.duty" placeholder="请输入税号" :disabled="disabled"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24">
<a-form-item label="发票号" v-bind="validateInfos.duty">
<a-input v-model:value="formData.fph" placeholder="请输入发票号" :disabled="disabled"></a-input>
</a-form-item>
</a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="地址" v-bind="validateInfos.address"> <a-form-item label="地址" v-bind="validateInfos.address">
<a-input v-model:value="formData.address" placeholder="请输入地址" :disabled="disabled"></a-input> <a-input v-model:value="formData.address" placeholder="请输入地址" :disabled="disabled"></a-input>
@ -93,6 +99,7 @@
id: '', id: '',
schoolid: '', schoolid: '',
teamsnumber: '', teamsnumber: '',
fph: '',
price: '', price: '',
kpPrice: '', kpPrice: '',
contacts: '', contacts: '',

Loading…
Cancel
Save