Commit 80d8fbe3ccab24bbe0df196c72835b6fdc2a22d3

Authored by 易尊强
1 parent c8f02095

2/29下午

pages.json
@@ -450,6 +450,14 @@ @@ -450,6 +450,14 @@
450 "navigationBarTitleText" : "管理员信息列表", 450 "navigationBarTitleText" : "管理员信息列表",
451 "enablePullDownRefresh" : false 451 "enablePullDownRefresh" : false
452 } 452 }
  453 + },
  454 + {
  455 + "path" : "pages/Feedback/userAppeal/userAppeal",
  456 + "style" :
  457 + {
  458 + "navigationBarTitleText" : "诉求信息",
  459 + "enablePullDownRefresh" : false
  460 + }
453 } 461 }
454 462
455 // { 463 // {
pages/Feedback/userAppeal/Feedback.scss 0 → 100644
  1 +.page{
  2 + position: absolute;
  3 + left: 0;
  4 + top: 0;
  5 + width: 100%;
  6 + height: 100%;
  7 + background-color: #f6f6f6;
  8 +}
  9 +.titleall-box {
  10 + display: flex;
  11 + justify-content: space-between;
  12 + padding: 40rpx 20rpx 20rpx 0;
  13 + .titleall-left {
  14 + font-size: 32rpx;
  15 + font-weight: bold;
  16 + display: flex;
  17 + align-items: center;
  18 + .titleall-left-line {
  19 + width: 14rpx;
  20 + height: 36rpx;
  21 + border-radius: 0 10rpx 10rpx 0;
  22 + background-color: #E60012;
  23 + box-shadow: 0 0 10rpx 5rpx #fbdadc;
  24 + margin-right: 20rpx;
  25 + }
  26 + text {
  27 + font-size: 28rpx;
  28 + color: #999999;
  29 + }
  30 + }
  31 +}
  32 +/* 反馈类型 */
  33 +.feedback-type{
  34 + position: relative;
  35 + display: flex;
  36 + align-items: center;
  37 + justify-content: space-between;
  38 + width: 94%;
  39 + height: 100rpx;
  40 + margin: 20rpx auto;
  41 + background-color: #FFFFFF;
  42 + border-radius: 20rpx;
  43 + padding: 0 4%;
  44 + .feedback-type-left {
  45 + color: #909090;
  46 + }
  47 + .title{
  48 + display: flex;
  49 + align-items: center;
  50 + text{
  51 + font-size: 26rpx;
  52 + }
  53 + }
  54 + .picker{
  55 + position: absolute;
  56 + width: 100%;
  57 + height: 100%;
  58 + opacity: 0;
  59 + }
  60 + .more{
  61 + display: flex;
  62 + align-items: center;
  63 + text{
  64 + color: #000;
  65 + font-size: 34rpx;
  66 + }
  67 + image {
  68 + width: 20rpx;
  69 + height: 20rpx;
  70 + margin-left: 10rpx;
  71 + }
  72 + }
  73 + .feedback-type-right {
  74 + display: flex;
  75 + align-items: center;
  76 + }
  77 +}
  78 +.example-body {
  79 + padding: 10px;
  80 + padding-top: 0;
  81 + }
  82 +
  83 + .custom-image-box {
  84 + /* #ifndef APP-NVUE */
  85 + display: flex;
  86 + /* #endif */
  87 + flex-direction: row;
  88 + justify-content: space-between;
  89 + align-items: center;
  90 + }
  91 +
  92 + .text {
  93 + font-size: 14px;
  94 + color: #333;
  95 + }
  96 +.segmented-control {
  97 + margin-bottom: 15px;
  98 + }
  99 +
  100 + .button-group {
  101 + margin-top: 15px;
  102 + display: flex;
  103 + justify-content: space-around;
  104 + }
  105 +
  106 + .form-item {
  107 + display: flex;
  108 + align-items: center;
  109 + }
  110 +
  111 + .button {
  112 + display: flex;
  113 + align-items: center;
  114 + height: 35px;
  115 + margin-left: 10px;
  116 + }
  117 +/* 反馈内容 */
  118 +.feedback-data{
  119 + width: 94%;
  120 + // height: 600rpx;
  121 + margin: 20rpx auto;
  122 + background-color: #FFFFFF;
  123 + border-radius: 20rpx;
  124 + .content{
  125 + padding: 20rpx;
  126 + textarea{
  127 + width: 94%;
  128 + height: 320rpx;
  129 + background-color: #f6f6f6;
  130 + border-radius: 20rpx;
  131 + padding: 20rpx;
  132 + font-size: 26rpx;
  133 + color: #222222;
  134 + }
  135 + }
  136 + .voucher-img{
  137 + display: flex;
  138 + align-items: center;
  139 + padding: 0 20rpx;
  140 + height: 240rpx;
  141 + margin-top: 20rpx;
  142 + .list{
  143 + width: 33%;
  144 + height: 100%;
  145 + image{
  146 + width: 160rpx;
  147 + height: 160rpx;
  148 + border-radius: 10rpx;
  149 + }
  150 + }
  151 + }
  152 +}
  153 +
  154 +/* 联系方式 */
  155 +.contact-way{
  156 + display: flex;
  157 + align-items: center;
  158 + justify-content: center;
  159 + width: 94%;
  160 + height: 100rpx;
  161 + margin: 20rpx auto;
  162 + background-color: #FFFFFF;
  163 + border-radius: 20rpx;
  164 + input{
  165 + width: 100%;
  166 + height: 100%;
  167 + padding: 0 4%;
  168 + font-size: 26rpx;
  169 + color: #222222;
  170 + }
  171 +}
  172 +
  173 +/* 提交 */
  174 +.submit-btn{
  175 + display: flex;
  176 + align-items: center;
  177 + justify-content: center;
  178 + width: 94%;
  179 + height: 80rpx;
  180 + margin: 30rpx auto;
  181 + background: #E60012;
  182 + border-radius: 80rpx;
  183 + text{
  184 + color: #FFFFFF;
  185 + font-size: 28rpx;
  186 + }
  187 +}
