|
@@ -5,33 +5,33 @@
|
|
|
<a-row :gutter="24">
|
|
|
<a-col :span="8">
|
|
|
<a-form-item
|
|
|
- label="任务名称"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="doTaskName"
|
|
|
:rules="[{ required: true, message: '请输入任务名称!' }]"
|
|
|
+ label="任务名称"
|
|
|
+ name="doTaskName"
|
|
|
>
|
|
|
<a-input v-model:value="dataModel.doTaskName" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="任务类型" :label-col="{span:6}" name="workTypeID"
|
|
|
- :rules="[{ required: true, message: '请选择任务类型!' }]">
|
|
|
+ <a-form-item :label-col="{span:6}" :rules="[{ required: true, message: '请选择任务类型!' }]" label="任务类型"
|
|
|
+ name="workTypeID">
|
|
|
<a-select
|
|
|
ref="select"
|
|
|
v-model:value="dataModel.workTypeID"
|
|
|
- :options="taskTypeList"
|
|
|
- :field-names="{ label: 'name', value: 'value' }"
|
|
|
:allow-clear="true"
|
|
|
+ :field-names="{ label: 'name', value: 'value' }"
|
|
|
+ :options="taskTypeList"
|
|
|
>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
<a-form-item
|
|
|
- label="任务完成时间"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="finishTime"
|
|
|
:rules="[{ required: true, message: '请输入任务完成时间!' }]"
|
|
|
+ label="任务完成时间"
|
|
|
+ name="finishTime"
|
|
|
>
|
|
|
<a-date-picker
|
|
|
v-model:value="dataModel.finishTime"
|
|
@@ -43,37 +43,37 @@
|
|
|
</a-row>
|
|
|
<a-row :gutter="24">
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="所属县区" :label-col="{span:6}" name="regionCode"
|
|
|
- :rules="[{ required: true, message: '请选择所属县区!' }]">
|
|
|
+ <a-form-item :label-col="{span:6}" :rules="[{ required: true, message: '请选择所属县区!' }]" label="所属县区"
|
|
|
+ name="regionCode">
|
|
|
<a-select
|
|
|
ref="select"
|
|
|
v-model:value="dataModel.regionCode"
|
|
|
- :options="regionList"
|
|
|
- :field-names="{ label: 'name', value: 'code' }"
|
|
|
:allow-clear="true"
|
|
|
+ :field-names="{ label: 'name', value: 'code' }"
|
|
|
+ :options="regionList"
|
|
|
@change="regionChange"
|
|
|
>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
- <a-col :span="8">
|
|
|
- <a-form-item label="所属街道" :label-col="{span:6}" name="streetCode"
|
|
|
- :rules="[{ required: true, message: '请选择所属街道!' }]">
|
|
|
- <a-select
|
|
|
- ref="select"
|
|
|
- v-model:value="dataModel.streetCode"
|
|
|
- :options="streetList"
|
|
|
- :field-names="{ label: 'name', value: 'code' }"
|
|
|
- :allow-clear="true" >
|
|
|
- </a-select>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
+ <!-- <a-col :span="8">-->
|
|
|
+ <!-- <a-form-item label="所属街道" :label-col="{span:6}" name="streetCode"-->
|
|
|
+ <!-- :rules="[{ required: true, message: '请选择所属街道!' }]">-->
|
|
|
+ <!-- <a-select-->
|
|
|
+ <!-- ref="select"-->
|
|
|
+ <!-- v-model:value="dataModel.streetCode"-->
|
|
|
+ <!-- :options="streetList"-->
|
|
|
+ <!-- :field-names="{ label: 'name', value: 'code' }"-->
|
|
|
+ <!-- :allow-clear="true" >-->
|
|
|
+ <!-- </a-select>-->
|
|
|
+ <!-- </a-form-item>-->
|
|
|
+ <!-- </a-col>-->
|
|
|
</a-row>
|
|
|
<a-row>
|
|
|
<a-col class="table-bottom-a1">
|
|
|
- <a-form-item :label-col="{span:6}" label="" name="content"
|
|
|
- :rules="[{ required: true, message: '请输入任务内容!' }]" >
|
|
|
- <a-textarea v-model:value="dataModel.content" placeholder="任务内容" :rows="4"/>
|
|
|
+ <a-form-item :label-col="{span:6}" :rules="[{ required: true, message: '请输入任务内容!' }]" label=""
|
|
|
+ name="content">
|
|
|
+ <a-textarea v-model:value="dataModel.content" :rows="4" placeholder="任务内容"/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
@@ -89,19 +89,19 @@
|
|
|
</Space>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
- <a-divider orientation="left">任务执行人员 共计:{{userData.length}}</a-divider>
|
|
|
+ <a-divider orientation="left">任务执行人员 共计:{{ userData.length }}</a-divider>
|
|
|
<a-row>
|
|
|
<a-col style="margin-bottom: 20px;">
|
|
|
- <a-table :columns="columns" :data-source="userData" :pagination="pagination"
|
|
|
- :loading="formState.loading"
|
|
|
- @change="handleTableChange"
|
|
|
- :row-selection="{ selectedRowKeys: formState.selectedRowKeys, onChange: onSelectChange}"
|
|
|
+ <a-table :columns="columns" :data-source="userData" :loading="formState.loading"
|
|
|
+ :pagination="pagination"
|
|
|
:row-key="record=>record.doTaskUserID"
|
|
|
- bordered>
|
|
|
+ :row-selection="{ selectedRowKeys: formState.selectedRowKeys, onChange: onSelectChange}"
|
|
|
+ bordered
|
|
|
+ @change="handleTableChange">
|
|
|
<template #bodyCell="{ column ,index}">
|
|
|
<template v-if="column.key === 'siteUserName'">
|
|
|
<div>
|
|
|
- <label>{{userData[index][column.key]}}</label>
|
|
|
+ <label>{{ userData[index][column.key] }}</label>
|
|
|
<!--<a-select ref="select" v-model:value="userData[index][column.key]"
|
|
|
:options="siteUserList" :field-names="{ label: 'siteUserName', value: 'siteUserID' }"
|
|
|
:allow-clear="true" style="width: 200px" >
|
|
@@ -109,16 +109,19 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<template v-if="column.key === 'genderName'">
|
|
|
- {{userData[index][column.key]}}
|
|
|
+ {{ userData[index][column.key] }}
|
|
|
</template>
|
|
|
<template v-if="column.key === 'mobile'">
|
|
|
- {{userData[index][column.key]}}
|
|
|
+ {{ userData[index][column.key] }}
|
|
|
+ </template>
|
|
|
+ <template v-if="column.key === 'siteName'">
|
|
|
+ {{ userData[index][column.key] }}
|
|
|
</template>
|
|
|
<template v-if="column.key === 'taskStatusName'">
|
|
|
- {{userData[index][column.key]}}
|
|
|
+ {{ userData[index][column.key] }}
|
|
|
</template>
|
|
|
<template v-if="column.key === 'operation'">
|
|
|
- <a-button type="link" size="small" @click="deleteUser(index)">删除</a-button>
|
|
|
+ <a-button size="small" type="link" @click="deleteUser(index)">删除</a-button>
|
|
|
</template>
|
|
|
</template>
|
|
|
</a-table>
|
|
@@ -127,29 +130,29 @@
|
|
|
|
|
|
<a-divider orientation="left">其他信息</a-divider>
|
|
|
<b-upload-file
|
|
|
+ :accept="'.pdf,.png,.jpg,.jpeg,.xls,.xlsx,.doc,.docx,.txt,.ppt,.pptx'"
|
|
|
:file-ref-id="dataModel.doTaskID"
|
|
|
- :readonly="false"
|
|
|
:multiple="true"
|
|
|
+ :readonly="false"
|
|
|
:set-file-list="setFileList"
|
|
|
- :accept="'.pdf,.png,.jpg,.jpeg,.xls,.xlsx,.doc,.docx,.txt,.ppt,.pptx'"
|
|
|
></b-upload-file>
|
|
|
<a-form-item class="buttom-btns">
|
|
|
<a-button @click="onClose">取消</a-button>
|
|
|
- <a-button type="primary" html-type="submit">提交</a-button>
|
|
|
+ <a-button html-type="submit" type="primary">提交</a-button>
|
|
|
</a-form-item>
|
|
|
</a-form>
|
|
|
- <SiteUserModel ref="modalSiteUserRef"></SiteUserModel>
|
|
|
+ <SiteUserModel ref="modalSiteUserRef" :region-code="dataModel.regionCode"></SiteUserModel>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
import {computed, defineComponent, reactive, ref, toRefs} from 'vue';
|
|
|
-import type {SelectProps, TableColumnsType, TableProps} from 'ant-design-vue';
|
|
|
+import {message as $message, type SelectProps, type TableColumnsType, type TableProps} from 'ant-design-vue';
|
|
|
import {useTabsViewStore} from '@/store/modules/tabsView';
|
|
|
import BUploadFile from '@/components/file/uploadFile.vue';
|
|
|
import SiteUserModel from "./siteUser.vue"
|
|
|
import {get} from "@/api/common";
|
|
|
-import {getUserList, getWorkUserList, getDataById, save} from '@/api/taskAndLog/dotask'
|
|
|
+import {getDataById, getUserList, getWorkUserList, save} from '@/api/taskAndLog/dotask'
|
|
|
import {getPaginationTotalTitle} from "@/utils/common";
|
|
|
|
|
|
interface taskModel {
|
|
@@ -158,7 +161,7 @@ interface taskModel {
|
|
|
|
|
|
export default defineComponent(
|
|
|
{
|
|
|
- components: {BUploadFile,SiteUserModel},
|
|
|
+ components: {BUploadFile, SiteUserModel},
|
|
|
setup() {
|
|
|
const isEdit = true;
|
|
|
const modalSiteUserRef = ref();
|
|
@@ -199,10 +202,13 @@ export default defineComponent(
|
|
|
title: '性别', dataIndex: 'genderName', key: 'genderName', align: "center", width: 120
|
|
|
},
|
|
|
{
|
|
|
- title: '联系电话',dataIndex: 'mobile',key: 'mobile', align: "center", width: 120
|
|
|
+ title: '联系电话', dataIndex: 'mobile', key: 'mobile', align: "center", width: 120
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '所属驿站', dataIndex: 'siteName', key: 'siteName', align: "center", width: 120
|
|
|
},
|
|
|
{
|
|
|
- title: '执行情况',dataIndex: 'taskStatusName',key: 'taskStatusName',align: "center",width: 120
|
|
|
+ title: '执行情况', dataIndex: 'taskStatusName', key: 'taskStatusName', align: "center", width: 120
|
|
|
},
|
|
|
{title: '操作', key: 'operation', fixed: 'right', width: 120, align: "center"},
|
|
|
]
|
|
@@ -223,7 +229,7 @@ export default defineComponent(
|
|
|
taskTypeList.value = data;
|
|
|
});
|
|
|
|
|
|
- const regionChange =async function(){
|
|
|
+ const regionChange = async function () {
|
|
|
formData.dataModel.streetCode = null;
|
|
|
changeCity();
|
|
|
}
|
|
@@ -236,7 +242,7 @@ export default defineComponent(
|
|
|
}
|
|
|
|
|
|
const changeCity = () => {
|
|
|
- if(formData.dataModel.regionCode){
|
|
|
+ if (formData.dataModel.regionCode) {
|
|
|
get('system/area/getAreaList', {code: formData.dataModel.regionCode}).then(data => {
|
|
|
streetList.value = data;
|
|
|
})
|
|
@@ -249,7 +255,7 @@ export default defineComponent(
|
|
|
getWorkUserList(id).then(data => {
|
|
|
if (data)
|
|
|
userData.value = data;
|
|
|
- console.log("任务执行人员",userData.value);
|
|
|
+ console.log("任务执行人员", userData.value);
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -259,7 +265,10 @@ export default defineComponent(
|
|
|
console.log("hhh",defaultSiteUser);
|
|
|
(userData.value as any[]).push({siteUserID: defaultSiteUser.siteUserID,siteUserName:defaultSiteUser.siteUserName,genderName:defaultSiteUser.genderName,mobile:defaultSiteUser.mobile,taskStatusName:"待完成"});
|
|
|
}*/
|
|
|
- modalSiteUserRef.value.show(formData.dataModel.doTaskID,userData.value);
|
|
|
+ if (!formData.dataModel.regionCode) {
|
|
|
+ return $message.error("请先选择县区");
|
|
|
+ }
|
|
|
+ modalSiteUserRef.value.show(formData.dataModel.doTaskID, userData.value);
|
|
|
// console.log("userData",userData.value);
|
|
|
}
|
|
|
const deleteUser = (record) => {
|