-
-
-
-
- {{formData.serviceMatterShow}}
-
-
-
-
- {{formData.unitName}}
-
-
-
-
- {{formData.title}}
-
-
-
-
- {{formData.target}}
-
-
-
-
-
-
-
-
- {{formData.peopleCount}}
-
-
-
- {{formData.activityTime}}
-
-
-
-
- {{formData.address}}
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
@@ -101,166 +65,88 @@
@click="handleCancle">取 消
-
+
-
diff --git a/src/views/modules/secretaryLog/difficulty/difficultyForm.vue b/src/views/modules/secretaryLog/difficulty/difficultyForm.vue
index b6708343..e271db26 100644
--- a/src/views/modules/secretaryLog/difficulty/difficultyForm.vue
+++ b/src/views/modules/secretaryLog/difficulty/difficultyForm.vue
@@ -6,73 +6,23 @@
:inline="true"
:model="formData"
:rules="dataRule"
- :disabled="formType === 'detail'"
class="form">
-
-
-
- {{item.label}}
-
-
-
-
-
-
-
-
-
- {{item.label}}
-
-
-
-
-
-
-
+ :rows="3"
+ placeholder="请输入内容"
+ v-model="formData.content">
-
-
-
-
+ placeholder="请输入解决方式"
+ v-model="formData.resolveWay">
-
-
+
+
-
-
-
-
-
-
-
-
- 经度
-
-
- 纬度
-
-
-
-
-
-
-
-
-
-
+ type="textarea"
+ maxlength="100"
+ show-word-limit
+ :rows="3"
+ placeholder="请输入备注"
+ v-model="formData.remark">
-
-
+ style="display: block"
+ label="添加附件"
+ prop="attach">
+
+
+ 点击上传
+ 最多三个附件,只能上传word、excel、pdf文件
+
+
@@ -195,7 +102,6 @@
取 消
确 定
@@ -207,13 +113,9 @@
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // 引入Loading服务
import { requestPost } from '@/js/dai/request'
-import Tinymce from '@c/tinymce/index.vue'
-var map
-var search
-var markers
-var infoWindowList
-var geocoder // 新建一个正逆地址解析类
+
+
let loading // 加载动画
export default {
@@ -223,97 +125,66 @@ export default {
btnDisable: false,
- keyWords: '',
- activityId: '',
+ difficultyId: '',
formData: {
- serviceMatter: '',//服务事项
- serviceMatterList: [],
- unitId: '',//单位ID
- unitIdList: [],
- title: '',//活动标题
- target: '',//活动目标
- content: '',//活动内容
- activityTime: '',//活动时间
- peopleCount: 0,//服务人数
- result: '', //活动结果
- address: '', //详细地址
- longitude: 36.0722275, //经度
- latitude: 120.38945519 //纬度
+ content: '',//内容
+ resolveWay: '',//解决方式
+ remark: '',//备注
+ scheduledTime: '',//预计处理时间yyyy-mm-dd hh:mm
+ remindTime: '',//提醒时间yyyy-mm-dd hh:mm
+ attachmentList: []
},
- serviceList: []
+
+
+ fileList: [],
+ uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile',
+ dialogImageUrl: '',
+ dialogVisible: false
}
},
- components: { Tinymce },
+ components: {},
mounted () {
- this.initMap()
+
},
methods: {
- async initForm (type, activityId) {
+ async initForm (type, difficultyId) {
this.startLoading()
this.$refs.ref_form.resetFields();
- //获取服务事项
- await this.loadService()
-
this.formType = type
- if (activityId) {
- this.activityId = activityId
- this.formData.id = activityId
+ if (difficultyId) {
+ this.difficultyId = difficultyId
+ this.formData.id = difficultyId
await this.loadFormData()
- } else {
- map.setCenter(new TMap.LatLng(36.0722275, 120.38945519))
- this.setMarker(36.0722275, 120.38945519)
}
this.endLoading()
},
- //获取服务事项下拉框
- async loadService () {
- const url = "/heart/serviceitem/dict-list"
-
- let params = {
- type: 'usable'
- // parentCategoryCode: '1010'
- }
-
- const { data, code, msg } = await requestPost(url, params)
-
- if (code === 0) {
- this.serviceList = data
-
- } else {
- this.$message.error(msg)
- }
-
- },
-
- //加载组织
async loadFormData () {
- const url = '/heart/icpartyactivity/detail'
- // const url = 'http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/detail'
+
+ // const url = 'http://yapi.elinkservice.cn/mock/245/gov/project/memoDifficulty/detail'
+ const url = '/gov/project/memoDifficulty/detail'
let params = {
- id: this.activityId
+ id: this.difficultyId,
+ readFlag: '0',
}
-
const { data, code, msg } = await requestPost(url, params)
-
if (code === 0) {
this.formData = data
- console.log(this.formData.content)
- let style_img = "style='width:50px;height:40px;' "
-
- if (this.formData.content) {
- this.formData.content = this.formData.content.replace(/
![]()
{
+ element.name = element.fileName
+ element.type = element.attachmentType
+ element.size = element.attachmentSize
+ });
+ this.fileList = data.attachmentList
}
- console.log(this.formData.content)
- map.setCenter(new TMap.LatLng(parseFloat(this.formData.latitude), parseFloat(this.formData.longitude)))
- this.setMarker(this.formData.latitude, this.formData.longitude)
+
} else {
this.$message.error(msg)
}
@@ -329,15 +200,31 @@ export default {
app.util.validateRule(messageObj)
this.btnDisable = false
} else {
- this.addActivity()
+
+ this.addDifficulty()
}
})
},
- async addActivity () {
- let url = '/heart/icpartyactivity/save'
- // let url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/save"
+ async addDifficulty () {
+
+
+
+ if (this.fileList.length > 0) {
+ this.formData.attachmentList = this.fileList
+ }
+
+ let url = ''
+ if (this.formType === 'add') {
+ url = '/gov/project/memoDifficulty/save'
+ // url = "http://yapi.elinkservice.cn/mock/245/gov/project/memoDifficulty/save"
+ this.formData.id = ''
+
+ } else {
+ url = '/gov/project/memoDifficulty/update'
+ // url = "http://yapi.elinkservice.cn/mock/245/gov/project/memoDifficulty/update"
+ }
const { data, code, msg } = await requestPost(url, this.formData)
@@ -364,133 +251,69 @@ export default {
},
- // 地图初始化函数,本例取名为init,开发者可根据实际情况定义
- initMap () {
- // 定义地图中心点坐标
- var center = new window.TMap.LatLng(36.0722275, 120.38945519)
- // 定义map变量,调用 TMap.Map() 构造函数创建地图
- map = new window.TMap.Map(document.getElementById('app'), {
- center: center, // 设置地图中心点坐标
- zoom: 17.2, // 设置地图缩放级别
- pitch: 43.5, // 设置俯仰角
- rotation: 45 // 设置地图旋转角度
- })
+ beforeUpload (file) {
+ const array = file.name.split('.')
+ const extension = array[array.length - 1]
+
+ if (extension !== 'xls'
+ && extension !== 'xlsx'
+ && extension !== 'doc'
+ && extension !== 'docx'
+ && extension !== 'pdf') {
+ this.$message.error('只能上传word、excel、pdf文件!')
+ return false
+ }
- search = new window.TMap.service.Search({ pageSize: 10 })
- // 新建一个地点搜索类
- markers = new TMap.MultiMarker({
- map: map,
- geometries: []
- })
- infoWindowList = Array(10)
+ },
- geocoder = new TMap.service.Geocoder(); // 新建一个正逆地址解析类
+ handleFileRemove (file) {
- // 监听地图平移结束
- map.on('panend', () => {
- this.handleMoveCenter()
- })
- this.handleMoveCenter()
- this.convert()
+ if (file && file.status === "success") {
+ this.fileList.splice(this.fileList.findIndex(item => item.uid === file.uid), 1)
+ }
},
- setMarker (lat, lng) {
- markers.setGeometries([])
- markers.add([
- {
- id: '4',
- styleId: 'marker',
- position: new TMap.LatLng(lat, lng),
- properties: {
- title: 'marker4'
- }
- }
- ])
- },
+ handleFileSuccess (res, file) {
- handleSearchMap () {
- infoWindowList.forEach((infoWindow) => {
- infoWindow.close()
- })
- infoWindowList.length = 0
- markers.setGeometries([])
- // 在地图显示范围内以给定的关键字搜索地点
- search
- .searchRectangle({
- keyword: this.keyWords,
- bounds: map.getBounds()
- })
- .then((result) => {
- let { data } = result
- if (Array.isArray(data) && data.length > 0) {
- const {
- location: { lat, lng }
- } = data[0]
-
-
- map.setCenter(new TMap.LatLng(lat, lng))
- this.setMarker(lat, lng)
- this.formData.latitude = lat
- this.formData.longitude = lng
- this.convert()
- } else {
- this.$message.error('未检索到相关位置坐标')
- }
- })
- },
+ if (res.code === 0 && res.msg === 'success') {
+ const array = file.name.split('.')
+ const fileType = array[array.length - 1]
- handleMoveCenter () {
- //修改地图中心点
- const center = map.getCenter()
- const lat = center.getLat()
- const lng = center.getLng()
- this.formData.latitude = lat
- this.formData.longitude = lng
- this.setMarker(lat, lng)
- this.convert(lat, lng)
+ file.fileName = file.name
+ file.attachmentUrl = res.data.url
+ file.attachmentSize = file.size
+ file.attachmentType = 'doc'
+ file.attachmentFormat = fileType
+
+ this.fileList.push(file)
+ console.log(this.fileList)
+ } else this.$message.error(res.msg)
},
- convert (lat, lng) {
- markers.setGeometries([]);
- // var input = document.getElementById('location').value.split(',');
- let location
- if (lat && lng) {
- location = new TMap.LatLng(lat, lng);
- } else {
- location = new TMap.LatLng(this.formData.latitude, this.formData.longitude);
- }
- // map.setCenter(location);
- markers.updateGeometries([
- {
- id: 'main', // 点标注数据数组
- position: location,
- },
- ]);
- geocoder
- .getAddress({ location: location }) // 将给定的坐标位置转换为地址
- .then((result) => {
- this.formData.address = result.result.address
- // 显示搜索到的地址
- });
+ //下载
+ handleFileDownload (file) {
+
+ var a = document.createElement('a');
+ var event = new MouseEvent('click');
+ a.download = file.name;
+ console.log(a)
+ a.href = file.url;
+ a.dispatchEvent(event);
+
+
},
resetData () {
- this.activityId = ''
- this.keyWords = ''
+ this.difficultyId = ''
+
this.formData = {
- serviceMatter: '',//服务事项
- serviceMatterList: [],
- unitId: '',//单位ID
- unitIdList: [],
- title: '',//活动标题
- target: '',//活动目标
- content: '',//活动内容
- activityTime: '',//活动时间
- peopleCount: 0,//服务人数
- result: '', //活动结果
- address: '', //详细地址
- longitude: 36.0722275, //经度
- latitude: 120.38945519 //纬度
+ content: '',//内容
+ resolveWay: '',//解决方式
+ remark: '',//备注
+ scheduledTime: '',//预计处理时间yyyy-mm-dd hh:mm
+ remindTime: '',//提醒时间yyyy-mm-dd hh:mm
+ attachmentList: []
+
}
},
// 开启加载动画
@@ -512,44 +335,20 @@ export default {
computed: {
dataRule () {
return {
- serviceMatterList: [
- { required: true, message: '服务事项不能为空', trigger: 'blur' }
- ],
- unitIdList: [
- { required: true, message: '单位名称不能为空', trigger: 'blur' },
- ],
- title: [
- { required: true, message: '活动标题不能为空', trigger: 'blur' }
- ],
-
- target: [
- { required: true, message: '活动目标不能为空', trigger: 'blur' }
+ resiName: [
+ { required: true, message: '关怀人员不能为空', trigger: 'blur' }
],
content: [
- { required: true, message: '活动内容不能为空', trigger: 'blur' }
- ],
- activityTime: [
- { required: true, message: '活动时间不能为空', trigger: 'blur' }
+ { required: true, message: '关怀事项不能为空', trigger: 'blur' },
],
- result: [
- { required: true, message: '活动结果不能为空', trigger: 'blur' }
- ],
- address: [
- { required: true, message: '详细地址不能为空', trigger: 'blur' }
- ],
- longitude: [
- { required: true, message: '坐标不能为空', trigger: 'blur' }
- ]
+
}
},
},
props: {
- unitList: {
- type: Array,
- default: []
- },
+
// serviceList: {
// type: Array,
@@ -566,31 +365,11 @@ export default {
diff --git a/src/views/modules/secretaryLog/humanisticCare/careDetail.vue b/src/views/modules/secretaryLog/humanisticCare/careDetail.vue
index 8e979669..48404018 100644
--- a/src/views/modules/secretaryLog/humanisticCare/careDetail.vue
+++ b/src/views/modules/secretaryLog/humanisticCare/careDetail.vue
@@ -1,99 +1,64 @@
-
-
-
-
- {{formData.serviceMatterShow}}
-
-
-
-
- {{formData.unitName}}
-
-
-
-
- {{formData.title}}
-
-
-
-
- {{formData.target}}
-
-
-
-
-
-
-
-
- {{formData.peopleCount}}
-
-
-
- {{formData.activityTime}}
-
-
-
-
- {{formData.address}}
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
@@ -101,166 +66,92 @@
@click="handleCancle">取 消
-
+
-
diff --git a/src/views/modules/secretaryLog/humanisticCare/careForm.vue b/src/views/modules/secretaryLog/humanisticCare/careForm.vue
index 745b01b0..257acb56 100644
--- a/src/views/modules/secretaryLog/humanisticCare/careForm.vue
+++ b/src/views/modules/secretaryLog/humanisticCare/careForm.vue
@@ -6,50 +6,49 @@
:inline="true"
:model="formData"
:rules="dataRule"
- :disabled="formType === 'detail'"
class="form">
+ v-model="formData.concernType">
+ v-model="formData.resiName">
+ v-model="formData.phone">
+ v-model="formData.address">
+ v-model="formData.content">
-
-
@@ -86,10 +87,10 @@
+ prop="status">
点击上传
只能上传word、excel、pdf文件
+ class="el-upload__tip">最多三个附件,只能上传word、excel、pdf文件
@@ -131,7 +133,6 @@
取 消
确 定
@@ -154,44 +155,33 @@ export default {
formType: 'add', //表单操作类型 add新增,edit编辑,detail详情
stateList: [
{
- value: '1',
+ value: 1,
label: '已完成'
},
{
- value: '2',
+ value: 0,
label: '未完成'
},
],
btnDisable: false,
- activityId: '',
+ careId: '',
formData: {
- serviceMatter: '',//服务事项
- serviceMatterList: [],
- unitId: '',//单位ID
- unitIdList: [],
- title: '',//活动标题
- target: '',//活动目标
- content: '',//活动内容
- activityTime: '',//活动时间
- peopleCount: 0,//服务人数
- result: '', //活动结果
+ content: '',//关怀事项
+ concernType: '',//关怀类型
+ resiName: '',//关怀人员
+ status: '',//状态 0未完成 1已完成
+ phone: '',//电话
+ address: '',//地址
+ scheduledTime: '',//预计关怀时间yyyy-mm-dd hh:mm
+ remindTime: '',//提醒时间yyyy-mm-dd hh:mm
+ attachmentList: []
+ },
- },
- serviceList: [],
-
- fileList: [
- // {
- // name: 'food.jpeg',
- // url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'
- // }, {
- // name: 'food2.jpeg',
- // url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'
- // }
- ],
- uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/upload-guide-file',
+ fileList: [],
+ uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile',
dialogImageUrl: '',
dialogVisible: false
@@ -204,27 +194,46 @@ export default {
methods: {
-
- async initForm (type, activityId) {
+ async initForm (type, careId) {
this.startLoading()
- this.$refs.ref_form.resetFields();
-
- //获取服务事项
- await this.loadService()
+ this.$refs['ref_form'].resetFields();
this.formType = type
- if (activityId) {
- this.activityId = activityId
- this.formData.id = activityId
+ if (careId) {
+ this.careId = careId
+ this.formData.id = careId
await this.loadFormData()
- } else {
-
}
this.endLoading()
},
+ async loadFormData () {
+ // const url = 'http://yapi.elinkservice.cn/mock/245/gov/project/memoConcern'
+ const url = '/gov/project/memoConcern'
+ let params = {
+ id: this.careId,
+ readFlag: '0',
+ }
+ const { data, code, msg } = await requestPost(url, params)
+ if (code === 0) {
+ this.formData = data
+
+ if (data.attachmentList) {
+ data.attachmentList.forEach(element => {
+ element.name = element.fileName
+ element.type = element.attachmentType
+ element.size = element.attachmentSize
+ });
+ this.fileList = data.attachmentList
+
+ }
+
+ } else {
+ this.$message.error(msg)
+ }
+ },
async handleComfirm () {
this.btnDisable = true
@@ -236,15 +245,39 @@ export default {
app.util.validateRule(messageObj)
this.btnDisable = false
} else {
- this.addActivity()
+
+ this.addCare()
}
})
},
- async addActivity () {
- let url = '/heart/icpartyactivity/save'
- // let url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/save"
+ async addCare () {
+
+ const regPhone = /^1(3|4|5|6|7|8|9)\d{9}$/; //手机号码
+ // if (regPhone.test(this.formData.mobile) === false) {
+ // this.btnDisable = false
+ // this.$message({
+ // type: 'warning',
+ // message: '请输入正确的手机号码'
+ // })
+ // return false;
+ // }
+
+ if (this.fileList.length > 0) {
+ this.formData.attachmentList = this.fileList
+ }
+
+ let url = ''
+ if (this.formType === 'add') {
+ url = '/gov/project/memoConcern/save'
+ // url = "http://yapi.elinkservice.cn/mock/245/gov/project/memoConcern/save"
+ this.formData.id = ''
+
+ } else {
+ url = '/gov/project/memoConcern/update'
+ // url = "http://yapi.elinkservice.cn/mock/245/gov/project/memoConcern/update"
+ }
const { data, code, msg } = await requestPost(url, this.formData)
@@ -284,14 +317,6 @@ export default {
return false
}
-
-
- // if (!isLt2M) {
- // this.$message.warning('上传模板大小不能超过 5MB!')
- // return
- // }
-
- // return false // 返回false不会自动上传
},
handleFileRemove (file) {
@@ -307,8 +332,12 @@ export default {
const array = file.name.split('.')
const fileType = array[array.length - 1]
- file.url = res.data.url
- file.type = fileType
+ file.fileName = file.name
+ file.attachmentUrl = res.data.url
+ file.attachmentSize = file.size
+ file.attachmentType = 'doc'
+ file.attachmentFormat = fileType
+
this.fileList.push(file)
console.log(this.fileList)
} else this.$message.error(res.msg)
@@ -328,19 +357,18 @@ export default {
},
resetData () {
- this.activityId = ''
+ this.careId = ''
this.formData = {
- serviceMatter: '',//服务事项
- serviceMatterList: [],
- unitId: '',//单位ID
- unitIdList: [],
- title: '',//活动标题
- target: '',//活动目标
- content: '',//活动内容
- activityTime: '',//活动时间
- peopleCount: 0,//服务人数
- result: '', //活动结果
+ content: '',//关怀事项
+ concernType: '',//关怀类型
+ resiName: '',//关怀人员
+ status: '',//状态 0未完成 1已完成
+ phone: '',//电话
+ address: '',//地址
+ scheduledTime: '',//预计关怀时间yyyy-mm-dd hh:mm
+ remindTime: '',//提醒时间yyyy-mm-dd hh:mm
+ attachmentList: []
}
},
@@ -363,42 +391,38 @@ export default {
computed: {
dataRule () {
return {
- serviceMatterList: [
- { required: true, message: '服务事项不能为空', trigger: 'blur' }
+ resiName: [
+ { required: true, message: '关怀人员不能为空', trigger: 'blur' }
],
- unitIdList: [
- { required: true, message: '单位名称不能为空', trigger: 'blur' },
+ content: [
+ { required: true, message: '关怀事项不能为空', trigger: 'blur' },
],
- title: [
- { required: true, message: '活动标题不能为空', trigger: 'blur' }
+ concernType: [
+ { required: false },
],
-
- target: [
- { required: true, message: '活动目标不能为空', trigger: 'blur' }
+ status: [
+ { required: false },
],
- content: [
- { required: true, message: '活动内容不能为空', trigger: 'blur' }
+ phone: [
+ { required: false },
+ ],
+ address: [
+ { required: false },
],
- activityTime: [
- { required: true, message: '活动时间不能为空', trigger: 'blur' }
+ scheduledTime: [
+ { required: false },
],
- result: [
- { required: true, message: '活动结果不能为空', trigger: 'blur' }
+ remindTime: [
+ { required: false },
],
- longitude: [
- { required: true, message: '坐标不能为空', trigger: 'blur' }
- ]
}
},
},
props: {
- unitList: {
- type: Array,
- default: []
- },
+
// serviceList: {
// type: Array,
diff --git a/src/views/modules/secretaryLog/humanisticCare/careList.vue b/src/views/modules/secretaryLog/humanisticCare/careList.vue
index 5d58f0e7..d99b944a 100644
--- a/src/views/modules/secretaryLog/humanisticCare/careList.vue
+++ b/src/views/modules/secretaryLog/humanisticCare/careList.vue
@@ -7,8 +7,8 @@
:label-width="'100px'">
-
+
-
+
-
+
+ prop="status">
-
@@ -57,12 +57,12 @@
-
+
@@ -74,7 +74,7 @@
-
-
-
-
-
-
-
-
+
+ {{scope.row.status===0?'未完成':'已完成'}}
+
+
-
查看
修改
导出
+ @click="handleExport(scope.row)">导出
删除
@@ -223,7 +227,6 @@
class="dialog-h"
@closed="diaClose">
@@ -231,13 +234,12 @@
+ @closed="diaClose">
@@ -262,53 +264,38 @@ export default {
pageSize: 10,
pageNo: 0,
tableLoading: false,
- agencyId: '',
- unitList: [],//单位list
- serviceList: [
- {
- id: "1",
- name: '积极配合社区安全巡查员进行场所消防、安全等方面的检查。'
- },
- {
- id: "2",
- name: '积极配合'
- },
+
+ stateList: [
{
- id: "3",
- name: '积极配合社区安全巡查员进行'
+ value: 1,
+ label: '已完成'
},
{
- id: "4",
- name: '积极配合社区安全巡查员进行场所消防、安全等方面的检查。并具备安全意识及设备设施'
+ value: 0,
+ label: '未完成'
},
- ],//服务list
- pickerOptions: { //控制时间范围
- disabledDate (time) {
- return time.getTime() > (Date.now() - (24 * 60 * 60 * 1000))
- }
- },
+ ],
+ scheduledTimeRange: [],
timeRange: [],
- unitId: '',
formData: {
- unitId: '',
- title: '',
- serviceMatter: '',
- startTime: '',
- endTime: ''
+ content: '',//关怀事项
+ concernType: '',//关怀类型
+ resiName: '',//关怀人员
+ status: '',//状态 0未完成 1已完成
+ startTime: '',//开始时间 yyyy-mm-dd
+ endTime: '',//结束时间 yyyy-mm-dd
+ scheduledStartTime: '',//预计关怀开始时间 yyyy-mm-dd
+ scheduledEndTime: '',//预计关怀结束时间 yyyy-mm-dd
},
tableData: [],
//form相关
formShow: false,
- formTitle: '新增活动',
+ formTitle: '新增',
detailShow: false,
- files: "",
- fileName: "",
- uploadUlr: window.SITE_CONFIG['apiURL'] + '/gov/org/neighborhood/import'
-
}
},
components: {
@@ -318,14 +305,7 @@ export default {
},
async mounted () {
- //获取服务事项
- await this.loadService()
- const { user } = this.$store.state
- this.agencyId = user.agencyId
-
- //获取建联单位
- await this.loadUnit()
//获取网格下拉框数据
await this.loadTable()
},
@@ -335,52 +315,12 @@ export default {
this.loadTable()
},
- async loadUnit () {
- const url = "/heart/icpartyunit/option"
- // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/option"
-
- let params = {
- agencyId: this.agencyId
- }
-
- const { data, code, msg } = await requestPost(url, params)
-
- if (code === 0) {
- this.unitList = data
-
- } else {
- this.$message.error(msg)
- }
-
- },
-
- //获取服务事项下拉框
- async loadService () {
- const url = "/heart/serviceitem/dict-list"
-
-
- let params = {
- // parentCategoryCode: '1010'
- }
-
- const { data, code, msg } = await requestPost(url, params)
-
- if (code === 0) {
- this.serviceList = data
-
- } else {
- this.$message.error(msg)
- }
-
- },
-
async loadTable () {
this.tableLoading = true
- const url = "/heart/icpartyactivity/search"
- // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list"
+ const url = "/gov/project/memoConcern/page"
+ // const url = "http://yapi.elinkservice.cn/mock/245/gov/project/memoConcern/page"
let params = {
- agencyId: this.agencyId,
pageSize: this.pageSize,
pageNo: this.pageNo,
...this.formData
@@ -400,21 +340,23 @@ export default {
diaClose () {
- this.$refs.ref_form.resetData()
- this.formShow = false
- },
+ if (this.formShow) {
+ // this.$refs.ref_form.resetData()
+ this.formShow = false
+ } else {
+ this.detailShow = false
+ }
+
- detailClosed () {
- this.detailShow = false
},
+
handleDetail (row) {
- // this.detailShow = true
+ this.detailShow = true
this.formTitle = '详情'
- this.formShow = true
this.$nextTick(() => {
- // this.$refs.ref_detail.initForm(row)
- this.$refs.ref_form.initForm('detail', row.id)
+ this.$refs.ref_detail.initForm(row)
+
})
},
@@ -451,7 +393,7 @@ export default {
type: "warning"
})
.then(() => {
- this.deleteActivity(row)
+ this.deleteCare(row)
})
.catch(err => {
if (err == "cancel") {
@@ -461,15 +403,15 @@ export default {
});
},
- async deleteActivity (row) {
- const url = "/heart/icpartyactivity/delete"
- // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/delete"
-
+ async deleteCare (row) {
+ const url = "/gov/project/memoConcern/delete"
+ // const url = "http://yapi.elinkservice.cn/mock/245/gov/project/memoConcern/delete"
+ let ids = [row.id]
let params = {
- id: row.id
+ ids: ids
}
- const { data, code, msg } = await requestPost(url, params)
+ const { data, code, msg } = await requestPost(url, ids)
if (code === 0) {
this.$message({
@@ -485,14 +427,17 @@ export default {
//重置搜索条件
resetSearch () {
+ this.scheduledTimeRange = []
this.timeRange = []
this.formData = {
- gridId: '',
- unitName: '',
- serviceMatter: '',
- type: '',
- contact: '',
- contactMobile: ''
+ content: '',//关怀事项
+ concernType: '',//关怀类型
+ resiName: '',//关怀人员
+ status: '',//状态 0未完成 1已完成
+ startTime: '',//开始时间 yyyy-mm-dd
+ endTime: '',//结束时间 yyyy-mm-dd
+ scheduledStartTime: '',//预计关怀开始时间 yyyy-mm-dd
+ scheduledEndTime: '',//预计关怀结束时间 yyyy-mm-dd
}
this.pageSize = 10
this.pageNo = 0
@@ -500,23 +445,18 @@ export default {
},
//导出表格
- async handleExport () {
- let title = '联建活动列表'
-
- const url = "/heart/icpartyactivity/export"
- let params = {
- agencyId: this.agencyId,
+ async handleExport (row) {
+ let title = '人员关怀'
- ...this.formData
-
- }
+ let url = `/gov/project/memoConcern/${row.id}/exportWord`
+ let params = {}
app.ajax.exportFilePost(
url,
params,
(data, rspMsg) => {
- this.download(data, title + '.xls')
+ this.download(data, title + '.doc')
},
(rspMsg, data) => {
this.$message.error(rspMsg);
@@ -551,72 +491,27 @@ export default {
},
- // 上传文件之前的钩子
- beforeUpload (file) {
- this.files = file;
-
- const isText = file.type === 'application/vnd.ms-excel'
- const isTextComputer = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
+ handleScheduledTimeChange (time) {
+ if (time) {
+ this.formData.scheduledStartTime = time[0]
+ this.formData.scheduledEndTime = time[1]
- if (!isText && !isTextComputer) {
- this.$message.error('请选择正确格式的文件')
- return false
} else {
- this.fileName = file.name;
- return true
- }
+ this.formData.scheduledStartTime = ''
+ this.formData.scheduledEndTime = ''
- },
- // 上传文件个数超过定义的数量
- handleExceed (files, fileList) {
- this.$message.warning(`当前限制选择 1 个文件,请删除后继续上传`)
- },
-
- async uploadFile () {
- this.loading = true
-
- if (this.fileName == "") {
- this.$message.warning('请选择要上传的文件!')
- return false
}
- //清空上传列表
- this.$refs['upload'].clearFiles()
-
- var url = '/heart/icpartyactivity/import'
- let fileFormData = new FormData();
- fileFormData.append('file', this.files);//filename是键,file是值,就是要传的文件,test.zip是要传的文件名
-
- const { data, code, msg } = await requestPost(url, fileFormData)
- if (code === 0) {
- this.$message({
- type: "success",
- message: "导入成功"
- });
-
- this.loadTable()
- } else {
- this.$message.error(msg)
- }
-
-
},
-
handleTimeChange (time) {
if (time) {
- const startTimeArray = util.dateFormatter(time[0], 'date').split('-')
- const endTimeArray = util.dateFormatter(time[1], 'date').split('-')
-
- this.formData.startTime = startTimeArray[0] + '-' + startTimeArray[1] + '-' + startTimeArray[2] + ' 00:00:00'
- this.formData.endTime = endTimeArray[0] + '-' + endTimeArray[1] + '-' + endTimeArray[2] + ' 23:59:59'
+ this.formData.startTime = time[0]
+ this.formData.endTime = time[1]
- // this.startTimeShow = startTimeArray[0] + '年' + startTimeArray[1] + '月' + startTimeArray[2] + '日'
- // this.endTimeShow = endTimeArray[0] + '年' + endTimeArray[1] + '月' + endTimeArray[2] + '日'
} else {
this.formData.startTime = ''
this.formData.endTime = ''
- // this.startTimeShow = ''
- // this.endTimeShow = ''
+
}
},
@@ -653,9 +548,7 @@ export default {
return (this.clientHeight - 430)
},
- rowHeight () {
- return (this.clientHeight - 200) + 'px'
- },
+
...mapGetters(['clientHeight'])
},
watch: {
From 055097960d71180f238872fddaea2383b87359bd Mon Sep 17 00:00:00 2001
From: jiangyy
Date: Thu, 17 Mar 2022 14:04:49 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BA=BA=E6=96=87=E5=85=B3=E6=80=80?=
=?UTF-8?q?=E3=80=81=E9=9A=BE=E7=82=B9=E5=A0=B5=E7=82=B9=E8=AF=A6=E6=83=85?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../modules/secretaryLog/difficulty/difficultyForm.vue | 5 +++--
.../modules/secretaryLog/difficulty/difficultyList.vue | 6 ++++--
src/views/modules/secretaryLog/humanisticCare/careForm.vue | 5 +++--
src/views/modules/secretaryLog/humanisticCare/careList.vue | 6 ++++--
4 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/src/views/modules/secretaryLog/difficulty/difficultyForm.vue b/src/views/modules/secretaryLog/difficulty/difficultyForm.vue
index e271db26..46bc5df7 100644
--- a/src/views/modules/secretaryLog/difficulty/difficultyForm.vue
+++ b/src/views/modules/secretaryLog/difficulty/difficultyForm.vue
@@ -6,6 +6,7 @@
:inline="true"
:model="formData"
:rules="dataRule"
+ :disabled="formType==='detail'"
class="form">
{
- this.$refs.ref_detail.initForm(row)
+ this.$refs.ref_form.initForm('detail', row.id)
+ // this.$refs.ref_detail.initForm(row)
})
},
diff --git a/src/views/modules/secretaryLog/humanisticCare/careForm.vue b/src/views/modules/secretaryLog/humanisticCare/careForm.vue
index 257acb56..086223d4 100644
--- a/src/views/modules/secretaryLog/humanisticCare/careForm.vue
+++ b/src/views/modules/secretaryLog/humanisticCare/careForm.vue
@@ -6,6 +6,7 @@
:inline="true"
:model="formData"
:rules="dataRule"
+ :disabled="formType==='detail'"
class="form">
{
- this.$refs.ref_detail.initForm(row)
+ // this.$refs.ref_detail.initForm(row)
+ this.$refs.ref_form.initForm('detail', row.id)
})
},
From 1f21fb1d43a8e18062a0b81fe1b399c290a15670 Mon Sep 17 00:00:00 2001
From: 13176889840 <13176889840@163.com>
Date: Thu, 17 Mar 2022 15:27:59 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E6=8F=90=E9=86=92?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/js/store/index.js | 39 +-
src/utils/index.js | 22 +
src/views/main-content.vue | 77 ++-
.../difficulty/difficultyForm.vue | 10 +-
.../difficulty/difficultyList.vue | 2 +-
.../secretaryLog/humanisticCare/careForm.vue | 10 +-
.../secretaryLog/humanisticCare/careList.vue | 2 +-
.../modules/secretaryLog/workLog/form.vue | 358 +++++++++++++
.../modules/secretaryLog/workLog/index.vue | 474 ++++++++++++++++++
src/views/tips.vue | 8 +-
10 files changed, 961 insertions(+), 41 deletions(-)
create mode 100644 src/views/modules/secretaryLog/workLog/form.vue
create mode 100644 src/views/modules/secretaryLog/workLog/index.vue
diff --git a/src/js/store/index.js b/src/js/store/index.js
index 7dfbb567..2b254ac2 100644
--- a/src/js/store/index.js
+++ b/src/js/store/index.js
@@ -5,9 +5,10 @@ import user from "./modules/user";
import app from "./modules/app";
import tagsView from "./modules/tagsView";
import { requestPost } from "@/js/dai/request";
+import { dateFormats } from "@/utils/index";
Vue.use(Vuex);
-
+let interTimer = null
export default new Vuex.Store({
namespaced: true,
state: {
@@ -56,13 +57,42 @@ export default new Vuex.Store({
},
SET_TIPS_LIST(state, tipsList) {
let _list = state.tipsList
- state.tipsList = _list.concat(tipsList)
+ // state.tipsList = _list.concat(tipsList)
+ state.tipsList = tipsList
},
SET_TIPS_TIME(state, time) {
state.tipsTime = time
}
},
actions: {
+ clearInter() {
+ clearInterval(interTimer)
+ },
+ setInterval({ commit, dispatch, state }) {
+ interTimer = setInterval(() => {
+ const _t = dateFormats('YYYY-mm-dd HH:MM', (new Date(new Date().toLocaleDateString()).getTime()))
+ const _tt = new Date(_t).getTime()
+ console.log('230000---', _t)
+ const t = dateFormats('YYYY-mm-dd HH:MM', (new Date().getTime()))
+ const nt = new Date(t).getTime()
+ // 判断当前时间是否为 00:00
+ if (nt == _tt) {
+ dispatch('setTipsTime')
+ return
+ }
+ let times = state.tipsTime
+ console.log('nt---000', nt)
+ state.tipsTime.forEach((item, index) => {
+ const _t = new Date(item).getTime()
+ if (_t == nt) {
+ clearInterval(interTimer)
+ dispatch('setTipsList', item)
+ times.splice(index, 1)
+ commit('SET_TIPS_TIME', times)
+ }
+ })
+ }, 10000)
+ },
setTipsList({ commit }, time) {
return new Promise(async (resolve, reject) => {
const url = '/gov/project/memoAttr/memosToRemind'
@@ -76,13 +106,16 @@ export default new Vuex.Store({
} else reject(msg)
})
},
- setTipsTime({ commit }) {
+ setTipsTime({ commit, dispatch }) {
return new Promise(async (resolve, reject) => {
+ if (interTimer) clearInterval(interTimer)
const url = '/gov/project/memoAttr/memoTime'
const { data, code, msg } = await requestPost(url)
if (code === 0) {
+
commit('SET_TIPS_TIME', data)
+ if (data.length > 0) dispatch('setInterval')
resolve()
} else reject(msg)
})
diff --git a/src/utils/index.js b/src/utils/index.js
index ad9c9e00..fe742c9a 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -93,3 +93,25 @@ export function treeDataTranslate(data, id = 'id', pid = 'pid') {
}
return res
}
+
+// 时间格式化
+export function dateFormats(fmt, date) {
+ let ret
+ const _date = new Date(date)
+ const opt = {
+ 'Y+': _date.getFullYear().toString(), // 年
+ 'm+': (_date.getMonth() + 1).toString(), // 月
+ 'd+': _date.getDate().toString(), // 日
+ 'H+': _date.getHours().toString(), // 时
+ 'M+': _date.getMinutes().toString(), // 分
+ 'S+': _date.getSeconds().toString() // 秒
+ // 有其他格式化字符需求可以继续添加,必须转化成字符串
+ }
+ for (const k in opt) {
+ ret = new RegExp('(' + k + ')').exec(fmt)
+ if (ret) {
+ fmt = fmt.replace(ret[1], (ret[1].length === 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, '0')))
+ }
+ }
+ return fmt
+}
diff --git a/src/views/main-content.vue b/src/views/main-content.vue
index c691d133..569b149f 100644
--- a/src/views/main-content.vue
+++ b/src/views/main-content.vue
@@ -70,28 +70,29 @@
-
+
+ :info="item"
+ :show="msgList.length > 0 ? true : false"
+ @look="handleLook(item, index)" @close="handleClose(item, index)" />
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -101,19 +102,25 @@ import { isURL } from "@/utils/validate";
import Cookie from "js-cookie";
import Tips from './tips.vue'
import { requestPost } from "@/js/dai/request";
+import workForm from './modules/secretaryLog/workLog/form.vue'
+import dForm from './modules/secretaryLog/difficulty/difficultyForm.vue'
+import hForm from './modules/secretaryLog/humanisticCare/careForm.vue'
export default {
components: {
- Tips
+ Tips,
+ workForm,
+ dForm,
+ hForm
},
data() {
return {
+ dialogTitle: '',
dialogFormVisible: false,
iframeUrl: "",
token: "",
customerId: "",
- form: {
-
- },
+ form: {},
+ formType: '',
formLabelWidth: '120px',
tipsList: []
};
@@ -127,6 +134,11 @@ export default {
this.loopTips()
},
+ computed: {
+ msgList() {
+ return this.$store.state.tipsList
+ }
+ },
methods: {
changeCustomerName(customerName) {
this.$emit("changeCustomerName", customerName);
@@ -250,11 +262,26 @@ export default {
this.$store.state.tipsList.splice(index, 1)
this.closeTips(item.memoId)
},
- async handleLook(item) {
+ async handleLook(item, index) {
console.log('look-----', item)
- await this.getInfo(item)
+ const formType = {
+ work_diary: 'ref_form',
+ concern: 'concern_form',
+ difficulty: 'difficulty_form'
+ }
+ this.dialogTitle = item.typeName
+ // await this.getInfo(item)
+ this.formType = item.type
this.dialogFormVisible = true
+ console.log('ref0-----', this.formType)
+ this.$nextTick(() => {
+ console.log('this.$refs-----', this.$refs)
+ this.$refs[formType[item.type]].initForm('look', item.memoId)
+ this.$store.state.tipsList.splice(index, 1)
+ this.closeTips(item.memoId)
+ })
+
}
},
};
diff --git a/src/views/modules/secretaryLog/difficulty/difficultyForm.vue b/src/views/modules/secretaryLog/difficulty/difficultyForm.vue
index 46bc5df7..02760a1d 100644
--- a/src/views/modules/secretaryLog/difficulty/difficultyForm.vue
+++ b/src/views/modules/secretaryLog/difficulty/difficultyForm.vue
@@ -6,7 +6,7 @@
:inline="true"
:model="formData"
:rules="dataRule"
- :disabled="formType==='detail'"
+ :disabled="formType==='look'"
class="form">
取 消
- 确 定
@@ -196,13 +196,15 @@ export default {
setTimeout(() => {
this.btnDisable = false
}, 10000)
- this.$refs['ref_form'].validate((valid, messageObj) => {
+ this.$refs['ref_form'].validate(async (valid, messageObj) => {
if (!valid) {
app.util.validateRule(messageObj)
this.btnDisable = false
} else {
- this.addDifficulty()
+ await this.addDifficulty()
+ this.$store.dispatch('setTipsList')
+ this.$store.dispatch('setTipsTime')
}
})
diff --git a/src/views/modules/secretaryLog/difficulty/difficultyList.vue b/src/views/modules/secretaryLog/difficulty/difficultyList.vue
index 90e9d8f1..933474da 100644
--- a/src/views/modules/secretaryLog/difficulty/difficultyList.vue
+++ b/src/views/modules/secretaryLog/difficulty/difficultyList.vue
@@ -286,7 +286,7 @@ export default {
this.formShow = true
this.formTitle = '详情'
this.$nextTick(() => {
- this.$refs.ref_form.initForm('detail', row.id)
+ this.$refs.ref_form.initForm('look', row.id)
// this.$refs.ref_detail.initForm(row)
})
diff --git a/src/views/modules/secretaryLog/humanisticCare/careForm.vue b/src/views/modules/secretaryLog/humanisticCare/careForm.vue
index 086223d4..2dc54f2a 100644
--- a/src/views/modules/secretaryLog/humanisticCare/careForm.vue
+++ b/src/views/modules/secretaryLog/humanisticCare/careForm.vue
@@ -6,7 +6,7 @@
:inline="true"
:model="formData"
:rules="dataRule"
- :disabled="formType==='detail'"
+ :disabled="formType==='look'"
class="form">
取 消
- 确 定
@@ -241,13 +241,15 @@ export default {
setTimeout(() => {
this.btnDisable = false
}, 10000)
- this.$refs['ref_form'].validate((valid, messageObj) => {
+ this.$refs['ref_form'].validate(async (valid, messageObj) => {
if (!valid) {
app.util.validateRule(messageObj)
this.btnDisable = false
} else {
- this.addCare()
+ await this.addCare()
+ this.$store.dispatch('setTipsList')
+ this.$store.dispatch('setTipsTime')
}
})
diff --git a/src/views/modules/secretaryLog/humanisticCare/careList.vue b/src/views/modules/secretaryLog/humanisticCare/careList.vue
index afb7f687..a712923c 100644
--- a/src/views/modules/secretaryLog/humanisticCare/careList.vue
+++ b/src/views/modules/secretaryLog/humanisticCare/careList.vue
@@ -357,7 +357,7 @@ export default {
this.formTitle = '详情'
this.$nextTick(() => {
// this.$refs.ref_detail.initForm(row)
- this.$refs.ref_form.initForm('detail', row.id)
+ this.$refs.ref_form.initForm('look', row.id)
})
},
diff --git a/src/views/modules/secretaryLog/workLog/form.vue b/src/views/modules/secretaryLog/workLog/form.vue
new file mode 100644
index 00000000..7d7961ae
--- /dev/null
+++ b/src/views/modules/secretaryLog/workLog/form.vue
@@ -0,0 +1,358 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 点击上传
+ 最多三个附件,只能上传word、excel、pdf文件
+
+
+
+
+
+
+
+ 取 消
+ 确 定
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/modules/secretaryLog/workLog/index.vue b/src/views/modules/secretaryLog/workLog/index.vue
new file mode 100644
index 00000000..57e2f85b
--- /dev/null
+++ b/src/views/modules/secretaryLog/workLog/index.vue
@@ -0,0 +1,474 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+ {{scope.row.content}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看
+ 修改
+ 导出
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/tips.vue b/src/views/tips.vue
index 5c926775..5b350bd5 100644
--- a/src/views/tips.vue
+++ b/src/views/tips.vue
@@ -1,5 +1,5 @@
-
+
通知提醒
@@ -20,7 +20,7 @@ export default {
props: {
show: {
type: Boolean,
- default: true
+ default: false
},
info: {
type: Object,
@@ -51,6 +51,7 @@ export default {
.msg-tips {
position: fixed;
right: 0;
+ bottom: -220px;
z-index: 999;
transition: bottom .5s;
.tips-card {
@@ -95,9 +96,10 @@ export default {
}
.hide-tips {
bottom: -220px;
-
+ transition: bottom .5s;
}
.show-tips {
bottom: 0px;
+ transition: bottom .5s;
}
\ No newline at end of file