|
@@ -1,62 +1,62 @@
|
|
|
<template>
|
|
|
<div class="card-search">
|
|
|
- <a-form ref="formRef" name="advanced_search" class="ant-advanced-search-form" :model="searchParams">
|
|
|
+ <a-form ref="formRef" :model="searchParams" class="ant-advanced-search-form" name="advanced_search">
|
|
|
<a-row :gutter="24">
|
|
|
<a-col :span="6">
|
|
|
- <a-form-item label="姓名" :label-col="{span:6}" name="userName">
|
|
|
- <a-input v-model:value="searchParams.userName" placeholder="" :allow-clear="true"/>
|
|
|
+ <a-form-item :label-col="{span:6}" label="姓名" name="userName">
|
|
|
+ <a-input v-model:value="searchParams.userName" :allow-clear="true" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="6">
|
|
|
- <a-form-item label="工作日期" :label-col="{span:6}" name="workDate">
|
|
|
- <a-range-picker format="YYYY-MM-DD" :placeholder="['开始日期', '结束日期']"
|
|
|
- v-model:value="workDate" @change="onRangeChange"/>
|
|
|
+ <a-form-item :label-col="{span:6}" label="工作日期" name="workDate">
|
|
|
+ <a-range-picker v-model:value="workDate" :placeholder="['开始日期', '结束日期']"
|
|
|
+ format="YYYY-MM-DD" @change="onRangeChange"/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="6">
|
|
|
- <a-form-item label="日志类型" :label-col="{span:6}" name="doTypeID">
|
|
|
- <a-select ref="select"
|
|
|
- v-model:value="searchParams.doTypeID" :options="logTypeList"
|
|
|
- :field-names="{ label: 'name', value: 'value' }" @change="onSearch" :allow-clear="true">
|
|
|
+ <a-form-item :label-col="{span:6}" label="日志类型" name="doTypeID">
|
|
|
+ <a-select ref="select"
|
|
|
+ v-model:value="searchParams.doTypeID" :allow-clear="true"
|
|
|
+ :field-names="{ label: 'name', value: 'value' }" :options="logTypeList" @change="onSearch">
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="6" style="text-align: left">
|
|
|
- <a-button type="primary" html-type="submit" @click="onSearch">查询</a-button>
|
|
|
+ <a-button html-type="submit" type="primary" @click="onSearch">查询</a-button>
|
|
|
<a-button style="margin: 0 8px" @click="formRef.resetFields();onReset();">重置</a-button>
|
|
|
<a style="font-size: 12px" @click="expand = !expand">
|
|
|
<template v-if="expand">
|
|
|
- <UpOutlined />
|
|
|
+ <UpOutlined/>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <DownOutlined />
|
|
|
+ <DownOutlined/>
|
|
|
</template>
|
|
|
{{ expand ? '收缩' : '展开' }}
|
|
|
</a>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
- <a-row :gutter="24" v-show="expand">
|
|
|
+ <a-row v-show="expand" :gutter="24">
|
|
|
<a-col :span="6">
|
|
|
- <a-form-item label="所属县区" :label-col="{span:6}" name="regionCode">
|
|
|
+ <a-form-item :label-col="{span:6}" label="所属县区" name="regionCode">
|
|
|
<a-select
|
|
|
ref="select"
|
|
|
v-model:value="searchParams.regionCode"
|
|
|
- :options="regionList"
|
|
|
- :field-names="{ label: 'name', value: 'code' }"
|
|
|
:allow-clear="true"
|
|
|
+ :field-names="{ label: 'name', value: 'code' }"
|
|
|
+ :options="regionList"
|
|
|
@change="changeRegion"
|
|
|
>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="6">
|
|
|
- <a-form-item label="所属街道" :label-col="{span:6}" name="streetCode">
|
|
|
+ <a-form-item :label-col="{span:6}" label="所属街道" name="streetCode">
|
|
|
<a-select
|
|
|
ref="select"
|
|
|
v-model:value="searchParams.streetCode"
|
|
|
- :options="streetList"
|
|
|
- :field-names="{ label: 'name', value: 'code' }"
|
|
|
:allow-clear="true"
|
|
|
+ :field-names="{ label: 'name', value: 'code' }"
|
|
|
+ :options="streetList"
|
|
|
@change="onSearch"
|
|
|
>
|
|
|
</a-select>
|
|
@@ -65,23 +65,27 @@
|
|
|
</a-row>
|
|
|
<a-row class="edit-operation">
|
|
|
<a-col :span="24" style="text-align: right">
|
|
|
- <a-button type="primary" html-type="submit" functioncode="T01040202" @click='onAdd'>新增</a-button>
|
|
|
- <BExportExcel :title="'导出'" :filename="'工作日志信息'" :url="'taskAndLog/doWork/export'" :params="{...searchParams, rows:100000,doWorkIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
|
|
|
+ <a-button functioncode="T01040202" html-type="submit" type="primary" @click='onAdd'>新增</a-button>
|
|
|
+ <BExportExcel :filename="'工作日志信息'" :params="{...searchParams, rows:100000,doWorkIDList:formState.selectedRowKeys.join(',')}" :title="'导出'"
|
|
|
+ :url="'taskAndLog/doWork/export'"></BExportExcel>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
</a-form>
|
|
|
<div class="search-result-list">
|
|
|
- <a-table :columns="columns" :data-source="dataList" :scroll="{ x:'100%', y: 500 }" :pagination="pagination"
|
|
|
- :loading="formState.loading"
|
|
|
- @change="handleTableChange"
|
|
|
- :row-selection="{ selectedRowKeys: formState.selectedRowKeys, onChange: onSelectChange}"
|
|
|
+ <a-table :columns="columns" :data-source="dataList" :loading="formState.loading" :pagination="pagination"
|
|
|
:row-key="record=>record.doWorkID"
|
|
|
- bordered>
|
|
|
+ :row-selection="{ selectedRowKeys: formState.selectedRowKeys, onChange: onSelectChange}"
|
|
|
+ :scroll="{ x:'100%', y: 500 }"
|
|
|
+ bordered
|
|
|
+ @change="handleTableChange">
|
|
|
<template #bodyCell="{ column, text, record }">
|
|
|
<template v-if="column.key === 'operation'">
|
|
|
<div class="table-operation">
|
|
|
- <a-button type="link" size="small" functioncode="T01040203" @click='onEdit(record.doWorkID)'>编辑</a-button>
|
|
|
- <a-button type="link" size="small" functioncode="T01040204" @click="onDel(record)">删除</a-button>
|
|
|
+ <a-button functioncode="T01040201" size="small" type="link" @click='onDetail(record.doWorkID)'>查看
|
|
|
+ </a-button>
|
|
|
+ <a-button functioncode="T01040203" size="small" type="link" @click='onEdit(record.doWorkID)'>编辑
|
|
|
+ </a-button>
|
|
|
+ <a-button functioncode="T01040204" size="small" type="link" @click="onDel(record)">删除</a-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</template>
|
|
@@ -91,21 +95,21 @@
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
-import {reactive, ref, computed, defineComponent, createVNode} from 'vue';
|
|
|
+import {computed, createVNode, defineComponent, reactive, ref} from 'vue';
|
|
|
import {useTabsViewStore} from "@/store/modules/tabsView";
|
|
|
import {DownOutlined, ExclamationCircleOutlined, UpOutlined} from '@ant-design/icons-vue';
|
|
|
-import type {FormInstance,SelectProps,TableColumnsType, TableProps} from 'ant-design-vue';
|
|
|
-import {getList,delWorkLog} from '@/api/taskAndLog/dowork';
|
|
|
-import {getRegionCodeList,getStreetCodeList} from '@/api/system/area/index';
|
|
|
+import type {FormInstance, SelectProps, TableColumnsType, TableProps} from 'ant-design-vue';
|
|
|
+import {message, Modal} from "ant-design-vue";
|
|
|
+import {delWorkLog, getList} from '@/api/taskAndLog/dowork';
|
|
|
+import {getRegionCodeList, getStreetCodeList} from '@/api/system/area/index';
|
|
|
import {getSysDictionaryList} from "@/api/system/dictionary";
|
|
|
import BExportExcel from "@/components/basic/excel/exportExcel/exportExcel.vue";
|
|
|
import {getPaginationTotalTitle} from "@/utils/common";
|
|
|
-import {message, Modal} from "ant-design-vue";
|
|
|
import dayjs from 'dayjs';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'doTaskList',
|
|
|
- components: { DownOutlined, UpOutlined, BExportExcel},
|
|
|
+ components: {DownOutlined, UpOutlined, BExportExcel},
|
|
|
setup() {
|
|
|
const formRef = ref<FormInstance>();
|
|
|
const tabsViewStore = useTabsViewStore();
|
|
@@ -114,12 +118,12 @@ export default defineComponent({
|
|
|
const searchParams = reactive({
|
|
|
pageIndex: 1,
|
|
|
pageSize: 20,
|
|
|
- userName:'',
|
|
|
- workStartDate:'',
|
|
|
- workEndDate:'',
|
|
|
+ userName: '',
|
|
|
+ workStartDate: '',
|
|
|
+ workEndDate: '',
|
|
|
doTypeID: null,
|
|
|
- regionCode:'',
|
|
|
- streetCode:''
|
|
|
+ regionCode: '',
|
|
|
+ streetCode: ''
|
|
|
});
|
|
|
const formState = reactive({
|
|
|
total: 0,
|
|
@@ -137,7 +141,7 @@ export default defineComponent({
|
|
|
{
|
|
|
title: '工作日期', dataIndex: 'workTime', key: 'workTime', width: 120, align: "center",
|
|
|
customRender: (item) => {
|
|
|
- return item.record.workTime==null?"": (dayjs(item.record.workTime).format('YYYY-MM-DD'))
|
|
|
+ return item.record.workTime == null ? "" : (dayjs(item.record.workTime).format('YYYY-MM-DD'))
|
|
|
},
|
|
|
},
|
|
|
{title: '日志类型', dataIndex: 'logTypeName', key: 'logTypeName', align: "center"},
|
|
@@ -146,7 +150,7 @@ export default defineComponent({
|
|
|
{title: '所属街道', dataIndex: 'streetName', key: 'streetName', align: "center"},
|
|
|
{title: '走访企业数量', dataIndex: 'RecordsCompanyNum', key: 'RecordsCompanyNum', align: "center"},
|
|
|
{title: '登记就业人员人数', dataIndex: 'RecordsJobuserNum', key: 'RecordsJobuserNum', align: "center"},
|
|
|
- {title: '操作', key: 'operation', fixed: 'right', width: 100, align: "center"},
|
|
|
+ {title: '操作', key: 'operation', fixed: 'right', width: 150, align: "center"},
|
|
|
];
|
|
|
const pagination = computed(() => ({
|
|
|
total: formState.total,
|
|
@@ -161,19 +165,19 @@ export default defineComponent({
|
|
|
const logTypeList = ref<SelectProps['options']>();
|
|
|
const dataList = ref([]);
|
|
|
|
|
|
- const getLogTypeList = async function(){
|
|
|
- const logTypeResult :any = await getSysDictionaryList("LogType");
|
|
|
+ const getLogTypeList = async function () {
|
|
|
+ const logTypeResult: any = await getSysDictionaryList("LogType");
|
|
|
logTypeList.value = logTypeResult;
|
|
|
}
|
|
|
|
|
|
- const getRegionList = async function(){
|
|
|
+ const getRegionList = async function () {
|
|
|
const regionResult: any = await getRegionCodeList();
|
|
|
// console.log('regionResult',regionResult);
|
|
|
regionList.value = regionResult;
|
|
|
}
|
|
|
|
|
|
- const changeRegion = async function(){
|
|
|
- if(searchParams.regionCode){
|
|
|
+ const changeRegion = async function () {
|
|
|
+ if (searchParams.regionCode) {
|
|
|
const streetResult: any = await getStreetCodeList(searchParams.regionCode);
|
|
|
// console.log('streetResult',streetResult);
|
|
|
streetList.value = streetResult;
|
|
@@ -202,7 +206,7 @@ export default defineComponent({
|
|
|
formState.selectedRowKeys = selectedRowKeys;
|
|
|
};
|
|
|
|
|
|
- const onRangeChange=(dateString)=>{
|
|
|
+ const onRangeChange = (dateString) => {
|
|
|
workDate.value = dateString;
|
|
|
searchParams.workStartDate = dateString ? dateString[0].format("YYYY-MM-DD") : '';
|
|
|
searchParams.workEndDate = dateString ? dateString[1].format("YYYY-MM-DD") : '';
|
|
@@ -244,19 +248,23 @@ export default defineComponent({
|
|
|
|
|
|
};
|
|
|
|
|
|
- const onAdd =()=>{
|
|
|
- tabsViewStore.addTabByPath('/taskAndLog/workLog/add', {id:null});
|
|
|
+ const onAdd = () => {
|
|
|
+ tabsViewStore.addTabByPath('/taskAndLog/workLog/add', {id: null});
|
|
|
};
|
|
|
|
|
|
const onEdit = (id: string) => {
|
|
|
- tabsViewStore.addTabByPath('/taskAndLog/workLog/edit', {id:id});
|
|
|
+ tabsViewStore.addTabByPath('/taskAndLog/workLog/edit', {id: id});
|
|
|
};
|
|
|
|
|
|
- const onReset =()=>{
|
|
|
- workDate.value =[];
|
|
|
- searchParams.workStartDate = '';
|
|
|
- searchParams.workEndDate = '';
|
|
|
- loadData();
|
|
|
+ const onDetail = (id: string) => {
|
|
|
+ tabsViewStore.addTabByPath('/taskAndLog/workLog/detail', {id: id});
|
|
|
+ }
|
|
|
+
|
|
|
+ const onReset = () => {
|
|
|
+ workDate.value = [];
|
|
|
+ searchParams.workStartDate = '';
|
|
|
+ searchParams.workEndDate = '';
|
|
|
+ loadData();
|
|
|
};
|
|
|
|
|
|
return {
|
|
@@ -281,7 +289,8 @@ export default defineComponent({
|
|
|
onRangeChange,
|
|
|
loadData,
|
|
|
changeRegion,
|
|
|
- dayjs
|
|
|
+ dayjs,
|
|
|
+ onDetail
|
|
|
};
|
|
|
},
|
|
|
created() {
|