Browse Source

reactor: 市州通用-综合查询新增“受理时间”查询条件;

zhangchong 4 months ago
parent
commit
dbadba8e18
1 changed files with 141 additions and 121 deletions
  1. 141 121
      src/views/business/order/index.vue

+ 141 - 121
src/views/business/order/index.vue

@@ -1,127 +1,127 @@
 <template>
 	<div class="business-order-container layout-padding">
 		<div class="layout-padding-auto layout-padding-view pd20">
-				<vxe-grid v-bind="gridOptions" v-on="gridEvents" ref="gridRef" @checkbox-all="selectAllChangeEvent" @checkbox-change="selectChangeEvent">
-					<template #form>
-						<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline :disabled="state.loading">
-							<el-row>
-								<el-col>
-									<el-form-item label="快捷查询" prop="fastSearch">
-										<el-segmented
-											:options="[
-									{
-										value: 'all',
-										label: '全部',
-									},
-									{
-										value: 'city',
-										label: '市工单',
-									},
-									{
-										value: 'province',
-										label: '省工单',
-									},
-								]"
-											v-model="fastSearch"
-											@change="fastSearchChange"
-											:disabled="state.loading"
-										/>
-										<el-checkbox-group v-model="checkList" @change="changeCheckList" class="ml15">
-											<el-checkbox value="IsSensitiveWord" border>敏感类工单</el-checkbox>
-										</el-checkbox-group>
-									</el-form-item>
-									<el-form-item>
-										<el-button @click="contentRetrieval"><SvgIcon name="ele-DocumentCopy" class="mr5" />内容检索</el-button>
-									</el-form-item>
-								</el-col>
-							</el-row>
-							<el-form-item label="工单标题" prop="Keyword">
-								<el-input v-model.trim="state.queryParams.Keyword" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
-							</el-form-item>
-							<el-form-item label="工单编码" prop="No">
-								<el-input v-model.trim="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
-							</el-form-item>
-							<el-form-item label="生成时间" prop="crTime">
-								<el-date-picker
-									v-model="state.queryParams.crTime"
-									type="datetimerange"
-									unlink-panels
-									range-separator="至"
-									start-placeholder="开始时间"
-									end-placeholder="结束时间"
-									:shortcuts="shortcuts"
-									@change="handleQuery"
-									value-format="YYYY-MM-DD[T]HH:mm:ss"
-									:default-time="defaultTimeStartEnd"
-								/>
-							</el-form-item>
-							<el-form-item>
-								<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-								<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
-							</el-form-item>
-						</el-form>
-					</template>
-					<template #toolbar_buttons>
-						<el-button type="primary" @click="onCreateRepeatEvent" :loading="state.loading">
-							<SvgIcon name="ele-Plus" class="mr5" />创建重复性事件
-						</el-button>
-						<el-button type="primary" @click="onRevoke" :loading="state.loading" v-auth="'business:order:revoke'" :disabled="isChecked">
-							<SvgIcon name="ele-Setting" class="mr5" />设置撤销<span v-if="checkTable.length">({{ checkTable.length }})</span>
-						</el-button>
-						<el-button type="primary" @click="onObserve" v-auth="'business:order:observe'" :disabled="isChecked" :loading="state.loading"
-							>添加关注<span v-if="checkTable.length">({{ checkTable.length }})</span>
-						</el-button>
-						<el-button type="primary" @click="onEnd" v-auth="'business:order:end'" :disabled="isChecked" :loading="state.loading"
-							>设置终结件<span v-if="checkTable.length">({{ checkTable.length }})</span>
-						</el-button>
-						<el-button type="primary" @click="onJbExport" :disabled="isChecked" :loading="state.loading" v-auth="'business:order:jbdExport'"
-							><SvgIcon name="iconfont icon-daochu" class="mr5" />交办单导出<span v-if="checkTable.length">({{ checkTable.length }})</span></el-button
-						>
-						<el-button type="primary" @click="onUrge" v-auth="'business:order:urge'" :disabled="isChecked" :loading="state.loading"
-							><SvgIcon name="ele-Plus" class="mr5" />添加催办<span v-if="checkTable.length">({{ checkTable.length }})</span>
-						</el-button>
-					</template>
-					<template #statusText="{ row }">
-						<el-text type="danger" tag="b" v-if="[1, 2, 3, 9, 101, 102, 103, 104, 105, 200].includes(row.status)">{{ row.statusText }}</el-text>
-						<span v-else>{{ row.statusText }}</span>
-					</template>
-					<template #order_detail="{ row }">
-						<order-detail :order="row" @updateList="queryList(true)">{{ row.title }}</order-detail>
-					</template>
-					<template #action="{ row }">
-						<el-button
-							link
-							type="danger"
-							@click="onReturn(row)"
-							title="省工单退回"
-							v-auth="'business:order:return:province'"
-							v-if="
-								row.isProvince &&
-								(row.actualHandleOrgCode === '001' || row.actualHandleOrgCode === null || row.actualHandleOrgCode === '' || row.status === 0) &&
-								row.status < 300 &&
-								row.status !== 9 &&
-								!row.provinceSendBack
-							"
-						>
-							退回</el-button
-						>
-						<order-detail :order="row" @updateList="handleQuery" />
-					</template>
-					<template #pager>
-						<div class="flex-end" style="align-items: center">
-							<span v-loading="totalLoading" class="mr10">共 {{ totalCount }} 条</span>
-							<el-pagination
-								layout="prev, pager, next"
-								:total="state.total"
-								@current-change="handleCurrentChange"
-								:page-size="state.queryParams.PageSize"
-								:current-page="state.queryParams.PageIndex"
-								@size-change="handleSizeChange"
-								:disabled="state.loading"
+			<vxe-grid v-bind="gridOptions" v-on="gridEvents" ref="gridRef" @checkbox-all="selectAllChangeEvent" @checkbox-change="selectChangeEvent">
+				<template #form>
+					<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline :disabled="state.loading">
+						<el-row>
+							<el-col>
+								<el-form-item label="快捷查询" prop="fastSearch">
+									<el-segmented
+										:options="[
+											{
+												value: 'all',
+												label: '全部',
+											},
+											{
+												value: 'city',
+												label: '市工单',
+											},
+											{
+												value: 'province',
+												label: '省工单',
+											},
+										]"
+										v-model="fastSearch"
+										@change="fastSearchChange"
+										:disabled="state.loading"
+									/>
+									<el-checkbox-group v-model="checkList" @change="changeCheckList" class="ml15">
+										<el-checkbox value="IsSensitiveWord" border>敏感类工单</el-checkbox>
+									</el-checkbox-group>
+								</el-form-item>
+								<el-form-item>
+									<el-button @click="contentRetrieval"><SvgIcon name="ele-DocumentCopy" class="mr5" />内容检索</el-button>
+								</el-form-item>
+							</el-col>
+						</el-row>
+						<el-form-item label="工单标题" prop="Keyword">
+							<el-input v-model.trim="state.queryParams.Keyword" placeholder="工单标题" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="工单编码" prop="No">
+							<el-input v-model.trim="state.queryParams.No" placeholder="工单编码" clearable @keyup.enter="handleQuery" class="keyword-input" />
+						</el-form-item>
+						<el-form-item label="生成时间" prop="crTime">
+							<el-date-picker
+								v-model="state.queryParams.crTime"
+								type="datetimerange"
+								unlink-panels
+								range-separator="至"
+								start-placeholder="开始时间"
+								end-placeholder="结束时间"
+								:shortcuts="shortcuts"
+								@change="handleQuery"
+								value-format="YYYY-MM-DD[T]HH:mm:ss"
+								:default-time="defaultTimeStartEnd"
 							/>