0 \ No newline at end of file 188 \ No newline at end of file
pages/Feedback/userAppeal/userAppeal.vue 0 → 100644
  1 +<template>
  2 + <view class="page">
  3 + <!-- 反馈内容 -->
  4 + <view class="feedback-data">
  5 + <view class="titleall-box">
  6 + <view class="titleall-left">
  7 + <view class="titleall-left-line"></view>回复信息
  8 + </view>
  9 + </view>
  10 + <uni-forms ref="valiForm" :rules="rules" :modelValue="valiFormData" style="width: 96%;margin: 0 auto;">
  11 + <uni-forms-item label="内容" required name="title">
  12 + <uni-easyinput v-model="valiFormData.title" disabled />
  13 + </uni-forms-item>
  14 + <uni-forms-item label="模块" required name="subTitle">
  15 + <uni-easyinput v-model="valiFormData.subTitle" disabled />
  16 + </uni-forms-item>
  17 + <uni-forms-item label="回复内容">
  18 + <uni-easyinput type="textarea" disabled v-model="valiFormData.bodyContent" placeholder="请输入" />
  19 + </uni-forms-item>
  20 + </uni-forms>
  21 + <!-- 选择反馈类型 -->
  22 + <view class="feedback-type">
  23 + <view class="feedback-type-left">状态</view>
  24 + <view class="feedback-type-right">
  25 + <view class="title">
  26 + <text>{{TypeArray[TypeIndex]}}</text>
  27 + </view>
  28 + <view class="picker">
  29 + <picker @change="FeedbackTypeCh" :value="TypeIndex" :range="TypeArray">
  30 + <view class="uni-input">{{TypeArray[TypeIndex]}}</view>
  31 + </picker>
  32 + </view>
  33 + <view class="more">
  34 + <image src="../../../static/down1.png"></image>
  35 + </view>
  36 + </view>
  37 + </view>
  38 + </view>
  39 +
  40 + <!-- 提交 -->
  41 + <!-- <view v-if="have" class="submit-btn" @click="submitContent('valiForm')">
  42 + <text>发布</text>
  43 + </view> -->
  44 + <!-- <view class="submit-btn" @click="updateInfo('valiForm')">
  45 + <text>确定</text>
  46 + </view> -->
  47 + </view>
  48 +</template>
  49 +
  50 +<script>
  51 + import {
  52 + data
  53 + } from '../../../uview-ui/libs/mixin/mixin';
  54 + import request from '@/utils/request.js'
  55 + import utils from '../../../service/utils';
  56 + export default {
  57 + data() {
  58 + return {
  59 + userCode: {},
  60 + // 选择图片路径
  61 + filePath: [],
  62 + uploadPath: [],
  63 + type: "",
  64 + lastModifyUserId: '',
  65 + // 校验表单数据
  66 + valiFormData: {
  67 + title: '',
  68 + bodyContent: '',
  69 + subTitle: '',
  70 + },
  71 + // 通知信息标题
  72 + noticeTitle:'',
  73 + // 通知详情
  74 + noticeDesc:'',
  75 + creater: '',
  76 + rules: {
  77 + title: {
  78 + rules: [{
  79 + required: true,
  80 + errorMessage: '不能为空'
  81 + }]
  82 + },
  83 + subTitle: {
  84 + rules: [{
  85 + required: true,
  86 + errorMessage: '不能为空'
  87 + }]
  88 + },
  89 + },
  90 + baseUrl: "http://deyanggaoxin.fengshiyun.com",
  91 + // 判断是否传了id
  92 + isId: '',
  93 + have: false,
  94 + detailData: [],
  95 + // 需要通知的公司的id
  96 + companysId: [],
  97 + tellInfo:[],
  98 + TypeArray: ['已提交', '已处理', '忽略', '无效'],
  99 + TypeIndex: 0,
  100 + info:{}
  101 + };
  102 +
  103 + },
  104 + // onShow() {
  105 + // this.getType()
  106 + // },
  107 + onUnload() {
  108 + uni.$off('idInfo')
  109 + uni.$off('tellInfo')
  110 + },
  111 + onLoad(options) {
  112 + console.log("options", options)
  113 + uni.$on('idInfo', res => {
  114 + console.log("选择公司页面返回的公司ID", res)
  115 + if(res.length > 0)
  116 + this.companysId = res
  117 + })
  118 + uni.$on('tellInfo', res => {
  119 + console.log("tell信息", res)
  120 + if(res.length > 0)
  121 + this.tellInfo = res
  122 + })
  123 + if (JSON.stringify(options) == "{}") {
  124 + this.have = true
  125 + } else {
  126 + this.isId = JSON.parse(options.data)
  127 + console.log("Id", this.isId)
  128 + this.getConDetail(this.isId)
  129 + }
  130 + this.getUser()
  131 + let user = uni.getStorageSync('user')
  132 + this.lastModifyUserId = user.userInfo.userId
  133 +
  134 + },
  135 + methods: {
  136 + // 获取上传状态
  137 + select(e) {
  138 + console.log('选择文件:', e)
  139 + this.filePath = e.tempFilePaths
  140 + },
  141 + // 获取用户信息
  142 + getUser() {
  143 + if (uni.getStorageSync('user')) {
  144 + this.userCode = uni.getStorageSync('user').userInfo
  145 + // this.userInfo = this.userCode.userAccount
  146 + // this.userInfo = '123456'
  147 + console.log('用户已登录!', this.userCode)
  148 + } else {
  149 + uni.showToast({
  150 + title: '请登录',
  151 + icon: 'none'
  152 + })
  153 + setTimeout(() => {
  154 + uni.reLaunch({
  155 + url: '/pages/login/index'
  156 + })
  157 + })
  158 + }
  159 + },
  160 + // /**
  161 + // * 反馈类型
  162 + // * @param {Object}
  163 + // */
  164 + FeedbackTypeCh(val) {
  165 + console.log(val);
  166 + this.TypeIndex = val.detail.value;
  167 + },
  168 + // 获取信息
  169 + getConDetail(id) {
  170 + let that = this
  171 + let currentId = id
  172 + console.log(currentId)
  173 + request({
  174 + url:'/api/Extend/baseappealinformation/' + id,
  175 + method:'get',
  176 + data:{}
  177 + }).then(res=>{
  178 + if(res.code === 200){
  179 + console.log(res)
  180 + this.info = res.data
  181 + if(this.info.status !== null){
  182 + let index = this.TypeArray.findIndex(it=>it === this.info.status)
  183 + this.TypeIndex = index
  184 + console.log(index)
  185 + }
  186 + this.valiFormData.title = this.info.content
  187 + this.valiFormData.subTitle = this.info.plate
  188 + this.valiFormData.bodyContent = this.info.result
  189 + }
  190 + })
  191 + },
  192 + // 进行诉求处理
  193 + updateInfo(){
  194 + request({
  195 + url:'/api/Extend/baseappealinformation/' + this.isId,
  196 + method:'put',
  197 + data:{
  198 + content:this.info.content,
  199 + status:this.TypeArray[this.TypeIndex],
  200 + result:this.valiFormData.bodyContent,
  201 + plate:this.info.plate,
  202 + isShow:this.info.isShow,
  203 + type:this.info.type,
  204 + id:this.isId
  205 + }
  206 + }).then(res=>{
  207 + console.log("修改后",res)
  208 + if(res.code === 200){
  209 + uni.showToast({
  210 + icon:"success",
  211 + title:'已完成!',
  212 + duration:1500
  213 + })
  214 + uni.navigateBack({
  215 + delta:1
  216 + })
  217 + }
  218 + })
  219 + }
  220 + },
  221 + }
  222 +</script>
  223 +
  224 +<style scoped lang="scss">
  225 + @import 'Feedback.scss';
  226 +</style>
