对接智能提醒

des
吕天方 6 months ago
parent 552d0adbdf
commit b1215d08f4

@ -1,6 +1,6 @@
{ {
"name": "ruoyi", "name": "ruoyi",
"version": "1.0.202407021010", "version": "1.0.202407030918",
"description": "金鸡湖现代服务业品牌管理系统", "description": "金鸡湖现代服务业品牌管理系统",
"author": "若依", "author": "若依",
"license": "MIT", "license": "MIT",

@ -18,10 +18,19 @@ export function jSmartRemindersNew(data) {
}) })
} }
// 修改智能提醒 // 修改不定期智能提醒
export function jSmartRemindersChange(data) { export function updateNdqChange(data) {
return request({ return request({
url: "/jjh/jSmartReminders", url: "/jjh/jSmartReminders/updateNdq",
method: "put",
data
})
}
// 修改定期智能提醒
export function updateDqChange(data) {
return request({
url: "/jjh/jSmartReminders/updateDq",
method: "put", method: "put",
data data
}) })

@ -468,6 +468,7 @@
.remind-top { .remind-top {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 30px;
.remind-title { .remind-title {
font-weight: bold; font-weight: bold;
font-size: 14px; font-size: 14px;
@ -479,6 +480,13 @@
display: grid; display: grid;
grid-template-columns: 1fr; grid-template-columns: 1fr;
grid-gap: 10px; grid-gap: 10px;
.el-card {
background-color: #F5F8FA;
border: none;
}
.el-card-border {
border: 1px solid rgba(245, 95, 95, 0.4); // #FD5F5F
}
.warn-main { .warn-main {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@ -511,6 +519,13 @@
} }
} }
} }
.different-left {
.warn-main-content {
display: flex;
flex-direction: column;
justify-content: space-between;
}
}
.warn-main-right { .warn-main-right {
padding-right: 10px; padding-right: 10px;
display: flex; display: flex;
@ -527,6 +542,7 @@
font-weight: 500; font-weight: 500;
font-size: 14px; font-size: 14px;
color: #134EE6; color: #134EE6;
margin-bottom: 10px;
} }
.warn-main-right-status { .warn-main-right-status {
padding: 5px 15px; padding: 5px 15px;
@ -1012,6 +1028,8 @@
height: 100%; height: 100%;
.main-left { .main-left {
padding: 10px 20px; padding: 10px 20px;
height: 100%;
overflow-y: auto;
.left-header { .left-header {
// display: flex; // display: flex;
// justify-content: space-between; // justify-content: space-between;
@ -1029,6 +1047,8 @@
display: grid; display: grid;
grid-template-columns: 1fr; grid-template-columns: 1fr;
grid-gap: 10px; grid-gap: 10px;
// height: 100%;
// overflow-y: auto;
.el-card { .el-card {
background-color: #F5F8FA; background-color: #F5F8FA;
border: none; border: none;
@ -1068,6 +1088,13 @@
} }
} }
} }
.different-left {
.warn-main-content {
display: flex;
flex-direction: column;
justify-content: space-between;
}
}
.warn-main-right { .warn-main-right {
padding-right: 10px; padding-right: 10px;
display: flex; display: flex;
@ -1084,6 +1111,7 @@
font-weight: 500; font-weight: 500;
font-size: 14px; font-size: 14px;
color: #134EE6; color: #134EE6;
margin-bottom: 10px;
} }
.warn-main-right-status { .warn-main-right-status {
padding: 5px 15px; padding: 5px 15px;
@ -1184,4 +1212,27 @@
.btn-prev,.btn-next { .btn-prev,.btn-next {
padding: 0px 15px; padding: 0px 15px;
} }
}
.team-main {
display: flex;
justify-content: space-between;
margin-bottom: 15px;
&>div:nth-of-type(1) {
color: #8E9298;
width: 25%;
text-align: right;
}
&>div:nth-of-type(2) {
color: #292F38;
width: 70%;
}
.activityContent {
p {
margin: 0;
}
}
} }

@ -33,6 +33,8 @@ export default {
data() { data() {
return { return {
topMenus: [], topMenus: [],
// 01 02
userType: this.$store.state.user.userType,
}; };
}, },
@ -53,6 +55,9 @@ export default {
} }
} }
}); });
if(this.userType == "01") {
this.topMenus[0].meta.title = "首页"
}
this.addParentId(this.topMenus, null); this.addParentId(this.topMenus, null);
this.$store.commit("SET_FIRST_ROUTER", this.topMenus[0].fullPath); this.$store.commit("SET_FIRST_ROUTER", this.topMenus[0].fullPath);
}, },
@ -75,7 +80,9 @@ export default {
// //
isCurrentRoute(key) { isCurrentRoute(key) {
console.log(this.$route.path); if(this.$route.path == '/user/projectInfo' && this.userType == '01' && key.indexOf("/enterpriseService") > -1) {
return true;
}
return this.$route.path.indexOf(key) > -1; return this.$route.path.indexOf(key) > -1;
}, },

@ -138,7 +138,7 @@
<script> <script>
import myPagination from "@/views/components/Pagination/index.vue" import myPagination from "@/views/components/Pagination/index.vue"
import myDialog from "@/views/components/myDialog/index.vue" import myDialog from "@/views/components/myDialog/index.vue"
import { getjSmartReminders, jSmartRemindersNew, jSmartRemindersChange, jSmartRemindersId, jSmartRemindersDel } from "@/api/jin_ji_hu/intelligentReminder" import { getjSmartReminders, jSmartRemindersNew, updateNdqChange, updateDqChange, jSmartRemindersId, jSmartRemindersDel } from "@/api/jin_ji_hu/intelligentReminder"
export default { export default {
components:{myPagination, myDialog}, components:{myPagination, myDialog},
data() { data() {
@ -295,16 +295,30 @@ export default {
} else { } else {
let id = this.addFrom.id ? this.addFrom.id : null; let id = this.addFrom.id ? this.addFrom.id : null;
if(id) { if(id) {
jSmartRemindersChange(this.addFrom).then((res)=>{ if(this.addFrom.alertManner == 2) {
if(res.code == 200) { updateNdqChange(this.addFrom).then((res)=>{
this.getList(); if(res.code == 200) {
this.importClose(); this.getList();
this.$message({ this.importClose();
type: "success", this.$message({
message: "修改成功!", type: "success",
}); message: "修改成功!",
} });
}) }
})
} else {
//
updateDqChange(this.addFrom).then((res)=>{
if(res.code == 200) {
this.getList();
this.importClose();
this.$message({
type: "success",
message: "修改成功!",
});
}
})
}
} else { } else {
jSmartRemindersNew(this.addFrom).then((res)=>{ jSmartRemindersNew(this.addFrom).then((res)=>{
if(res.code == 200) { if(res.code == 200) {

@ -13,7 +13,7 @@
<el-col :span="8" style="height: 50px"> <el-col :span="8" style="height: 50px">
<div class="templateInfo"> <div class="templateInfo">
<div class="templateInfo_left">申报单位</div> <div class="templateInfo_left">申报单位</div>
<div>{{ baseInfo.enterpriseName }}</div> <div>{{ baseInfo.qymc }}</div>
</div> </div>
</el-col> </el-col>
<el-col :span="8" style="height: 50px"> <el-col :span="8" style="height: 50px">
@ -47,31 +47,31 @@
<template slot="label"> <template slot="label">
申报企业名称 申报企业名称
</template> </template>
{{ baseInfo.enterpriseName }} {{ baseInfo.qymc }} <!-- enterpriseName -->
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> <template slot="label">
统一社会信用代码 统一社会信用代码
</template> </template>
{{ baseInfo.creditCode }} {{ baseInfo.tyshxydm }} <!-- creditCode -->
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> <template slot="label">
联络人 联络人
</template> </template>
{{ baseInfo.contacts }} {{ baseInfo.fddbrxm }} <!-- contacts -->
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> <template slot="label">
联络电话 联络电话
</template> </template>
{{ baseInfo.contactsNumber }} {{ baseInfo.fddbrzjhm }} <!-- contactsNumber -->
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> <template slot="label">
企业地址 企业地址
</template> </template>
{{ baseInfo.address }} {{ baseInfo.jycs }} <!-- address -->
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<!-- 项目落户奖补模版 --> <!-- 项目落户奖补模版 -->
@ -1522,6 +1522,7 @@ export default {
// console.log('this.templateInfo: ', this.templateInfo); // console.log('this.templateInfo: ', this.templateInfo);
getBasicInfo({enterpriseId: this.$store.state.user.enterpriseId}).then((response) => { getBasicInfo({enterpriseId: this.$store.state.user.enterpriseId}).then((response) => {
this.baseInfo = response.data this.baseInfo = response.data
console.log(this.baseInfo);
}) })
// getOpenInterface({templateRecordId: templateRecordId}).then((response) => { // getOpenInterface({templateRecordId: templateRecordId}).then((response) => {
// this.openInterfaceInfo = response.data // this.openInterfaceInfo = response.data
@ -1554,16 +1555,16 @@ export default {
} }
}, },
submitForm(type) { submitForm(type) {
console.log(this.form); // console.log(this.form);
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
let params = { let params = {
declarationId: this.declarationId, declarationId: this.declarationId,
address: this.baseInfo.address, // address: this.baseInfo.address,
contacts: this.baseInfo.contacts, // contacts: this.baseInfo.contacts,
contactsNumber: this.baseInfo.contactsNumber, // contactsNumber: this.baseInfo.contactsNumber,
creditCode: this.baseInfo.creditCode, tyshxydm: this.baseInfo.tyshxydm,
enterpriseName: this.baseInfo.enterpriseName, // enterpriseName: this.baseInfo.enterpriseName,
// declarationTemplateType: this.openInterfaceInfo.declarationTemplateType, // declarationTemplateType: this.openInterfaceInfo.declarationTemplateType,
projectName: this.templateInfo.templateName, projectName: this.templateInfo.templateName,
year: this.templateInfo.createTime, year: this.templateInfo.createTime,

@ -20,7 +20,7 @@
<el-col :span="8" style="height: 50px"> <el-col :span="8" style="height: 50px">
<div class="templateInfo"> <div class="templateInfo">
<div class="templateInfo_left">申报单位</div> <div class="templateInfo_left">申报单位</div>
<div>{{ baseInfo.enterpriseName }}</div> <div>{{ baseInfo.qymc }}</div>
</div> </div>
</el-col> </el-col>
<el-col :span="8" style="height: 50px"> <el-col :span="8" style="height: 50px">
@ -75,23 +75,23 @@
> >
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 申报企业名称 </template> <template slot="label"> 申报企业名称 </template>
{{ baseInfo.enterpriseName }} {{ baseInfo.qymc }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 统一社会信用代码 </template> <template slot="label"> 统一社会信用代码 </template>
{{ baseInfo.creditCode }} {{ baseInfo.tyshxydm }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 联络人 </template> <template slot="label"> 联络人 </template>
{{ baseInfo.contacts }} {{ baseInfo.fddbrxm }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 联络电话 </template> <template slot="label"> 联络电话 </template>
{{ baseInfo.contactsNumber }} {{ baseInfo.fddbrzjhm }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 企业地址 </template> <template slot="label"> 企业地址 </template>
{{ baseInfo.address }} {{ baseInfo.jycs }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<!-- 项目落户奖补模版 --> <!-- 项目落户奖补模版 -->
@ -3978,11 +3978,11 @@ export default {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
let params = { let params = {
address: this.baseInfo.address, // address: this.baseInfo.address,
contacts: this.baseInfo.contacts, // contacts: this.baseInfo.contacts,
contactsNumber: this.baseInfo.contactsNumber, // contactsNumber: this.baseInfo.contactsNumber,
creditCode: this.baseInfo.creditCode, tyshxydm: this.baseInfo.tyshxydm,
enterpriseName: this.baseInfo.enterpriseName, // enterpriseName: this.baseInfo.enterpriseName,
// declarationTemplateType: this.openInterfaceInfo.declarationTemplateType, // declarationTemplateType: this.openInterfaceInfo.declarationTemplateType,
// projectName: this.openInterfaceInfo.projectName, // projectName: this.openInterfaceInfo.projectName,
// year: this.openInterfaceInfo.year, // year: this.openInterfaceInfo.year,

@ -5,69 +5,87 @@
<div class="remind-title">智能提醒</div> <div class="remind-title">智能提醒</div>
<el-button type="primary" icon="icon iconfont icon-jc-xinjian" size="mini" @click="newRemind"></el-button> <el-button type="primary" icon="icon iconfont icon-jc-xinjian" size="mini" @click="newRemind"></el-button>
</div> </div>
</el-row> <div class="remind-timeline" v-loading="loading">
<div class="remind-timeline" v-loading="loading"> <el-card shadow="never" v-for="(item,index) in remindList" :key="index" :class="item.isRead == 1 ? 'el-card-border' : ''">
<el-card shadow="never"> <div class="warn-main">
<div class="warn-main"> <div class="warn-main-left" v-if="item.alertManner == 2">
<div class="warn-main-left"> <div class="warn-main-img"><img src="@/assets/images/warn-green.png" alt=""></div>
<div class="warn-main-img"><img src="@/assets/images/warn-green.png" alt=""></div> <div class="warn-main-content">
<div class="warn-main-content"> <div class="content-title">{{ item.declarationName }}预计{{ item.daysAdvance }}天后建设完成</div>
<div class="content-title">关于做好2024年申报任务填报的通知</div> <div class="content-middle">{{ item.alertContent }}</div>
<div class="content-middle">该项目即将建设完成请及时关注</div> <div class="content-time">{{ item.alertTime }}</div>
<div class="content-time">2024-05-29 09:00:00</div> </div>
</div> </div>
</div> <div class="warn-main-left" v-if="item.alertManner == 1 && item.projectId">
<div class="warn-main-right"> <div class="warn-main-img"><img src="@/assets/images/warn-orange.png" alt=""></div>
<div class="warn-main-right-bianji" @click="putMemo(item)"> <div class="warn-main-content">
查看 <div class="content-title">{{ item.declarationName }}</div>
<div class="content-middle">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
</div>
</div>
<div class="warn-main-left different-left" v-if="item.alertManner == 1 && !item.projectId">
<div class="warn-main-img"><img src="@/assets/images/warn-blue.png" alt=""></div>
<div class="warn-main-content">
<div class="content-title">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
</div>
</div>
<div class="warn-main-right">
<div class="warn-main-right-chakan" @click="putMemo(item)">
查看
</div>
<div class="warn-main-right-status" :class="item.isRead == 1 ? 'status-unread' : ''">
{{ item.isRead == 1 ? '未读' : '已读' }}
</div>
</div> </div>
</div> </div>
</div> </el-card>
</el-card> </div>
</div> </el-row>
<my-dialog title="新增智能提醒规则" @close="remindClose" @confirm="confirm" :myclass="true" ref="newRemindRef"> <my-dialog title="新增智能提醒规则" @close="remindClose" @confirm="confirm" :myclass="true" ref="newRemindRef">
<div class="remindDialog"> <div class="remindDialog">
<el-form :model="remindData" size="small" ref="remindFrom" label-width="160px" :rules="rules"> <el-form :model="remindData" size="small" ref="remindFrom" label-width="160px" :rules="rules">
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="提醒规则标题" class="importFormItem" prop="ruleTitle"> <el-form-item label="提醒规则标题" class="importFormItem" prop="rulesName">
<el-input v-model.trim="remindData.ruleTitle" placeholder="请输入内容"></el-input> <el-input v-model.trim="remindData.rulesName" placeholder="请输入内容"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="提醒对象:" class="importFormItem" prop="txObject"> <el-form-item label="提醒对象:" class="importFormItem" prop="alertRecipients">
<el-radio-group v-model="remindData.txObject"> <el-radio-group v-model="remindData.alertRecipients">
<el-radio :label="0">政务用户</el-radio> <el-radio :label="2">政务用户</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="提醒方式:" class="importFormItem" prop="txMode" disabled> <el-form-item label="提醒方式:" class="importFormItem" prop="alertManner" disabled>
<el-radio-group v-model="remindData.txMode"> <el-radio-group v-model="remindData.alertManner">
<el-radio :label="0">定期提醒</el-radio> <el-radio :label="1">定期提醒</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="提醒时间:" prop="time" class="importFormItem"> <el-form-item label="提醒时间:" prop="alertTime" class="importFormItem">
<el-date-picker <el-date-picker
v-model="remindData.time" v-model="remindData.alertTime"
type="date" type="datetime"
placeholder="选择日期" placeholder="选择日期"
style="width: 100%;" style="width: 100%;"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="提醒内容:" class="importFormItem" prop="content"> <el-form-item label="提醒内容:" class="importFormItem" prop="alertContent">
<el-input <el-input
type="textarea" type="textarea"
resize="none" resize="none"
:rows="3" :rows="3"
placeholder="请输入提醒内容" placeholder="请输入提醒内容"
v-model="remindData.content"> v-model="remindData.alertContent">
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -78,36 +96,42 @@
</div> </div>
</template> </template>
<script> <script>
import { getJMemorandumList, postJMemorandum } from "@/api/jin_ji_hu/project/index" import { chiefAll, jSmartRemindersNew } from "@/api/jin_ji_hu/intelligentReminder/index"
import myDialog from "@/views/components/myDialog/index.vue" import myDialog from "@/views/components/myDialog/index.vue"
export default { export default {
name:"tabFive", name:"tabFive",
components:{ components:{
myDialog myDialog
}, },
props:{
id:{
type:Number,
default:null,
}
},
data() { data() {
return { return {
remindData:{ remindData:{
ruleTitle: "", rulesName: "",
txObject: 0, alertRecipients: 2,
txMode: 0, alertManner: 1,
time: "", alertTime: "",
content: "", alertContent: "",
}, },
rules:{ rules:{
ruleTitle:[ rulesName:[
{ required: true, message: '请填写提醒规则标题', trigger: 'blur' } { required: true, message: '请填写提醒规则标题', trigger: 'blur' }
], ],
txObject:[ alertRecipients:[
{ required: true, message: '请选择提醒对象', trigger: 'change' } { required: true, message: '请选择提醒对象', trigger: 'change' }
], ],
txMode:[ alertManner:[
{ required: true, message: '请选择提醒方式', trigger: 'change' }, { required: true, message: '请选择提醒方式', trigger: 'change' },
], ],
time:[ alertTime:[
{ required: true, message: '请选择日期', trigger: 'change' }, { required: true, message: '请选择日期', trigger: 'change' },
], ],
content:[ alertContent:[
{ required: true, message: '请填写提醒内容', trigger: 'blur' }, { required: true, message: '请填写提醒内容', trigger: 'blur' },
], ],
}, },
@ -122,7 +146,7 @@ export default {
methods:{ methods:{
newRemind(){ newRemind(){
this.$nextTick(()=>{ this.$nextTick(()=>{
this.$ref.newRemindRef.open(); this.$refs.newRemindRef.open();
this.$refs.remindFrom.resetFields(); this.$refs.remindFrom.resetFields();
}) })
}, },
@ -135,7 +159,8 @@ export default {
}, },
// //
confirm(){ confirm(){
postJMemorandum(this.remindData).then(res=>{ this.remindData.projectId = this.id
jSmartRemindersNew(this.remindData).then(res=>{
if(res.code == 200) { if(res.code == 200) {
this.remindClose(); this.remindClose();
this.getList(); this.getList();
@ -149,8 +174,7 @@ export default {
// //
getList() { getList() {
this.loading = true; this.loading = true;
getJMemorandumList(this.formInline).then(res=>{ chiefAll({projectId:this.id}).then(res=>{
// console.log(res,"");
this.remindList = res.data; this.remindList = res.data;
this.loading = false; this.loading = false;
}) })

@ -20,7 +20,7 @@
<tab-two v-if="active == 1" :info="info"></tab-two> <tab-two v-if="active == 1" :info="info"></tab-two>
<tab-three v-if="active == 2"></tab-three> <tab-three v-if="active == 2"></tab-three>
<tab-four v-if="active == 3" :id="$route.query.userId"></tab-four> <tab-four v-if="active == 3" :id="$route.query.userId"></tab-four>
<tab-five v-if="active == 4"></tab-five> <tab-five v-if="active == 4" :id="Number($route.query.userId)"></tab-five>
</div> </div>
</div> </div>
</el-col> </el-col>
@ -149,7 +149,7 @@ export default {
const elementHeight = element.offsetHeight; const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight; const headerHeight = header.offsetHeight;
const paginationtHeight = pagination.offsetHeight; const paginationtHeight = pagination.offsetHeight;
this.tabStyle.height = (elementHeight - headerHeight - paginationtHeight - 60) + 'px'; this.tabStyle.height = (elementHeight - headerHeight - paginationtHeight - 100) + 'px';
} }
}, },
} }

@ -6,12 +6,6 @@
<div class="title-item" :class="checked == index ? 'checked-item' : ''" v-for="(item,index) in tabs" :key="index" @click="changeTab(index)"> <div class="title-item" :class="checked == index ? 'checked-item' : ''" v-for="(item,index) in tabs" :key="index" @click="changeTab(index)">
{{ item.value }} {{ item.value }}
</div> </div>
<!-- <div class="title-item">
查项目
</div>
<div class="title-item">
查荣誉
</div> -->
</div> </div>
<div class="workbench-btn"> <div class="workbench-btn">
<el-autocomplete <el-autocomplete
@ -43,22 +37,37 @@
<div class="title">智能提醒</div> <div class="title">智能提醒</div>
</div> </div>
<div class="left-main"> <div class="left-main">
<el-card shadow="never" v-for="(item,index) in 2" :key="index" :class="index == 1 ? 'el-card-border' : ''"> <el-card shadow="never" v-for="(item,index) in remindList" :key="index" :class="item.isRead == 1 ? 'el-card-border' : ''">
<div class="warn-main"> <div class="warn-main">
<div class="warn-main-left"> <div class="warn-main-left" v-if="item.alertManner == 2">
<div class="warn-main-img"><img src="@/assets/images/warn-green.png" alt=""></div> <div class="warn-main-img"><img src="@/assets/images/warn-green.png" alt=""></div>
<div class="warn-main-content"> <div class="warn-main-content">
<div class="content-title">关于做好2024年申报任务填报的通知</div> <div class="content-title">{{ item.declarationName }}预计{{ item.daysAdvance }}天后建设完成</div>
<div class="content-middle">该项目即将建设完成请及时关注</div> <div class="content-middle">{{ item.alertContent }}</div>
<div class="content-time">2024-05-29 09:00:00</div> <div class="content-time">{{ item.alertTime }}</div>
</div>
</div>
<div class="warn-main-left" v-if="item.alertManner == 1 && item.projectId">
<div class="warn-main-img"><img src="@/assets/images/warn-orange.png" alt=""></div>
<div class="warn-main-content">
<div class="content-title">{{ item.declarationName }}</div>
<div class="content-middle">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
</div>
</div>
<div class="warn-main-left different-left" v-if="item.alertManner == 1 && !item.projectId">
<div class="warn-main-img"><img src="@/assets/images/warn-blue.png" alt=""></div>
<div class="warn-main-content">
<div class="content-title">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
</div> </div>
</div> </div>
<div class="warn-main-right"> <div class="warn-main-right">
<div class="warn-main-right-chakan" @click="putMemo(item)"> <div class="warn-main-right-chakan" @click="putMemo(item)">
查看 查看
</div> </div>
<div class="warn-main-right-status" :class="index == 1 ? 'status-unread' : ''"> <div class="warn-main-right-status" :class="item.isRead == 1 ? 'status-unread' : ''">
{{ index == 1 ? '未读' : '已读' }} {{ item.isRead == 1 ? '未读' : '已读' }}
</div> </div>
</div> </div>
</div> </div>
@ -96,53 +105,16 @@
</el-col> </el-col>
</el-row> </el-row>
</main> </main>
<!-- 申报审核对话框 --> <el-dialog title="详情" :visible.sync="open" width="400px" append-to-body :close-on-click-modal="false">
<!-- <el-dialog title="申报审核" :visible.sync="open" width="600px" append-to-body :close-on-click-modal="false"> <div class="team-main">
<el-form ref="form" :model="form" :rules="rules" label-width="100px" label-position="left"> <div>提醒时间:</div>
<el-row> <div>{{ info.alertTime }}</div>
<el-col :span="24">
<el-form-item label="审批状态" prop="approvalStatus">
<el-radio-group v-model="form.approvalStatus">
<el-radio label="1">审批通过</el-radio>
<el-radio label="2">审批驳回</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="审批意见" prop="approvalOpinions">
<el-input v-model="form.approvalOpinions" type="textarea" placeholder="请输入审批意见" maxlength="200"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="审批附件" prop="fileList">
<el-upload
class="upload-demo"
:show-file-list="false"
action=""
accept=".xlsx,.XLSX,.XSL,.doc,.xls,.ppt,.pdf,.png,.jpg,.jpeg,.rar,.zip,.docx"
:http-request="handleFileUpload"
:file-list="fileList"
>
<el-button slot="trigger" size="small" type="success">上传文件</el-button>
<div slot="tip" class="el-upload__tip">请上传格式为<span style="color: red;">doc/xls/ppt/pdf/png/jpg/jpeg/rar/zip/docx/xlsx</span>的文件</div>
</el-upload>
<ul v-if="fileList.length >0" class="upload_ul">
<li v-for="item in uploadList" :key="item.url" class="upload_li">
<img src="@/assets/images/uploadBgc.jpg" class="li_img" alt="">
<span class="icon_name">{{ item.name }}</span>
<el-button type="text" style="color: red;" @click="deleteUpload(item)"></el-button>
</li>
</ul>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="submitForm"> </el-button>
</div> </div>
</el-dialog> --> <div class="team-main">
<div>提醒内容:</div>
<div>{{ info.alertContent }}</div>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -196,13 +168,17 @@ export default {
], ],
checked: 0, checked: 0,
loading:false, loading:false,
remindList: [],
info:{},
} }
}, },
mounted(){ mounted(){
if(this.userType == "02") { if(this.userType == "02") {
this.getList(); this.getList();
this.govRemind();
} else if(this.userType == "01") { } else if(this.userType == "01") {
this.getListTwo(); this.getListTwo();
this.entRemind();
} }
}, },
@ -224,6 +200,38 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
//
entRemind(){
enterpriseAll().then(res=>{
this.remindList = res.data;
})
},
//
govRemind(){
chiefAll().then(res=>{
this.remindList = res.data;
})
},
//
putMemo(item){
if(item.isRead == 1) {
changeIsRead({id:item.id}).then(res=>{})
}
if(item.alertRecipients == 2) {
this.$router.push({
name: 'projectInfo',
query: { userId: Number(item.projectId) }
})
} else if(item.alertRecipients == 1 && item.alertManner == 2) {
this.$router.push({
name: 'Records',
params: { statusChange: "0" }
})
} else if(item.alertManner == 1) {
this.open = true;
this.info = item;
}
},
// //
MoreRecords(type,status){ MoreRecords(type,status){
if(this.userType == "02") { if(this.userType == "02") {
@ -267,27 +275,6 @@ export default {
this.$refs.autocomplete.suggestions = []; this.$refs.autocomplete.suggestions = [];
this.$refs.autocomplete.highlightedIndex = -1; this.$refs.autocomplete.highlightedIndex = -1;
}, },
//
handleApproval(row) {
this.reset();
this.form.declarationRecordsId = row.declarationRecordsId
this.open = true;
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
approvalOpinions: '',
approvalStatus: '1',
approvalAttachment: '',
};
this.resetForm("form");
this.uploadList = []
},
querySearch(queryString, cb) { querySearch(queryString, cb) {
let results = [] let results = []
if(this.checked == 0) { if(this.checked == 0) {
@ -331,7 +318,7 @@ export default {
} else if(this.checked == 1) { } else if(this.checked == 1) {
this.$router.push({ this.$router.push({
name: 'projectInfo', name: 'projectInfo',
query: { userId: item.id } query: { userId: Number(item.id) }
}) })
} else if(this.checked == 2) { } else if(this.checked == 2) {
@ -353,45 +340,6 @@ export default {
} }
}, },
handleFileUpload(params) {
const file = params.file
let form = new FormData()
form.append('file', file)
uploadFile(form).then(response => {
this.fileList = []
this.fileList.push(file)
this.form.fileList = this.fileList
let data = {}
data.name = response.originalFilename;
data.url = response.fileName;
this.uploadList.push(data)
// console.log('this.fileList: ', this.fileList);
})
},
deleteUpload(value) {
this.uploadList = this.uploadList.filter(item => {
return item.url != value.url
})
},
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.uploadList.forEach((item,index) => {
if(this.uploadList.length-1 == index){
this.form.approvalAttachment+=`${item.url}`
} else {
this.form.approvalAttachment+=`${item.url},`
}
})
// console.log("sdas", this.form);
approvalEdit(this.form).then(response => {
this.$modal.msgSuccess("审核完成");
this.open = false;
this.getList();
});
}
});
},
}, },
} }
</script> </script>

Loading…
Cancel
Save