From d06afcaf821b178b8b6169779842a56b423bd6e6 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 22 四月 2025 17:04:15 +0800
Subject: [PATCH] 代码初始化
---
admin/src/views/business/workorderShe.vue | 52 ++++++++++--
admin/src/views/business/workorderDbh.vue | 45 +++++++++-
admin/src/views/business/workorderDcaChild.vue | 51 +++++++++++-
server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java | 4
server/src/main/resources/application-dev.yml | 3
server/src/main/java/com/doumee/dao/business/model/Workorder.java | 7 +
admin/src/utils/util.js | 25 ++++++
admin/src/views/business/workorderDca.vue | 47 ++++++++++-
8 files changed, 204 insertions(+), 30 deletions(-)
diff --git a/admin/src/utils/util.js b/admin/src/utils/util.js
index 276e62d..b69763d 100644
--- a/admin/src/utils/util.js
+++ b/admin/src/utils/util.js
@@ -23,3 +23,28 @@
}
return data
}
+
+
+export function timeForMat (count) {
+ // 鎷兼帴鏃堕棿
+ const time1 = new Date()
+ const time2 = new Date()
+ if (count === 1) {
+ // time1.setTime(time1.getTime() - (24 * 60 * 60 * 1000))
+ time1.setTime(time1.getTime())
+ } else {
+ time1.setTime(time1.getTime())
+ }
+
+ const Y1 = time1.getFullYear()
+ const M1 = ((time1.getMonth() + 1) > 9 ? (time1.getMonth() + 1) : '0' + (time1.getMonth() + 1))
+ const D1 = (time1.getDate() > 9 ? time1.getDate() : '0' + time1.getDate())
+ const timer1 = Y1 + '-' + M1 + '-' + D1 + ' ' + '23:59:59' // 褰撳墠鏃堕棿
+
+ time2.setTime(time2.getTime() - (24 * 60 * 60 * 1000 * count))
+ const Y2 = time2.getFullYear()
+ const M2 = ((time2.getMonth() + 1) > 9 ? (time2.getMonth() + 1) : '0' + (time2.getMonth() + 1))
+ const D2 = (time2.getDate() > 9 ? time2.getDate() : '0' + time2.getDate())
+ const timer2 = Y2 + '-' + M2 + '-' + D2 + ' ' + '00:00:00' // 涔嬪墠鐨�7澶╂垨鑰�30澶�
+ return [timer2, timer1]
+}
diff --git a/admin/src/views/business/workorderDbh.vue b/admin/src/views/business/workorderDbh.vue
index 36bcd57..4be20da 100644
--- a/admin/src/views/business/workorderDbh.vue
+++ b/admin/src/views/business/workorderDbh.vue
@@ -4,12 +4,6 @@
<div slot="search-form">
<el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
<el-form-item label="椋庨櫓绫诲瀷" prop="typeIdPath">
-<!-- <el-cascader v-model="searchForm.categoryList" :options="categorys" @change="handleChangeCategory" :show-all-levels="false"
- clearable filterable :props="categoryprops" >
- <template slot-scope="{ node, data }">
- <span>{{ data.name }}</span> <!– 鑷畾涔夋樉绀哄唴瀹� –>
- </template>
- </el-cascader>-->
<treeselect
style="width: 150px"
v-model="searchForm.typeIdPath"
@@ -28,6 +22,21 @@
</el-form-item>
<el-form-item label="宸ュ崟鍙�" prop="code">
<el-input v-model="searchForm.code" clearable placeholder="璇疯緭鍏ュ伐鍗曞彿" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="鎻愪氦鏃堕棿" prop="queryStartTime">
+ <el-date-picker type="datetime" v-model="searchForm.queryStartTime" value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="璇烽�夋嫨寮�濮嬫椂闂�" @change="changeRadio" />
+ </el-form-item>
+ <el-form-item label="" prop="queryEndTime">
+ <el-date-picker type="datetime" v-model="searchForm.queryEndTime" value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="璇烽�夋嫨缁撴潫鏃堕棿" @change="changeRadio" />
+ </el-form-item>
+ <el-form-item label="" prop="radio">
+ <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
+ <el-radio-button label="0">褰撳ぉ</el-radio-button>
+ <el-radio-button label="1">杩�7澶�</el-radio-button>
+ <el-radio-button label="2">杩�30澶�</el-radio-button>
+ </el-radio-group>
</el-form-item>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
@@ -104,6 +113,7 @@
import Pagination from '@/components/common/Pagination'
import OperaWorkorderDetailDbhWindow from '@/components/business/OperaWorkorderDetailDbhWindow'
import { treeList } from '@/api/business/category'
+import { timeForMat } from '@/utils/util'
export default {
name: 'Workorder',
extends: BaseTable,
@@ -112,6 +122,9 @@
return {
// 鎼滅储
searchForm: {
+ queryStartTime: null,
+ queryEndTime: null,
+ radio: null,
type: '3',
memberName: '',
memberCompanyId: '',
@@ -141,6 +154,26 @@
this.search()
},
methods: {
+ changeRadio(e) {
+ if (e === '0') {
+ this.searchForm.queryStartTime = timeForMat(0)[0]
+ this.searchForm.queryEndTime = timeForMat(0)[1]
+ } else if (e === '1') {
+ this.searchForm.queryStartTime = timeForMat(6)[0]
+ this.searchForm.queryEndTime = timeForMat(6)[1]
+ } else if (e === '2') {
+ this.searchForm.queryStartTime = timeForMat(29)[0]
+ this.searchForm.queryEndTime = timeForMat(29)[1]
+ } else {
+ this.searchForm.radio = ''
+ }
+ if (this.searchForm.queryStartTime && this.searchForm.endTime && new Date(this.searchForm.startTime).getTime() > new Date(this.searchForm.endTime).getTime()) {
+ this.$message.error('寮�濮嬫椂闂翠笉鑳藉ぇ浜庣粨鏉熸椂闂�')
+ this.searchForm.queryStartTime = ''
+ return
+ }
+ this.search()
+ },
normalizeOptions(node) {
if (node.childList && !node.childList.length) {
// 鍘绘帀children=[]鐨刢hildren灞炴��
diff --git a/admin/src/views/business/workorderDca.vue b/admin/src/views/business/workorderDca.vue
index 8664863..84a77db 100644
--- a/admin/src/views/business/workorderDca.vue
+++ b/admin/src/views/business/workorderDca.vue
@@ -4,7 +4,7 @@
<div slot="search-form">
<el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
<el-form-item label="瑙傚療涓婚" prop="typeId">
- <el-select v-model="searchForm.typeId" @change="search">
+ <el-select v-model="searchForm.typeId" @change="search" style="width: 120px">
<el-option clearable filterable
v-for="item in categorys"
:key="item.id"
@@ -14,12 +14,25 @@
</el-select>
</el-form-item>
<el-form-item label="涓婃姤浜哄憳" prop="memberName">
- <el-input v-model="searchForm.memberName" clearable placeholder="浜哄憳濮撳悕鎴栨墜鏈哄彿" @keypress.enter.native="search"></el-input>
-
-
+ <el-input v-model="searchForm.memberName" style="width: 120px" clearable placeholder="浜哄憳濮撳悕鎴栨墜鏈哄彿" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="宸ュ崟鍙�" prop="code">
- <el-input v-model="searchForm.code" clearable placeholder="璇疯緭鍏ュ伐鍗曞彿" @keypress.enter.native="search"></el-input>
+ <el-input v-model="searchForm.code" clearable style="width: 150px" placeholder="宸ュ崟鍙�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="鎻愪氦鏃堕棿" prop="queryStartTime">
+ <el-date-picker style="width: 185px" type="datetime" v-model="searchForm.queryStartTime" value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="寮�濮嬫椂闂�" @change="changeRadio" />
+ </el-form-item>
+ <el-form-item label="" prop="queryEndTime">
+ <el-date-picker style="width: 185px" type="datetime" v-model="searchForm.queryEndTime" value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="缁撴潫鏃堕棿" @change="changeRadio" />
+ </el-form-item>
+ <el-form-item label="" prop="radio">
+ <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
+ <el-radio-button label="0">褰撳ぉ</el-radio-button>
+ <el-radio-button label="1">杩�7澶�</el-radio-button>
+ <el-radio-button label="2">杩�30澶�</el-radio-button>
+ </el-radio-group>
</el-form-item>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
@@ -92,6 +105,7 @@
import Pagination from '@/components/common/Pagination'
import OperaWorkorderDetailDcaWindow from '@/components/business/OperaWorkorderDetailDcaWindow'
import { allList } from '@/api/business/category'
+import { timeForMat } from '@/utils/util'
export default {
name: 'Workorder',
extends: BaseTable,
@@ -100,6 +114,9 @@
return {
// 鎼滅储
searchForm: {
+ queryStartTime: null,
+ queryEndTime: null,
+ radio: null,
type: '1',
memberName: '',
memberCompanyId: '',
@@ -128,6 +145,26 @@
this.search()
},
methods: {
+ changeRadio(e) {
+ if (e === '0') {
+ this.searchForm.queryStartTime = timeForMat(0)[0]
+ this.searchForm.queryEndTime = timeForMat(0)[1]
+ } else if (e === '1') {
+ this.searchForm.queryStartTime = timeForMat(6)[0]
+ this.searchForm.queryEndTime = timeForMat(6)[1]
+ } else if (e === '2') {
+ this.searchForm.queryStartTime = timeForMat(29)[0]
+ this.searchForm.queryEndTime = timeForMat(29)[1]
+ } else {
+ this.searchForm.radio = ''
+ }
+ if (this.searchForm.queryStartTime && this.searchForm.endTime && new Date(this.searchForm.startTime).getTime() > new Date(this.searchForm.endTime).getTime()) {
+ this.$message.error('寮�濮嬫椂闂翠笉鑳藉ぇ浜庣粨鏉熸椂闂�')
+ this.searchForm.queryStartTime = ''
+ return
+ }
+ this.search()
+ },
handleChangeCategory (value) {
if (this.searchForm.categoryList && this.searchForm.categoryList.length >= 1) {
this.searchForm.typeId = this.searchForm.categoryList[this.searchForm.categoryList.length - 1]
diff --git a/admin/src/views/business/workorderDcaChild.vue b/admin/src/views/business/workorderDcaChild.vue
index 0284d0c..4238c5b 100644
--- a/admin/src/views/business/workorderDcaChild.vue
+++ b/admin/src/views/business/workorderDcaChild.vue
@@ -4,18 +4,18 @@
<div slot="search-form">
<el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
<el-form-item label="瑙傚療涓婚" prop="typeId">
- <el-select v-model="searchForm.typeId" @change="changeType" style="width: 120px">
+ <el-select v-model="searchForm.typeId" placeholder="涓�绾т富棰�" clearable @change="changeType" style="width: 120px">
<el-option clearable filterable
v-for="item in categorys"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
- </el-select> -
+ </el-select>
</el-form-item>
<el-form-item label="" prop="categoryId">
- <el-select v-model="searchForm.categoryId" @change="search" style="width: 120px">
- <el-option clearable filterable
+ <el-select v-model="searchForm.categoryId" clearable placeholder="浜岀骇涓婚" style="width: 120px" @change="search" >
+ <el-option filterable
v-for="item in categorys1"
:key="item.id"
:label="item.name"
@@ -24,10 +24,25 @@
</el-select>
</el-form-item>
<el-form-item label="涓婃姤浜哄憳" prop="memberName">
- <el-input v-model="searchForm.memberName" clearable placeholder="浜哄憳濮撳悕鎴栨墜鏈哄彿" @keypress.enter.native="search"></el-input>
+ <el-input v-model="searchForm.memberName" style="width: 120px" clearable placeholder="浜哄憳濮撳悕鎴栨墜鏈哄彿" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="宸ュ崟鍙�" prop="code">
- <el-input v-model="searchForm.code" clearable placeholder="璇疯緭鍏ュ伐鍗曞彿" @keypress.enter.native="search"></el-input>
+ <el-input v-model="searchForm.code" style="width: 120px" clearable placeholder="宸ュ崟鍙�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="鎻愪氦鏃堕棿" prop="queryStartTime">
+ <el-date-picker type="datetime" v-model="searchForm.queryStartTime" value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="寮�濮嬫椂闂�" @change="changeRadio" />
+ </el-form-item>
+ <el-form-item label="" prop="queryEndTime">
+ <el-date-picker type="datetime" v-model="searchForm.queryEndTime" value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="缁撴潫鏃堕棿" @change="changeRadio" />
+ </el-form-item>
+ <el-form-item label="" prop="radio">
+ <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
+ <el-radio-button label="0">褰撳ぉ</el-radio-button>
+ <el-radio-button label="1">杩�7澶�</el-radio-button>
+ <el-radio-button label="2">杩�30澶�</el-radio-button>
+ </el-radio-group>
</el-form-item>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
@@ -108,6 +123,7 @@
import Pagination from '@/components/common/Pagination'
import OperaWorkorderDetailDcaInfoWindow from '@/components/business/OperaWorkorderDetailDcaInfoWindow'
import { allList } from '@/api/business/category'
+import {timeForMat} from "@/utils/util";
export default {
name: 'Workorder',
extends: BaseTable,
@@ -116,6 +132,9 @@
return {
// 鎼滅储
searchForm: {
+ queryStartTime: null,
+ queryEndTime: null,
+ radio: null,
type: '2',
memberName: '',
memberCompanyId: '',
@@ -146,6 +165,26 @@
this.search()
},
methods: {
+ changeRadio(e) {
+ if (e === '0') {
+ this.searchForm.queryStartTime = timeForMat(0)[0]
+ this.searchForm.queryEndTime = timeForMat(0)[1]
+ } else if (e === '1') {
+ this.searchForm.queryStartTime = timeForMat(6)[0]
+ this.searchForm.queryEndTime = timeForMat(6)[1]
+ } else if (e === '2') {
+ this.searchForm.queryStartTime = timeForMat(29)[0]
+ this.searchForm.queryEndTime = timeForMat(29)[1]
+ } else {
+ this.searchForm.radio = ''
+ }
+ if (this.searchForm.queryStartTime && this.searchForm.endTime && new Date(this.searchForm.startTime).getTime() > new Date(this.searchForm.endTime).getTime()) {
+ this.$message.error('寮�濮嬫椂闂翠笉鑳藉ぇ浜庣粨鏉熸椂闂�')
+ this.searchForm.queryStartTime = ''
+ return
+ }
+ this.search()
+ },
changeType(){
this.search()
this.categorys1 = []
diff --git a/admin/src/views/business/workorderShe.vue b/admin/src/views/business/workorderShe.vue
index 7b7e7e8..4e073ac 100644
--- a/admin/src/views/business/workorderShe.vue
+++ b/admin/src/views/business/workorderShe.vue
@@ -4,14 +4,8 @@
<div slot="search-form">
<el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
<el-form-item label="浼ゅ绫诲瀷" prop="typeIdPath">
-<!-- <el-cascader v-model="searchForm.categoryList" :options="categorys" @change="handleChangeCategory" :show-all-levels="false"
- clearable filterable :props="categoryprops" >
- <template slot-scope="{ node, data }">
- <span>{{ data.name }}</span> <!– 鑷畾涔夋樉绀哄唴瀹� –>
- </template>
- </el-cascader>-->
<treeselect
- style="width: 150px"
+ style="width: 200px"
v-model="searchForm.typeIdPath"
placeholder="浼ゅ绫诲瀷"
clearable
@@ -24,10 +18,25 @@
noResultsText="娌℃湁鍖归厤鐨勭粨鏋�" />
</el-form-item>
<el-form-item label="涓婃姤浜哄憳" prop="memberName">
- <el-input v-model="searchForm.memberName" clearable placeholder="浜哄憳濮撳悕鎴栨墜鏈哄彿" @keypress.enter.native="search"></el-input>
+ <el-input v-model="searchForm.memberName" style="width: 150px" clearable placeholder="浜哄憳濮撳悕鎴栨墜鏈哄彿" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="宸ュ崟鍙�" prop="code">
- <el-input v-model="searchForm.code" clearable placeholder="璇疯緭鍏ュ伐鍗曞彿" @keypress.enter.native="search"></el-input>
+ <el-input v-model="searchForm.code" clearable style="width: 150px" placeholder="宸ュ崟鍙�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="鎻愪氦鏃堕棿" prop="queryStartTime">
+ <el-date-picker type="datetime" v-model="searchForm.queryStartTime" style="width: 190px" value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="寮�濮嬫椂闂�" @change="changeRadio" />
+ </el-form-item>
+ <el-form-item label="" prop="queryEndTime">
+ <el-date-picker type="datetime" v-model="searchForm.queryEndTime" style="width: 190px" value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="缁撴潫鏃堕棿" @change="changeRadio" />
+ </el-form-item>
+ <el-form-item label="" prop="radio">
+ <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
+ <el-radio-button label="0">褰撳ぉ</el-radio-button>
+ <el-radio-button label="1">杩�7澶�</el-radio-button>
+ <el-radio-button label="2">杩�30澶�</el-radio-button>
+ </el-radio-group>
</el-form-item>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
@@ -128,6 +137,7 @@
import Pagination from '@/components/common/Pagination'
import OperaWorkorderDetailSheWindow from '@/components/business/OperaWorkorderDetailSheWindow'
import { treeList } from '@/api/business/category'
+import {timeForMat} from "@/utils/util";
export default {
name: 'Workorder',
extends: BaseTable,
@@ -136,6 +146,9 @@
return {
// 鎼滅储
searchForm: {
+ queryStartTime: null,
+ queryEndTime: null,
+ radio: null,
type: '0',
memberName: '',
memberCompanyId: '',
@@ -165,6 +178,27 @@
this.search()
},
methods: {
+
+ changeRadio(e) {
+ if (e === '0') {
+ this.searchForm.queryStartTime = timeForMat(0)[0]
+ this.searchForm.queryEndTime = timeForMat(0)[1]
+ } else if (e === '1') {
+ this.searchForm.queryStartTime = timeForMat(6)[0]
+ this.searchForm.queryEndTime = timeForMat(6)[1]
+ } else if (e === '2') {
+ this.searchForm.queryStartTime = timeForMat(29)[0]
+ this.searchForm.queryEndTime = timeForMat(29)[1]
+ } else {
+ this.searchForm.radio = ''
+ }
+ if (this.searchForm.queryStartTime && this.searchForm.endTime && new Date(this.searchForm.startTime).getTime() > new Date(this.searchForm.endTime).getTime()) {
+ this.$message.error('寮�濮嬫椂闂翠笉鑳藉ぇ浜庣粨鏉熸椂闂�')
+ this.searchForm.queryStartTime = ''
+ return
+ }
+ this.search()
+ },
normalizeOptions(node) {
if (node.childList && !node.childList.length) {
// 鍘绘帀children=[]鐨刢hildren灞炴��
diff --git a/server/src/main/java/com/doumee/dao/business/model/Workorder.java b/server/src/main/java/com/doumee/dao/business/model/Workorder.java
index c59d449..2c08031 100644
--- a/server/src/main/java/com/doumee/dao/business/model/Workorder.java
+++ b/server/src/main/java/com/doumee/dao/business/model/Workorder.java
@@ -238,4 +238,11 @@
@TableField(exist = false)
private List<Workorder> dcaChildList;
+ @ApiModelProperty(value = "鏌ヨ寮�濮嬫椂闂�")
+ @TableField(exist = false)
+ private Date queryStartTime;
+ @ApiModelProperty(value = "鏌ヨ缁撴潫鏃堕棿")
+ @TableField(exist = false)
+ private Date queryEndTime;
+
}
diff --git a/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java b/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
index 1a32444..8b80a22 100644
--- a/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
+++ b/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
@@ -757,7 +757,9 @@
.eq( pageWrap.getDcaNoNum() != null, Workorder::getDcaNoNum, pageWrap.getDcaNoNum())
.eq( pageWrap.getDcaRecordId() != null, Workorder::getDcaRecordId, pageWrap.getDcaRecordId())
.likeRight( pageWrap.getTypeIdPath() != null,"c3.id_path", pageWrap.getTypeIdPath())
- .eq( pageWrap.getDcaCsIds() != null, Workorder::getDcaCsIds, pageWrap.getDcaCsIds()) ;
+ .eq( pageWrap.getDcaCsIds() != null, Workorder::getDcaCsIds, pageWrap.getDcaCsIds())
+ .ge( pageWrap.getQueryStartTime() != null, Workorder::getCreateDate,pageWrap.getQueryStartTime())
+ .le( pageWrap.getQueryEndTime() != null, Workorder::getCreateDate,pageWrap.getQueryEndTime()) ;
if ( pageWrap.getMemberName() != null) {
queryWrapper.and( ms->ms.like(Member::getName, pageWrap.getMemberName())
.or().like(Member::getPhone, pageWrap.getMemberName()) );
diff --git a/server/src/main/resources/application-dev.yml b/server/src/main/resources/application-dev.yml
index 938c49d..a478110 100644
--- a/server/src/main/resources/application-dev.yml
+++ b/server/src/main/resources/application-dev.yml
@@ -4,9 +4,6 @@
spring:
# 鏁版嵁婧愰厤缃�
datasource:
-# url: jdbc:mysql://localhost:3306/lianhelihua_sh?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
-# username: root
-# password: Titi@168.com
url: jdbc:mysql://112.26.66.25:3306/lianhelihua_sh?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: Doumee@168&QWERT
--
Gitblit v1.9.3