0 \ No newline at end of file 227 \ No newline at end of file
pages/apply/dynamicModel/index.vue
@@ -50,7 +50,7 @@ @@ -50,7 +50,7 @@
50 method: 'get', 50 method: 'get',
51 data: {}, 51 data: {},
52 }).then(res => { 52 }).then(res => {
53 - console.log(res) 53 + console.log("表单",res)
54 if (res.code !== 200 || !res.data) { 54 if (res.code !== 200 || !res.data) {
55 uni.showToast({ 55 uni.showToast({
56 title: '暂无此页面', 56 title: '暂无此页面',
pages/datain/datain.vue
@@ -84,18 +84,18 @@ @@ -84,18 +84,18 @@
84 </view> 84 </view>
85 </view> 85 </view>
86 <view class="user-list" style="padding-top: 0;padding-bottom: 0;" v-for="(item,index) in formList"> 86 <view class="user-list" style="padding-top: 0;padding-bottom: 0;" v-for="(item,index) in formList">
87 - <view class="list" @click="toForm(it)" v-for="(it,index) in item.children">  
88 - <view class="title"> 87 + <view class="list" v-for="(it,index) in item.children">
  88 + <view class="title" @click="toForm(it)">
89 <text>{{it.fullName}}</text> 89 <text>{{it.fullName}}</text>
90 </view> 90 </view>
91 <view class="more-content"> 91 <view class="more-content">
92 - <view class="buttons">  
93 - <button size="mini">已选择<span>0</span>家企业</button> 92 + <view class="buttons" v-show="!isAdmin" style="margin-right: 20rpx;" @click="toTellInfo">
  93 + <button size="mini">通知填写和企业选择</button>
94 </view> 94 </view>
95 - <view class="buttons"> 95 + <view class="buttons" v-show="!isAdmin" style="margin-right: 20rpx;" @click="tellNotice(it.id)">
96 <button size="mini" type="warn">通知</button> 96 <button size="mini" type="warn">通知</button>
97 </view> 97 </view>
98 - <view class="more-content-img"> 98 + <view class="more-content-img" @click="toForm(it)">
99 <image src="../../static/right2.png"></image> 99 <image src="../../static/right2.png"></image>
100 </view> 100 </view>
101 </view> 101 </view>
@@ -243,12 +243,28 @@ @@ -243,12 +243,28 @@
243 linearType: "custom" 243 linearType: "custom"
244 } 244 }
245 } 245 }
246 - } 246 + },
  247 + companysId:[],
  248 + tellInfo:[]
247 } 249 }
248 }, 250 },
  251 + onUnload() {
  252 + uni.$off('idInfo')
  253 + uni.$off('tellInfo')
  254 + },