-						</div>
-					</template>
-				</vxe-grid>
+						</el-form-item>
+						<el-form-item>
+							<el-button type="primary" @click="handleQuery" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+							<el-button @click="drawer = true" class="default-button"> <SvgIcon name="ele-Search" class="mr5" />更多查询</el-button>
+						</el-form-item>
+					</el-form>
+				</template>
+				<template #toolbar_buttons>
+					<el-button type="primary" @click="onCreateRepeatEvent" :loading="state.loading">
+						<SvgIcon name="ele-Plus" class="mr5" />创建重复性事件
+					</el-button>
+					<el-button type="primary" @click="onRevoke" :loading="state.loading" v-auth="'business:order:revoke'" :disabled="isChecked">
+						<SvgIcon name="ele-Setting" class="mr5" />设置撤销<span v-if="checkTable.length">({{ checkTable.length }})</span>
+					</el-button>
+					<el-button type="primary" @click="onObserve" v-auth="'business:order:observe'" :disabled="isChecked" :loading="state.loading"
+						>添加关注<span v-if="checkTable.length">({{ checkTable.length }})</span>
+					</el-button>
+					<el-button type="primary" @click="onEnd" v-auth="'business:order:end'" :disabled="isChecked" :loading="state.loading"
+						>设置终结件<span v-if="checkTable.length">({{ checkTable.length }})</span>
+					</el-button>
+					<el-button type="primary" @click="onJbExport" :disabled="isChecked" :loading="state.loading" v-auth="'business:order:jbdExport'"
+						><SvgIcon name="iconfont icon-daochu" class="mr5" />交办单导出<span v-if="checkTable.length">({{ checkTable.length }})</span></el-button
+					>
+					<el-button type="primary" @click="onUrge" v-auth="'business:order:urge'" :disabled="isChecked" :loading="state.loading"
+						><SvgIcon name="ele-Plus" class="mr5" />添加催办<span v-if="checkTable.length">({{ checkTable.length }})</span>
+					</el-button>
+				</template>
+				<template #statusText="{ row }">
+					<el-text type="danger" tag="b" v-if="[1, 2, 3, 9, 101, 102, 103, 104, 105, 200].includes(row.status)">{{ row.statusText }}</el-text>
+					<span v-else>{{ row.statusText }}</span>
+				</template>
+				<template #order_detail="{ row }">
+					<order-detail :order="row" @updateList="queryList(true)">{{ row.title }}</order-detail>
+				</template>
+				<template #action="{ row }">
+					<el-button
+						link
+						type="danger"
+						@click="onReturn(row)"
+						title="省工单退回"
+						v-auth="'business:order:return:province'"
+						v-if="
+							row.isProvince &&
+							(row.actualHandleOrgCode === '001' || row.actualHandleOrgCode === null || row.actualHandleOrgCode === '' || row.status === 0) &&
+							row.status < 300 &&
+							row.status !== 9 &&
+							!row.provinceSendBack
+						"
+					>
+						退回</el-button
+					>
+					<order-detail :order="row" @updateList="handleQuery" />
+				</template>
+				<template #pager>
+					<div class="flex-end" style="align-items: center">
+						<span v-loading="totalLoading" class="mr10">共 {{ totalCount }} 条</span>
+						<el-pagination
+							layout="prev, pager, next"
+							:total="state.total"
+							@current-change="handleCurrentChange"
+							:page-size="state.queryParams.PageSize"
+							:current-page="state.queryParams.PageIndex"
+							@size-change="handleSizeChange"
+							:disabled="state.loading"
+						/>
+					</div>
+				</template>
+			</vxe-grid>
 		</div>
 		<!-- 编辑重复性事件 -->
 		<repeat-event-edit ref="repeatEventEditRef" @updateList="handleQuery" />
