Browse Source

执法端-计划

dev-V1.0.1
庄锐波 5 months ago
parent
commit
4ca9f02ade
  1. 16
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfCpReserveController.java
  2. 12
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEfcodeCpReserveService.java
  3. 23
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EfcodeCpReserveServiceImpl.java
  4. 7
      zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/reserve.js
  5. 18
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/loginByPassword.vue
  6. 4
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/reserve/cp_reserve_manual.vue
  7. 8
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/reserve/cp_reserve_system.vue

16
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfCpReserveController.java

@ -66,11 +66,19 @@ public class AppEnfCpReserveController extends EfcodeCpReserveController {
} }
/** /**
* 拒绝预约 * 拒绝预约(系统匹配专用分支)
*/ */
@PutMapping("/reject/{id}") @PutMapping("/rejectBySystem/{id}")
public R<Void> reject(@PathVariable String id) { public R<Void> rejectBySystem(@PathVariable String id) {
return cpReserveService.rejectReserve(id); return cpReserveService.rejectReserveBySystem(id);
}
/**
* 拒绝预约(手动匹配专用分支)
*/
@PutMapping("/rejectByManual/{id}")
public R<Void> rejectByManual(@PathVariable String id) {
return cpReserveService.rejectReserveByManual(id);
} }
/** /**

12
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEfcodeCpReserveService.java

@ -104,12 +104,20 @@ public interface IEfcodeCpReserveService {
R<Void> approveReserveByManual(String reserveId); R<Void> approveReserveByManual(String reserveId);
/** /**
* 拒绝预约 * 拒绝预约(系统匹配专用分支)
* *
* @param reserveId 预约记录ID * @param reserveId 预约记录ID
* @return 操作结果 * @return 操作结果
*/ */
R<Void> rejectReserve(String reserveId); R<Void> rejectReserveBySystem(String reserveId);
/**
* 拒绝预约(手动匹配专用分支)
*
* @param reserveId 预约记录ID
* @return 操作结果
*/
R<Void> rejectReserveByManual(String reserveId);
/** /**
* 查询同组关联计划(同一planGroupId下的其他预约记录关联的计划信息) * 查询同组关联计划(同一planGroupId下的其他预约记录关联的计划信息)

23
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EfcodeCpReserveServiceImpl.java

@ -572,10 +572,29 @@ public class EfcodeCpReserveServiceImpl implements IEfcodeCpReserveService {
} }
/** /**
* 拒绝预约 * 拒绝预约(系统匹配专用分支)
*/ */
@Override @Override
public R<Void> rejectReserve(String reserveId) { public R<Void> rejectReserveBySystem(String reserveId) {
EfcodeCpReserve reserve = baseMapper.selectById(reserveId);
if (reserve == null) {
return R.fail("预约记录不存在");
}
if (!Long.valueOf(3L).equals(reserve.getOpStatus())) {
return R.fail("该预约记录已被处理");
}
reserve.setOpStatus(2L); // 拒绝
reserve.setOpTime(new Date());
baseMapper.updateById(reserve);
afterOperate(reserve, "reject");
return R.ok();
}
/**
* 拒绝预约(手动匹配专用分支)
*/
@Override
public R<Void> rejectReserveByManual(String reserveId) {
EfcodeCpReserve reserve = baseMapper.selectById(reserveId); EfcodeCpReserve reserve = baseMapper.selectById(reserveId);
if (reserve == null) { if (reserve == null) {
return R.fail("预约记录不存在"); return R.fail("预约记录不存在");

7
zdxt-web-client/zdxt-efcode-enforcement-app/src/api/enforcement/reserve.js

@ -17,8 +17,11 @@ export const approveReserve = (id, params, success, error) => {
return _put(url, {}, success, error); return _put(url, {}, success, error);
}; };
// 预约处理:拒绝 // 预约处理:拒绝(系统匹配专用)
export const rejectReserve = (id, success, error) => _put(reserveBaseUrl + "/reject/" + id, {}, success, error); export const rejectReserveBySystem = (id, success, error) => _put(reserveBaseUrl + "/rejectBySystem/" + id, {}, success, error);
// 预约处理:拒绝(手动预约专用)
export const rejectReserveByManual = (id, success, error) => _put(reserveBaseUrl + "/rejectByManual/" + id, {}, success, error);
// 查询同组关联计划(同planGroupId下的其他预约记录关联的计划信息) // 查询同组关联计划(同planGroupId下的其他预约记录关联的计划信息)
export const getReserveGroupMembers = (planGroupId, excludeId, success, error) => _get(reserveBaseUrl + "/groupMembers", { planGroupId, excludeId }, success, error); export const getReserveGroupMembers = (planGroupId, excludeId, success, error) => _get(reserveBaseUrl + "/groupMembers", { planGroupId, excludeId }, success, error);

18
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/loginByPassword.vue

@ -28,7 +28,7 @@
<van-cell <van-cell
v-for="(item, index) in testUsers" v-for="(item, index) in testUsers"
:key="index" :key="index"
:title="item.name" :title="item.name+' / '+item.bureauUnitName"
:label="'账号:' + item.account" :label="'账号:' + item.account"
is-link is-link
@click="selectTestUser(item)" @click="selectTestUser(item)"
@ -54,14 +54,13 @@ const loginParam = reactive({
const showTestPicker = ref(false); const showTestPicker = ref(false);
const testUsers = [ const testUsers = [
{account: 'liuqianlin', name: '刘倩琳', password: 'szsf@zfjd'}, {account: 'liuqianlin', name: '刘倩琳', password: 'szsf@zfjd',bureauUnitName:"深圳市司法局"},
{account: 'baining', name: '白宁', password: 'szsf@zfjd'}, {account: 'baining', name: '白宁', password: 'szsf@zfjd',bureauUnitName:"深圳市坪山区司法局"},
{account: 'caizifan', name: '蔡梓帆', password: 'szsf@zfjd'}, {account: 'caizifan', name: '蔡梓帆', password: 'szsf@zfjd',bureauUnitName:"深圳市福田区司法局"},
{account: 'chenchong4', name: '陈冲', password: 'szsf@zfjd'}, {account: 'chenchong4', name: '陈冲', password: 'szsf@zfjd',bureauUnitName:"深圳市宝安区司法局"},
{account: 'chenggaozhan', name: '程高展', password: 'szsf@zfjd'}, {account: 'chenggaozhan', name: '程高展', password: 'szsf@zfjd',bureauUnitName:"深圳市南山区司法局"},
{account: 'chenhaitao2', name: '陈海涛', password: 'szsf@zfjd'}, {account: 'chenhaitao2', name: '陈海涛', password: 'szsf@zfjd',bureauUnitName:"深圳市南山区司法局"},
{account: 'chenhanyu', name: '陈汉羽', password: 'szsf@zfjd'} {account: 'chenhanyu', name: '陈汉羽', password: 'szsf@zfjd',bureauUnitName:"深圳市坪山区司法局"}
]; ];
const selectTestUser = (item) => { const selectTestUser = (item) => {
@ -100,6 +99,7 @@ const doLogin = (secretName, secretKey) => {
useCommon.SET_ORGAN_NAME(response.data.organName || ""); useCommon.SET_ORGAN_NAME(response.data.organName || "");
useCommon.SET_BUREAU_UNIT_ID(response.data.bureauUnitId); useCommon.SET_BUREAU_UNIT_ID(response.data.bureauUnitId);
useCommon.SET_BUREAU_UNIT_NAME(response.data.bureauUnitName || ""); useCommon.SET_BUREAU_UNIT_NAME(response.data.bureauUnitName || "");
console.log("bureauUnitName", response.data.bureauUnitName);
console.log("enforcement login success", useCommon.userId); console.log("enforcement login success", useCommon.userId);
router.push({name: "enforcementHome"}); router.push({name: "enforcementHome"});
} else { } else {

4
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/reserve/cp_reserve_manual.vue

@ -98,7 +98,7 @@
<script setup name="cpReserveManual"> <script setup name="cpReserveManual">
import { showConfirmDialog, showSuccessToast, showDialog } from 'vant'; import { showConfirmDialog, showSuccessToast, showDialog } from 'vant';
import { getReserveList, approveReserve, rejectReserve } from '@/api/enforcement/reserve'; import { getReserveList, approveReserve, rejectReserveByManual } from '@/api/enforcement/reserve';
const selectedId = ref(null); const selectedId = ref(null);
const reserveList = ref([]); const reserveList = ref([]);
@ -246,7 +246,7 @@ const onReject = (item) => {
title: '提示', title: '提示',
message: '确定拒绝该预约申请吗?', message: '确定拒绝该预约申请吗?',
}).then(() => { }).then(() => {
rejectReserve(item.id, (res) => { rejectReserveByManual(item.id, (res) => {
if (res.code === 200) { if (res.code === 200) {
showSuccessToast('已拒绝'); showSuccessToast('已拒绝');
afterOperate(item, 'reject'); afterOperate(item, 'reject');

8
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/my/reserve/cp_reserve_system.vue

@ -60,6 +60,10 @@
<div v-if="selectedId === item.id && groupMembers.length > 0" class="group-members"> <div v-if="selectedId === item.id && groupMembers.length > 0" class="group-members">
<div class="group-title">关联计划</div> <div class="group-title">关联计划</div>
<div v-for="(member, idx) in groupMembers" :key="member.id" class="member-item"> <div v-for="(member, idx) in groupMembers" :key="member.id" class="member-item">
<div class="member-row">
<span class="member-label">预约状态:</span>
<span class="member-value member-status" :class="getStatusClass(member.opStatus)">{{ getStatusText(member.opStatus) }}</span>
</div>
<div class="member-row"> <div class="member-row">
<span class="member-label">执法单位:</span> <span class="member-label">执法单位:</span>
<span class="member-value">{{ member.bureauDeptName || '-' }}</span> <span class="member-value">{{ member.bureauDeptName || '-' }}</span>
@ -132,7 +136,7 @@
<script setup name="cpReserveSystem"> <script setup name="cpReserveSystem">
import { showConfirmDialog, showSuccessToast, showDialog } from 'vant'; import { showConfirmDialog, showSuccessToast, showDialog } from 'vant';
import { getReserveList, approveReserve, rejectReserve, getReserveGroupMembers } from '@/api/enforcement/reserve'; import { getReserveList, approveReserve, rejectReserveBySystem, getReserveGroupMembers } from '@/api/enforcement/reserve';
const selectedId = ref(null); const selectedId = ref(null);
const groupMembers = ref([]); // 选中卡片的同组关联计划 const groupMembers = ref([]); // 选中卡片的同组关联计划
@ -364,7 +368,7 @@ const onReject = (item) => {
title: '提示', title: '提示',
message: '确定拒绝该系统匹配吗?', message: '确定拒绝该系统匹配吗?',
}).then(() => { }).then(() => {
rejectReserve(item.id, (res) => { rejectReserveBySystem(item.id, (res) => {
if (res.code === 200) { if (res.code === 200) {
showSuccessToast('已拒绝'); showSuccessToast('已拒绝');
afterOperate(); afterOperate();

Loading…
Cancel
Save