249 onLoad() { 255 onLoad() {
250 this.getUser() 256 this.getUser()
251 this.getPostQing() 257 this.getPostQing()
  258 + uni.$on('idInfo', res => {
  259 + console.log("选择公司页面返回的公司ID", res)
  260 + if(res.length > 0)
  261 + this.companysId = res
  262 + })
  263 + uni.$on('tellInfo', res => {
  264 + console.log("tell信息", res)
  265 + if(res.length > 0)
  266 + this.tellInfo = res
  267 + })
252 }, 268 },
253 created() { 269 created() {
254 this.getFormList() 270 this.getFormList()
@@ -261,6 +277,37 @@ @@ -261,6 +277,37 @@
261 console.log(this.startDate,this.endDate) 277 console.log(this.startDate,this.endDate)
262 this.getPostQing() 278 this.getPostQing()
263 }, 279 },
  280 + // 跳转到选择通知企业页面
  281 + toTellInfo() {
  282 + uni.navigateTo({
  283 + url: '/pages/tellInfo/tellInfo'
  284 + })
  285 + },
  286 + // 进行通知
  287 + tellNotice(id){
  288 + // 进行通知
  289 + request({
  290 + url:'/api/extend/demo/SendMessageByApp',
  291 + method:'post',
  292 + data:{
  293 + title:this.tellInfo[0],
  294 + companys:this.companysId,
  295 + desc:this.tellInfo[1],
  296 + reid:id,
  297 + type:'表单填报通知',
  298 + link:'/pages/apply/dynamicModel/index',
  299 + fangshi:'通知'
  300 + }
  301 + }).then(res=>{
  302 + console.log('通知结果',res)
  303 + if(res.code == 200){
  304 + uni.showToast({
  305 + icon:"success",
  306 + title:"通知成功"
  307 + })
  308 + }
  309 + })
  310 + },
