123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362 |
- <template>
- <div class="newRelease">
- <ul class="predetermineUl">
- <li class="predetermineLi2">
- <div class="liName">标题</div>
- <van-field
- :value="postData.title"
- autosize
- type="textarea"
- placeholder="请输入"
- class="myField"
- maxlength="50"
- show-word-limit
- @input="onInput"
- />
- </li>
- <li class="predetermineLi2" style="border-bottom: none">
- <div class="titleBox" style="margin-bottom: 24rpx">
- <span class="liName">上传图片</span>
- <span class="tips">(支持图片上传限20M内,最多6张)</span>
- </div>
- <van-uploader
- :max-count="12"
- @delete="deleteRYXXZP"
- :file-list="fileList"
- @after-read="uploadRYXXZP"
- :show-upload="true"
- />
- </li>
- <li class="predetermineLi2" style="border-bottom: none">
- <div class="titleBox" style="margin-bottom: 24rpx">
- <span class="liName">内容</span>
- </div>
- <van-field
- :value="postData.content"
- autosize
- type="textarea"
- placeholder="请输入"
- class="myField"
- maxlength="1000"
- show-word-limit
- @input="onInput2"
- />
- </li>
- </ul>
- <div class="buttonBox" >
- <button class="btn zcBtn" @tap="commitCliack">暂存</button>
- <button class="btn tjBtn" @tap="addClick">发布</button>
- </div>
- </div>
- </template>
- <script>
- import { noticeParkAdd,getUserLocalStorageInfo,noticeParkGetById,noticeParkEdit, propertyNoticeAdd,propertyNoticeEdit,getPropertyNoticeById} from "@/js_sdk/http";
- import dayjs from "dayjs";
- export default {
- name: "newRelease",
- data(){
- return{
- postData:{
- content:'',
- title:'',
- createdBy: getUserLocalStorageInfo().userId,
- source:'2',
- status:''
- },
- fileList:[],
- addType: '',
- type:''
- }
- },
- onLoad(type){
- console.log(type)
- this.type = type.noticeType
- this.addType = type.addType
- if (type.id){
- if (type.noticeType === '1'){
- noticeParkGetById({id:type.id}).then(res=>{
- console.log(res)
- this.postData = res.data
- this.postData = res.data
- const picArr = res.data.picture.split(',')
- picArr.forEach(id=>{
- this.fileList.push({
- imgUrl: "/FileController/download/" + id,
- id: id,
- url:
- this.$constant.BASE_URI +
- "/FileController/download/" +
- id,
- isImage: true,
- });
- })
- })
- }else{
- getPropertyNoticeById({id:type.id}).then(res=>{
- console.log(res)
- this.postData = res.data
- const picArr = res.data.picture.split(',')
- picArr.forEach(id=>{
- this.fileList.push({
- imgUrl: "/FileController/download/" + id,
- id: id,
- url:
- this.$constant.BASE_URI +
- "/FileController/download/" +
- id,
- isImage: true,
- });
- })
- })
- }
- }
- },
- methods:{
- onInput(event){
- console.log(event)
- this.postData.title = event.detail;
- },
- onInput2(event){
- this.postData.content = event.detail;
- },
- addClick() {
- const dayjs = require('dayjs')
- this.postData.releaseTime = dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')
- this.postData.status = 'published'
- const picArr = []
- this.fileList.forEach(e=>{
- picArr.push(e.id)
- })
- this.postData.picture = picArr.toString()
- if (this.addType === '发布'){
- if (this.type === '1'){
- //新增园区通知
- // console.log(this.postData)
- noticeParkAdd(this.postData).then(res=>{
- if (res.code == '200'){
- uni.reLaunch({
- url:'/pages/subPackages/propertyNotice_manage/index?type=' + this.type
- })
- uni.showToast({
- title: '操作成功',
- duration: 500
- });
- }
- })
- }else{
- //新增物业通知
- propertyNoticeAdd(this.postData).then(res=>{
- if (res.code == '200'){
- uni.reLaunch({
- url:'/pages/subPackages/propertyNotice_manage/index?type=' + this.type
- })
- uni.showToast({
- title: '操作成功',
- duration: 500
- });
- }
- })
- }
- }else if(this.addType === '编辑'){
- if (this.type === '1'){
- noticeParkEdit(this.postData).then(res=>{
- if (res.code == '200'){
- uni.reLaunch({
- url:'/pages/subPackages/propertyNotice_manage/index?type=' + this.type
- })
- uni.showToast({
- title: '操作成功',
- duration: 500
- });
- }
- })
- }else{
- propertyNoticeEdit(this.postData).then(res=>{
- if (res.code == '200'){
- uni.reLaunch({
- url:'/pages/subPackages/propertyNotice_manage/index?type=' + this.type
- })
- uni.showToast({
- title: '操作成功',
- duration: 500
- });
- }
- })
- }
- }
- },
- commitCliack() {
- const dayjs = require('dayjs')
- this.postData.releaseTime = dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')
- this.postData.status = 'unpublished'
- const picArr = []
- this.fileList.forEach(e=>{
- picArr.push(e.id)
- })
- this.postData.picture = picArr.toString()
- if (this.addType === '发布'){
- if (this.type === '1'){
- //新增园区通知
- // console.log(this.postData)
- noticeParkAdd(this.postData).then(res=>{
- if (res.code == '200'){
- uni.reLaunch({
- url:'/pages/subPackages/propertyNotice_manage/index?type=' + this.type
- })
- uni.showToast({
- title: '操作成功',
- duration: 500
- });
- }
- })
- }else{
- // 新增物业通知
- propertyNoticeAdd(this.postData).then(res=>{
- if (res.code == '200'){
- uni.reLaunch({
- url:'/pages/subPackages/propertyNotice_manage/index?type=' + this.type
- })
- uni.showToast({
- title: '操作成功',
- duration: 500
- });
- }
- })
- }
- }else if(this.addType === '编辑'){
- if (this.type === '1'){
- noticeParkEdit(this.postData).then(res=>{
- if (res.code == '200'){
- uni.reLaunch({
- url:'/pages/subPackages/propertyNotice_manage/index?type=' + this.type
- })
- uni.showToast({
- title: '操作成功',
- duration: 500
- });
- }
- })
- }else{
- propertyNoticeEdit(this.postData).then(res=>{
- if (res.code == '200'){
- uni.reLaunch({
- url:'/pages/subPackages/propertyNotice_manage/index?type=' + this.type
- })
- uni.showToast({
- title: '操作成功',
- duration: 500
- });
- }
- })
- }
- }
- },
- deleteRYXXZP(event) {
- this.fileList.splice(event.detail.index, 1);
- this.$forceUpdate();
- },
- uploadRYXXZP(event) {
- console.log(event)
- let that = this;
- const { file } = event.detail;
- uni.uploadFile({
- url: that.$constant.BASE_URI + "/wx/fileController/upload",
- filePath: file.url,
- name: "file",
- formData: { user: "test" },
- success(res) {
- // 上传完成需要更新 fileList
- let data = JSON.parse(res.data);
- console.log('data',data)
- that.fileList.push({
- imgUrl: "/FileController/download/" + data.data[0],
- id: data.data[0],
- url:
- that.$constant.BASE_URI +
- "/FileController/download/" +
- data.data[0],
- isImage: true,
- });
- },
- fail(res) {},
- });
- },
- }
- }
- </script>
- <style lang="scss">
- .newRelease{
- .predetermineUl{
- margin: 24rpx 0;
- background: white;
- box-sizing: border-box;
- padding: 0 32rpx;
- .predetermineLi{
- padding: 32rpx 0;
- border-bottom: 1px solid rgba(230, 230, 230, 1);
- display: flex;
- justify-content: space-between;
- }
- .predetermineLi2{
- padding: 32rpx 0;
- border-bottom: 1px solid rgba(230, 230, 230, 1);
- display: flex;
- flex-direction: column;
- }
- .van-cell {
- background: #F5F7FA !important;
- border-radius: 8rpx;
- font-size: 28rpx;
- margin-top: 16rpx;
- }
- .liName{
- color: rgba(51, 51, 51, 1);
- font-size: 32rpx;
- }
- .liIpt{
- color: rgba(102, 102, 102, 1);
- font-size: 32rpx;
- text-align: right;
- }
- }
- .titleBox{
- display: flex;
- align-items: center;
- .titleName{
- color: rgba(24, 23, 42, 1);
- font-size: 32rpx;
- font-weight: 600;
- margin-right: 16rpx;
- }
- .tips{
- font-size: 28rpx;
- color: rgba(179, 179, 179, 1);
- }
- }
- .buttonBox{
- display: flex;
- justify-content: center;
- .btn{
- width: 240rpx;
- height: 80rpx;
- display: flex;
- border-radius: 8rpx;
- align-items: center;
- justify-content: center;
- margin: 48rpx 16rpx 150rpx 16rpx;
- color: white;
- letter-spacing: 2rpx;
- text-indent: 2rpx;
- }
- .zcBtn{
- background: #FE8643;
- }
- .tjBtn{
- background: #0365F9;
- }
- }
- }
- </style>
|