@@ -130,6 +130,20 @@
 		<!--	更多查询	-->
 		<el-drawer v-model="drawer" title="更多查询" size="500px">
 			<el-form :model="state.queryParams" ref="drawerRuleFormRef" @submit.native.prevent label-width="100px">
+				<el-form-item label="受理时间" prop="slTime">
+					<el-date-picker
+						v-model="state.queryParams.slTime"
+						type="datetimerange"
+						unlink-panels
+						range-separator="至"
+						start-placeholder="开始时间"
+						end-placeholder="结束时间"
+						:shortcuts="shortcuts"
+						@change="handleQuery"
+						value-format="YYYY-MM-DD[T]HH:mm:ss"
+						:default-time="defaultTimeStartEnd"
+					/>
+				</el-form-item>
 				<el-form-item label="敏感词" prop="SensitiveWord" v-show="checkList.includes('IsSensitiveWord')">
 					<el-input v-model="state.queryParams.SensitiveWord" placeholder="敏感词" clearable @keyup.enter="handleQuery" />
 				</el-form-item>
@@ -334,7 +348,7 @@
 				<el-form-item label="信件内容">
 					<el-input v-model="state.ruleForm.content" placeholder="请填写信件内容" :autosize="{ minRows: 4, maxRows: 10 }" type="textarea"></el-input>
 				</el-form-item>
-<!--				<el-form-item label="检索范围">
+				<!--				<el-form-item label="检索范围">
 					<el-checkbox v-model="state.ruleForm.isContent">受理内容</el-checkbox>
 					<el-checkbox v-model="state.ruleForm.isFileOpinion">承办意见</el-checkbox>
 				</el-form-item>-->
@@ -431,6 +445,9 @@ const state = reactive<any>({
 		ReceiveProvinceNo: null, // 省编码
 		fbTime: [], // 发布时间
 		hfTime: [], // 回访时间
+		slTime: [], // 受理时间
+		StartTimeStart: null,
+		StartTimeEnd: null,
 	},
 	tableData: [], //表单
 	loading: false, // 加载
@@ -595,6 +612,9 @@ const queryList = (isQuery: boolean = false) => {
 		requestParams.value.CreationTimeStart = state.queryParams.crTime === null ? null : state.queryParams.crTime[0]; // 生成时间
 		requestParams.value.CreationTimeEnd = state.queryParams.crTime === null ? null : state.queryParams.crTime[1];
 		Reflect.deleteProperty(requestParams.value, 'crTime'); // 删除无用的参数
+		requestParams.value.StartTimeStart = state.queryParams.slTime === null ? null : state.queryParams.slTime[0]; // 受理时间
+		requestParams.value.StartTimeEnd = state.queryParams.slTime === null ? null : state.queryParams.slTime[1];
+		Reflect.deleteProperty(requestParams.value, 'slTime'); // 删除无用的参数
 		requestParams.value.ExpiredTimeStart = state.queryParams.exTime === null ? null : state.queryParams.exTime[0]; // 期满时间
 		requestParams.value.ExpiredTimeEnd = state.queryParams.exTime === null ? null : state.queryParams.exTime[1];
 		Reflect.deleteProperty(requestParams.value, 'exTime'); // 删除无用的参数