264 // 获取用户信息 311 // 获取用户信息
265 getUser() { 312 getUser() {
266 // // 获取日期 313 // // 获取日期
@@ -430,7 +477,8 @@ @@ -430,7 +477,8 @@
430 // url: `/pages/apply/dynamicModel/index?data=${JSON.stringify(it)}` 477 // url: `/pages/apply/dynamicModel/index?data=${JSON.stringify(it)}`
431 // }) 478 // })
432 uni.navigateTo({ 479 uni.navigateTo({
433 - url: '/pages/apply/dynamicModel/index?id=' + item.id + '&fullName=' + item.fullName, 480 + // url: '/pages/apply/dynamicModel/index?id=' + item.id + '&fullName=' + item.fullName,
  481 + url: '/pages/apply/dynamicModel/index?id=' + item.id,
434 fail: (err) => { 482 fail: (err) => {
435 this.$u.toast("暂无此页面") 483 this.$u.toast("暂无此页面")
436 } 484 }
pages/my/adminMessageList/adminMessageList.vue
@@ -92,19 +92,22 @@ @@ -92,19 +92,22 @@
92 // }) 92 // })
93 // } 93 // }
94 // }) 94 // })
95 - request({  
96 - url:`/api/extend/demo/UpdateIsReadEnd?MessageId=${id}`,  
97 - method:'put',  
98 - data:{}  
99 - }).then(res=>{  
100 - console.log("修改已读",res)  
101 - if(res.code == 200){  
102 - console.log('成功修改')  
103 - uni.navigateTo({  
104 - url:link.link + `?data=${JSON.stringify(link.reid)}`  
105 - })  
106 - } 95 + uni.navigateTo({
  96 + url:link.link + `?data=${JSON.stringify(link.reid)}`
107 }) 97 })
  98 + // request({
  99 + // url:`/api/extend/demo/UpdateIsReadEnd?MessageId=${id}`,
  100 + // method:'put',
  101 + // data:{}
  102 + // }).then(res=>{
  103 + // console.log("修改已读",res)
  104 + // if(res.code == 200){
  105 + // console.log('成功修改')
  106 + // uni.navigateTo({
  107 + // url:link.link + `?data=${JSON.stringify(link.reid)}`
  108 + // })
  109 + // }
  110 + // })
108 } 111 }
109 } 112 }
110 } 113 }
@@ -113,7 +116,8 @@ @@ -113,7 +116,8 @@
113 <style lang="scss" scoped> 116 <style lang="scss" scoped>
114 .page{ 117 .page{
115 width: 100%; 118 width: 100%;
116 - height: 100%; 119 + height: 100vh;
  120 + overflow: scroll;
117 background-color: #f3f3f3; 121 background-color: #f3f3f3;
118 } 122 }
119 .list-box{ 123 .list-box{
@@ -133,7 +137,7 @@ @@ -133,7 +137,7 @@
133 .info{ 137 .info{
134 display: flex; 138 display: flex;
135 flex-direction: column; 139 flex-direction: column;
136 - align-items: center; 140 + // align-items: center;
137 .title{ 141 .title{
138 font-size: 36rpx; 142 font-size: 36rpx;
139 font-weight: bold; 143 font-weight: bold;
@@ -143,6 +147,7 @@ @@ -143,6 +147,7 @@
143 overflow: hidden; 147 overflow: hidden;
144 white-space: nowrap; 148 white-space: nowrap;
145 text-overflow: ellipsis; 149 text-overflow: ellipsis;
  150 + margin-left: 20rpx;
146 } 151 }
147 } 152 }
148 .isRead{ 153 .isRead{
pages/my/messageList/messageList.vue
@@ -117,6 +117,18 @@ @@ -117,6 +117,18 @@
117 url:link.link + `?data=${JSON.stringify(link.reid)}` 117 url:link.link + `?data=${JSON.stringify(link.reid)}`
118 }) 118 })
119 } 119 }
  120 +
  121 + if(link.type === '公文办理通知'){
  122 + this.download(link.link)
  123 + }else if(link.type === '表单填报通知'){
  124 + uni.navigateTo({
  125 + url:link.link + `?id=${link.reid}`
  126 + })
  127 + }else{
  128 + uni.navigateTo({
  129 + url:link.link + `?data=${JSON.stringify(link.reid)}`
  130 + })
  131 + }
