diff --git a/src/api/Work.ts b/src/api/Work.ts index c691d15..586c688 100644 --- a/src/api/Work.ts +++ b/src/api/Work.ts @@ -82,6 +82,36 @@ export function wkTypes(params) { }); } +/** + *接收工作分页 + */ + export function receiveWork(params) { + return request({ + url: `/admin/work/receiveWork`, + method: "GET", + params:params + }); +} +/** + *完成接收工作 + */ + export function receiveWorkComplete(params) { + return request({ + url: `/admin/work/receiveWorkComplete`, + method: "POST", + data:params + }); +} + +/** + *接收工作分页 + */ + export function receiveWorkDetail(params) { + return request({ + url: `/admin/work/receiveWorkDetail/${params.wkUserId}`, + method: "GET", + }); +} diff --git a/src/router/modules/acceptWork.js b/src/router/modules/acceptWork.js new file mode 100644 index 0000000..89b5791 --- /dev/null +++ b/src/router/modules/acceptWork.js @@ -0,0 +1,39 @@ +const Layout = () => import('@/layout/index.vue') + +export default { + path: '/acceptWork', + component: Layout, + name: 'acceptWork', + redirect: '/acceptWork/acceptWork-index', + meta: { + auth: "acceptWork", + title: '接收工作', + icon: 'icon-work', + }, + children: [ + { + path: 'acceptWork-index', + name: 'acceptWork-index', + component: () => import('@/views/acceptWork/index.vue'), + meta: { + auth: "acceptWork.index", + icon: 'point', + title: '接收工作', + sidebar: false + }, + children: [ + // { + // path: 'work-detail', + // name: 'work-detail', + // component: () => import('@/views/acceptWork/components/detail.vue'), + // meta: { + // auth: "daily.index.detail", + // title: '事件详情', + // sidebar: false, //是否在菜单栏显示 + // breadcrumb: true, //是否显示面包屑 + // } + // } + ] + }, + ] +} \ No newline at end of file diff --git a/src/router/routes.js b/src/router/routes.js index d65d41d..a6d78a9 100644 --- a/src/router/routes.js +++ b/src/router/routes.js @@ -110,6 +110,7 @@ import manage from './modules/work-manage'; import statistic from './modules/statistic'; import bigData from './modules/big-data'; import demands from './modules/demands'; +import acceptWork from './modules/acceptWork'; let token = localStorage.token_df; // 动态路由(异步路由、导航栏路由) @@ -127,6 +128,7 @@ let asyncRoutes = [ trends, demands, manage, + acceptWork, statistic, system, { diff --git a/src/settings.ts b/src/settings.ts index a3e9003..891ff2a 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -7,7 +7,7 @@ let globalSettings = { // 是否将 iconify 图标集中的 Element Plus 图标下载到本地,以便在离线环境下使用 iconifyOfflineUse: false, // 是否开启权限功能 - enablePermission: false, + enablePermission: true, // 是否开启载入进度条 enableProgress: true, // 是否开启动态标题 diff --git a/src/views/acceptWork/components/add.vue b/src/views/acceptWork/components/add.vue new file mode 100644 index 0000000..95c55f4 --- /dev/null +++ b/src/views/acceptWork/components/add.vue @@ -0,0 +1,647 @@ + + + + + \ No newline at end of file diff --git a/src/views/acceptWork/index.vue b/src/views/acceptWork/index.vue new file mode 100644 index 0000000..4be581d --- /dev/null +++ b/src/views/acceptWork/index.vue @@ -0,0 +1,281 @@ + + + + + diff --git a/src/views/base-manage/village/dialog/add-edit.vue b/src/views/base-manage/village/dialog/add-edit.vue index e503210..6cbdcc9 100644 --- a/src/views/base-manage/village/dialog/add-edit.vue +++ b/src/views/base-manage/village/dialog/add-edit.vue @@ -83,6 +83,7 @@ const ruleForm = reactive({ orgname: [{ required: true, message: "请输入村庄名称", trigger: "blur" }], sortId: [{ required: true, message: "请输入排序", trigger: "blur" }], orgcode: [{ required: true, message: "请选择所属地区", trigger: "blur" }], + superiororgcode: [{ required: true, message: "请选择所属地区", trigger: "blur" }], }); const formData = ref({}); diff --git a/src/views/demands/detail.vue b/src/views/demands/detail.vue index 0fac55e..a2d3857 100644 --- a/src/views/demands/detail.vue +++ b/src/views/demands/detail.vue @@ -46,8 +46,8 @@ v-model="detailForm.content" /> - - + + + + + @@ -213,7 +257,7 @@ const updateFileEscalation = (files: any) => { }; //图片查询 const getFilesEscalation = (id, FileType) => { - getFile(id, FileType).then((res: any) => { + getFile(id, FileType.demandsEscalation).then((res: any) => { fileListEscalation.value = res.data; }); }; @@ -230,7 +274,7 @@ const updateFile = (files: any) => { }; //图片查询 const getFiles = (id, FileType) => { - getFile(id, FileType).then((res: any) => { + getFile(id, FileType.demandsEscalation).then((res: any) => { fileList.value = res.data; }); }; @@ -290,11 +334,114 @@ const refurbish = () => { getDetail(); getList(); }; +// 文件上传 +const afterList = ref([]); +const handleUploadAfter = (file: any) => { + // if (afterList.value.length != 0) { + // ElMessage.error("只能上传一份文件!"); + // getCheckDangers(form.value.dynamicsId || uuid.value); + // } else { + // } + // const newFile = new FormData(); + // newFile.append("file", file.file); + // uploadFile(userId.value, form.value.dynamicsId || uuid.value, FileType.demandsEscalation, newFile).then((res) => { + // if (res) { + // ElMessage.success("上传成功!"); + // getCheckDangers(form.value.dynamicsId || uuid.value) + // } + // }) + +}; +//文件显示 +const baseImgUrl = ref(import.meta.env.VITE_UPLOAD_URL); +const getCheckDangers = (id) => { + getFile( + id, + FileType.demandsEscalation + ).then((res: any) => { + afterList.value = res.data.map(item => { + let arr = item; + let index = item.filepath.indexOf(".");//获取第一个"_"的位置 + let after1 = item.filepath.substring(index + 1); + switch (after1) { + case 'xlsx': + arr.url = 'src/assets/images/exl.png'; + break; + case 'exl': + arr.url = 'src/assets/images/exl.png'; + break; + case 'pdf': + arr.url = 'src/assets/images/pdf.png'; + break; + case 'word': + arr.url = 'src/assets/images/word.png'; + break; + default: + arr.url = baseImgUrl.value + item.filepath; + break; + } + return arr; + }); + }) +}; +//删除附件 +// const handleRemove = (file) => { +// delFile(file.sysdocumentid).then((res: any) => { +// if (res) { +// ElMessage.success("删除成功!"); +// } +// getCheckDangers(form.value.dynamicsId || uuid.value); +// }) +// }; +//下载附件 +const handleDownload = (file) => { + function text() { + const x = new XMLHttpRequest(); + x.open("GET", baseImgUrl.value + file.filepath, true); + x.responseType = "blob"; + x.onload = function () { + const url = window.URL.createObjectURL(x.response); + const a = document.createElement("a"); + a.href = url; + a.download = file.name; + a.click(); + }; + x.send(); + } + let index = file.filepath.indexOf("."); //获取第一个"_"的位置 + let after1 = file.filepath.substring(index + 1); + switch (after1) { + case "xlsx": + text(); + break; + case "exl": + text(); + break; + case "pdf": + text(); + break; + case "word": + text(); + break; + default: + window.open(baseImgUrl.value + file.filepath, "_blank"); + break; + } +}; +const upVisible = ref(false); +const upImageUrl = ref(""); +//查看附件 +const handleInfo = (file) => { + upImageUrl.value = file.url!; + upVisible.value = true; +}; + onMounted(() => { routeId.value = route.query.id || ""; uuid.value = getUUID(); refurbish(); getList(); + getCheckDangers(route.query.id) }); \ No newline at end of file diff --git a/src/views/emergency/danger-points/dialog/add-dynamic.vue b/src/views/emergency/danger-points/dialog/add-dynamic.vue index 779dbc3..31cea27 100644 --- a/src/views/emergency/danger-points/dialog/add-dynamic.vue +++ b/src/views/emergency/danger-points/dialog/add-dynamic.vue @@ -50,7 +50,7 @@ diff --git a/src/views/system/base/appeal-allocation/detail.vue b/src/views/system/base/appeal-allocation/detail.vue new file mode 100644 index 0000000..7a667db --- /dev/null +++ b/src/views/system/base/appeal-allocation/detail.vue @@ -0,0 +1,334 @@ + + + + + + \ No newline at end of file diff --git a/src/views/system/base/appeal-allocation/disposeofUp.vue b/src/views/system/base/appeal-allocation/disposeofUp.vue index dd508b4..ed750ae 100644 --- a/src/views/system/base/appeal-allocation/disposeofUp.vue +++ b/src/views/system/base/appeal-allocation/disposeofUp.vue @@ -20,18 +20,21 @@ :model="addform" > - - - + + + @@ -50,9 +53,7 @@ const userId = ref(user.value.userId); const titleName = ref("新增类型"); const formRef = ref(); const ruleForm = reactive({ - userId: [ - { required: true, message: "请选择处置人员", trigger: "blur" }, - ], + userId: [{ required: true, message: "请选择处置人员", trigger: "blur" }], }); const props = defineProps({ @@ -77,7 +78,7 @@ const handleSubmit = () => { console.log(addform.value); let params = { ...addform.value, - difficultyId:props.id + difficultyId: props.id, }; console.log(params, "params===>"); difficultyAssign(params).then((res: any) => { @@ -101,11 +102,11 @@ const handleSubmit = () => { const options = ref([]); const getPostListByUserId = () => { let params = { - userId:userId.value, + userId: userId.value, }; postListByUserId(params).then((res: any) => { console.log(res.data, "res==>"); - options.value = res.data + options.value = res.data; }); }; //关闭弹窗 diff --git a/src/views/system/base/appeal-allocation/index.vue b/src/views/system/base/appeal-allocation/index.vue index 4e8cc71..4c491bf 100644 --- a/src/views/system/base/appeal-allocation/index.vue +++ b/src/views/system/base/appeal-allocation/index.vue @@ -75,6 +75,10 @@ width="180" >