120 } 132 }
121 }) 133 })
122 }, 134 },
@@ -186,7 +198,7 @@ @@ -186,7 +198,7 @@
186 .info{ 198 .info{
187 display: flex; 199 display: flex;
188 flex-direction: column; 200 flex-direction: column;
189 - align-items: center; 201 + // align-items: center;
190 .title{ 202 .title{
191 font-size: 36rpx; 203 font-size: 36rpx;
192 font-weight: bold; 204 font-weight: bold;
@@ -196,6 +208,7 @@ @@ -196,6 +208,7 @@
196 overflow: hidden; 208 overflow: hidden;
197 white-space: nowrap; 209 white-space: nowrap;
198 text-overflow: ellipsis; 210 text-overflow: ellipsis;
  211 + margin-left: 20rpx;
199 } 212 }
200 } 213 }
201 .isRead{ 214 .isRead{
pages/my/userReponse/userReponse.vue
1 <template> 1 <template>
2 <view class="page"> 2 <view class="page">
3 - <view class="page" v-if="userCode === 'admin'"> 3 + <view class="page">
4 <view class="item-box" v-for="(it,index) in appealList" :key="index" @click="toReponse(it.id)"> 4 <view class="item-box" v-for="(it,index) in appealList" :key="index" @click="toReponse(it.id)">
5 <view class="lef"> 5 <view class="lef">
6 {{it.content}} 6 {{it.content}}
@@ -129,9 +129,16 @@ @@ -129,9 +129,16 @@
129 }, 129 },
130 // 跳转到查看和修改页面 130 // 跳转到查看和修改页面
131 toReponse(id){ 131 toReponse(id){
132 - uni.navigateTo({  
133 - url:'/pages/Feedback/reponseAppeal/reponseAppeal?data=' + JSON.stringify(id)  
134 - }) 132 + console.log("ssss")
  133 + if(!this.isAdmin){
  134 + uni.navigateTo({
  135 + url:'/pages/Feedback/userAppeal/userAppeal?data=' + JSON.stringify(id)
  136 + })
  137 + }else{
  138 + uni.navigateTo({
  139 + url:'/pages/Feedback/reponseAppeal/reponseAppeal?data=' + JSON.stringify(id)
  140 + })
  141 + }
135 }, 142 },
136 } 143 }
137 } 144 }