| @@ -0,0 +1,160 @@ | |||
| <!-- 通用上传组件 zhao --> | |||
| <template> | |||
| <van-uploader | |||
| v-model="fileList" | |||
| :multiple="multiple" | |||
| :after-read="afterRead" | |||
| :show-upload="showUpload" | |||
| :deletable="deletable" | |||
| @delete="deleteFile" | |||
| :accept="accept || null" | |||
| /> | |||
| </template> | |||
| <script> | |||
| import {commonUpload} from "@/api/sunVillage_info/fixedAssets"; | |||
| export default { | |||
| name: "commonUpload", | |||
| props: { | |||
| name: String, | |||
| value: { // 绑定值 字符串 ,分隔 可监听 | |||
| type: String, | |||
| default: null, | |||
| }, | |||
| accept: { // 上传类型限制: 默认图片, * = 任意类型 | |||
| type: String, | |||
| }, | |||
| multiple: { // 多文件上传 | |||
| type: Boolean, | |||
| default: false, | |||
| }, | |||
| deletable: { // 允许删除 | |||
| type: Boolean, | |||
| default: true, | |||
| }, | |||
| showUpload: { // 显示上传按钮 | |||
| type: Boolean, | |||
| default: true, | |||
| }, | |||
| formData: { // 额外请求参数 | |||
| type: Object, | |||
| default: function() { | |||
| return {}; | |||
| }, | |||
| }, | |||
| file: { // 上传文件字段名 | |||
| type: String, | |||
| default: 'file', | |||
| }, | |||
| host: { | |||
| type: String, // 文件地址前缀 | |||
| default: '/api', | |||
| }, | |||
| }, | |||
| watch: { | |||
| value: function (newVal, oldVal) { | |||
| if(newVal != this.internalValue) | |||
| this.setInternalValue(newVal); | |||
| }, | |||
| }, | |||
| created() { | |||
| this.parseValue(this.value); | |||
| }, | |||
| data() { | |||
| return { | |||
| internalValue: this.value, | |||
| fileList: [], | |||
| pathList: [], | |||
| }; | |||
| }, | |||
| methods: { | |||
| setInternalValue(newVal) { | |||
| this.parseValue(newVal); | |||
| this.internalValue = newVal; | |||
| }, | |||
| parseValue(data) { | |||
| if(data) | |||
| { | |||
| this.pathList = data.split(','); | |||
| } | |||
| else | |||
| { | |||
| this.pathList = []; | |||
| } | |||
| this.fileList = this.pathList.map((x) => { | |||
| return { | |||
| url: this.host + x, | |||
| }; | |||
| }); | |||
| }, | |||
| makeFormData() { | |||
| let fd = new FormData(); | |||
| if(this.formData) | |||
| { | |||
| for(let k of Object.keys(this.formData)) | |||
| { | |||
| fd.set(k, this.formData[k]); | |||
| } | |||
| } | |||
| return fd; | |||
| }, | |||
| upload(file) { | |||
| let params1 = this.makeFormData(); | |||
| params1.append(this.file, file.file); | |||
| return commonUpload(params1).then((resp) => { | |||
| this.pathList.push(resp.fileName); | |||
| this.updateInternalValue(); | |||
| this.$emit('upload', resp.fileName); | |||
| }); | |||
| }, | |||
| afterRead(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array) {//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| if(file.length > 0) | |||
| { | |||
| let index = 0; | |||
| const f = () => { | |||
| if(index >= file.length) | |||
| return; | |||
| let up = file[index]; | |||
| //console.log(up); | |||
| console.log(`上传文件: ${index} -> ${up.file.name}`); | |||
| this.upload(up).then(() => { | |||
| index++; | |||
| if(index < file.length) | |||
| f(); | |||
| }); | |||
| }; | |||
| f(); | |||
| } | |||
| } else { | |||
| this.upload(file); | |||
| } | |||
| }, | |||
| deleteFile(detail){ | |||
| this.pathList.splice(detail.index,1); | |||
| this.updateInternalValue(); | |||
| this.$emit('remove', detail.index); | |||
| }, | |||
| updateInternalValue() { | |||
| let files = this.pathList.join(','); | |||
| console.log(files); | |||
| this.internalValue = files; | |||
| if(this.internalValue != this.value) | |||
| this.$emit('input', this.internalValue); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| </style> | |||
| @@ -41,6 +41,8 @@ | |||
| :type="type || 'date'" | |||
| :readonly="readonly" | |||
| :title="label || ''" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirm" | |||
| @cancel="onCancel" | |||
| @change="onChanged" | |||
| @@ -62,6 +64,7 @@ export default { | |||
| 'formatter', // value的格式化 String|Function|undefined 字符串为格式字符串, 函数则必须有返回 undefined则不转换 | |||
| 'clearable', // 点击取消时清空绑定值 | |||
| 'yearRangeLength', // type === 'year' 时生成的年份数量范围 [YEAR - yearRangeLength, YEAR + yearRangeLength] | |||
| 'minDate', 'maxDate' | |||
| ], | |||
| watch: { | |||
| value: function (newVal, oldVal) { | |||
| @@ -3597,6 +3597,24 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_tourists_registration_add'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 零工登记详情 | |||
| path: '/sunVillage_info/list_tourists_registration_detail', | |||
| name: 'sunVillageInfoListTouristsRegistrationDetail', | |||
| meta: { | |||
| title: '查看零工登记', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_tourists_registration_detail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 零工登记修改 | |||
| path: '/sunVillage_info/list_tourists_registration_edit', | |||
| name: 'sunVillageInfoListTouristsRegistrationEdit', | |||
| meta: { | |||
| title: '修改零工登记', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_tourists_registration_edit'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 合同信息 | |||
| path: '/sunVillage_info/list_register', | |||
| name: 'sunVillageInfoListRegister', | |||
| @@ -53,6 +53,14 @@ | |||
| <i class="icon "></i> | |||
| </div> | |||
| </div> | |||
| <div class="operation" v-if="!showBtn"> | |||
| <div class="opera_btn list" @click="goRanking(item.id,item.openNy)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| <div class="opera_btn view" @click="goDetail(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </van-list> | |||
| </div> | |||
| @@ -93,7 +101,7 @@ | |||
| projectIndex:'', | |||
| showBtn:true, | |||
| nowYear:new Date().getFullYear(), | |||
| yearList:[] | |||
| yearList:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| @@ -46,27 +46,12 @@ | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">事前公开</p> | |||
| <p style="margin-left: 5px;">公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="fileList" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" /> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">事中公开</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="fileList2" multiple :after-read="afterRead2" @delete="deleteFile2" style="margin-top: 10PX" /> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">事后公开</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="fileList3" multiple :after-read="afterRead3" @delete="deleteFile3" style="margin-top: 10PX" /> | |||
| <div style="border-top: 1px solid #ededed;margin-top: 10PX;"> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| @@ -117,15 +102,11 @@ | |||
| form:{ | |||
| openNy:this.format(new Date(),'yyyy-MM'), | |||
| openPic:'', | |||
| openPic2:'', | |||
| openPic3:'', | |||
| openFile:'', | |||
| openName:this.format(new Date(),'yyyy')+ '年' + (this.format(new Date(),'MM')-1) + '月零工公开' | |||
| }, | |||
| openPic:[], | |||
| fileList:[], | |||
| fileList1:[], | |||
| fileList2:[], | |||
| fileList3:[], | |||
| openNy:new Date(), | |||
| type:'', | |||
| openFile:[], | |||
| @@ -136,8 +117,6 @@ | |||
| }, | |||
| openFile2:[], | |||
| openPic2:[], | |||
| openPic3:[], | |||
| openPic4:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| @@ -159,8 +138,6 @@ | |||
| var that = this; | |||
| that.form.openFile = that.openFile2.join(',') | |||
| that.form.openPic = that.openPic2.join(',') | |||
| that.form.openPic2 = that.openPic3.join(',') | |||
| that.form.openPic3 = that.openPic4.join(',') | |||
| tempWorkerOpenAdd(that.form).then((r1) => { | |||
| if (r1.code == 200){ | |||
| that.$notify({ type: 'success', message: '新增成功' }); | |||
| @@ -179,14 +156,6 @@ | |||
| this.openPic2.splice(detail.index,1) | |||
| // this.form.openPic.splice(index,1); | |||
| }, | |||
| deleteFile2(detail){ | |||
| this.openPic3.splice(detail.index,1) | |||
| // this.form.openPic.splice(index,1); | |||
| }, | |||
| deleteFile3(detail){ | |||
| this.openPic4.splice(detail.index,1) | |||
| // this.form.openPic.splice(index,1); | |||
| }, | |||
| deleteWord(index){ | |||
| this.openFileList.splice(index,1); | |||
| this.openFile2.splice(index,1); | |||
| @@ -214,52 +183,6 @@ | |||
| }) | |||
| } | |||
| }, | |||
| afterRead2(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic3.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic3.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterRead3(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic4.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic4.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterReadOpenFile(file){ | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| @@ -36,29 +36,12 @@ | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">事前公开</p> | |||
| <p style="margin-left: 5px;">公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPic" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" /> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">事中公开</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPic2" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" /> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">事后公开</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPic3" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" /> | |||
| <div style="border-top: 1px solid #ededed;margin-top: 10PX;"> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| @@ -71,7 +54,8 @@ | |||
| <div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | |||
| <img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | |||
| <img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | |||
| <a :href="item.url" style="margin-left: 10px;color: #333333">{{item.name}}</a> | |||
| <a v-if="item.type == 'word' || item.type == 'excel'" :href="item.url" style="margin-left: 10px;color: #333333">{{item.name}}</a> | |||
| <p v-else @click="goToPage(item.url)" style="margin-left: 10px;color: #333333">{{item.name}}</p> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| @@ -83,7 +67,11 @@ | |||
| </van-field> | |||
| </div> | |||
| <van-dialog v-model:show="fjImgShow" title="附件" :show-confirm-button="false" show-cancel-button cancelButtonText="关闭" > | |||
| <div style="width: 100%;height: 400px;overflow:scroll;"> | |||
| <img :src="fjImg" width="95%"/> | |||
| </div> | |||
| </van-dialog> | |||
| </div> | |||
| </template> | |||
| @@ -99,13 +87,11 @@ | |||
| form:{ | |||
| openNy:this.format(new Date(),'yyyy-MM'), | |||
| openPic:'', | |||
| openPic2:'', | |||
| openPic3:'', | |||
| openFile:'', | |||
| }, | |||
| fjImg:'', | |||
| fjImgShow:false, | |||
| openPic:[], | |||
| openPic2:[], | |||
| openPic3:[], | |||
| fileList:[], | |||
| fileList1:[], | |||
| openNy:new Date(), | |||
| @@ -158,22 +144,29 @@ | |||
| this.openPic.push({url:'/api'+rrr}) | |||
| }) | |||
| } | |||
| if (res.data.openPic2 !='' && res.data.openPic2 != null && res.data.openPic2 != undefined){ | |||
| res.data.openPic2 = res.data.openPic2.split(',') | |||
| res.data.openPic2.map((rrr,i)=>{ | |||
| this.openPic2.push({url:'/api'+rrr}) | |||
| }) | |||
| } | |||
| if (res.data.openPic3 !='' && res.data.openPic3 != null && res.data.openPic3 != undefined){ | |||
| res.data.openPic3 = res.data.openPic3.split(',') | |||
| res.data.openPic3.map((rrr,i)=>{ | |||
| this.openPic3.push({url:'/api'+rrr}) | |||
| }) | |||
| } | |||
| this.form = res.data; | |||
| }) | |||
| }, | |||
| goToPage(url) { | |||
| const baseImgUrl = this.$store.getters.baseRoutingUrl; | |||
| let subIndex = url.lastIndexOf("."); | |||
| let ext = url.substring(subIndex + 1, url.length); | |||
| //console.log(ext) | |||
| if (ext == "jpg" || ext == "png") { | |||
| url = url.substring(4,url.length); | |||
| this.fjImg = baseImgUrl + url; | |||
| this.fjImgShow = true; | |||
| }else{ | |||
| let allUrl = url; | |||
| const link = document.createElement("a"); | |||
| link.style.display = "none"; | |||
| link.target = "_blank" | |||
| link.href = allUrl; | |||
| document.body.appendChild(link); | |||
| link.click(); | |||
| document.body.removeChild(link); | |||
| } | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| @@ -46,29 +46,12 @@ | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">事前公开</p> | |||
| <p style="margin-left: 5px;">公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" /> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">事中公开</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPicsz" multiple :after-read="afterRead2" @delete="deleteFile2" style="margin-top: 10PX" /> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">事后公开</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPicsh" multiple :after-read="afterRead3" @delete="deleteFile3" style="margin-top: 10PX" /> | |||
| <div style="border-top: 1px solid #ededed;margin-top: 10PX;"> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| @@ -119,13 +102,9 @@ | |||
| form:{ | |||
| openNy:this.format(new Date(),'yyyy-MM'), | |||
| openPic:'', | |||
| openPic2:'', | |||
| openPic3:'', | |||
| openFile:'', | |||
| }, | |||
| openPic:[], | |||
| openPicsz:[], | |||
| openPicsh:[], | |||
| fileList:[], | |||
| fileList1:[], | |||
| openNy:new Date(), | |||
| @@ -138,8 +117,6 @@ | |||
| deptId:'' | |||
| }, | |||
| openPic2:[], | |||
| openPic3:[], | |||
| openPic4:[], | |||
| openFile2:[] | |||
| }; | |||
| }, | |||
| @@ -184,20 +161,6 @@ | |||
| this.openPic[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| if (res.data.openPic2!='' && res.data.openPic2 != null && res.data.openPic2 != undefined){ | |||
| this.openPicsz = res.data.openPic2.split(',') | |||
| this.openPic3 = res.data.openPic2.split(',') | |||
| this.openPicsz.map((rrr,i)=>{ | |||
| this.openPicsz[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| if (res.data.openPic3!='' && res.data.openPic3 != null && res.data.openPic3 != undefined){ | |||
| this.openPicsh = res.data.openPic3.split(',') | |||
| this.openPic4 = res.data.openPic3.split(',') | |||
| this.openPicsh.map((rrr,i)=>{ | |||
| this.openPicsh[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| that.form = res.data; | |||
| }) | |||
| }, | |||
| @@ -205,8 +168,6 @@ | |||
| var that = this; | |||
| that.form.openFile = that.openFile2.join(',') | |||
| that.form.openPic = that.openPic2.join(',') | |||
| that.form.openPic2 = that.openPic3.join(',') | |||
| that.form.openPic3 = that.openPic4.join(',') | |||
| tempWorkerOpenEdit(that.form).then((r1) => { | |||
| if (r1.code == 200){ | |||
| that.$notify({ type: 'success', message: '修改成功' }); | |||
| @@ -222,16 +183,9 @@ | |||
| this.showBuildTime = false; | |||
| }, | |||
| deleteFile1(file,detail){ | |||
| console.log(detail) | |||
| //console.log(detail) | |||
| this.openPic2.splice(detail.index,1) | |||
| }, | |||
| deleteFile2(file,detail){ | |||
| console.log(detail) | |||
| this.openPic3.splice(detail.index,1) | |||
| }, | |||
| deleteFile3(file,detail){ | |||
| this.openPic4.splice(detail.index,1) | |||
| }, | |||
| deleteWord(index){ | |||
| this.openFile.splice(index,1); | |||
| this.openFile2.splice(index,1); | |||
| @@ -259,52 +213,6 @@ | |||
| }) | |||
| } | |||
| }, | |||
| afterRead2(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic3.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic3.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterRead3(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic4.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic4.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterReadOpenFile(file){ | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| @@ -25,7 +25,7 @@ | |||
| <van-row> | |||
| <van-col :span="24">姓名</van-col> | |||
| </van-row> | |||
| <van-row v-for="(item,index) in applicationList" :key="index"> | |||
| <van-row v-for="(item,index) in applicationList" :key="index" @click.prevent ="viewItem(item.id)"> | |||
| <van-col :span="24">{{item.workerName}}</van-col> | |||
| </van-row> | |||
| <div class="name_bg"></div> | |||
| @@ -41,7 +41,7 @@ | |||
| <van-col :span="5">工日值</van-col> | |||
| <van-col :span="4">金额(元)</van-col> | |||
| </van-row> | |||
| <van-row v-for="(item,index) in applicationList" :key="index"> | |||
| <van-row v-for="(item,index) in applicationList" :key="index" @click="viewItem(item.id)"> | |||
| <van-col :span="5">{{item.workReason}}</van-col> | |||
| <van-col :span="5">{{item.workerNote}}</van-col> | |||
| <van-col :span="5">{{item.workNum}}</van-col> | |||
| @@ -80,7 +80,7 @@ | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'openNy', | |||
| orderByColumn:'jobNy', | |||
| isAsc:'desc', | |||
| year:'', | |||
| }, | |||
| @@ -104,7 +104,7 @@ | |||
| getList(){ | |||
| var _this = this; | |||
| setTimeout(() => { | |||
| console.log(_this.queryParams) | |||
| //console.log(_this.queryParams) | |||
| listOddjob(_this.queryParams).then(response => { | |||
| _this.listLength = response.total; | |||
| _this.applicationList = response.rows; | |||
| @@ -119,6 +119,15 @@ | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| viewItem(id){ | |||
| this.$router.push({ | |||
| path: "/sunVillage_info/list_tourists_registration_detail", | |||
| query: { | |||
| id: id, | |||
| intent: 'view', | |||
| }, | |||
| }).catch(() => {}); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| @@ -378,6 +387,7 @@ | |||
| height: 100%; | |||
| position: absolute; | |||
| top: 0; | |||
| pointer-events: none; | |||
| } | |||
| .name_icon{ | |||
| position: absolute; | |||
| @@ -29,8 +29,8 @@ | |||
| <van-row> | |||
| <van-col :span="24">姓名</van-col> | |||
| </van-row> | |||
| <van-row v-for="(item,index) in 10" :key="index"> | |||
| <van-col :span="24">张三</van-col> | |||
| <van-row v-for="(item,index) in oddjobList" :key="index"> | |||
| <van-col :span="24" @click="onItemClicked(item, index)">{{item.workerName}}</van-col> | |||
| </van-row> | |||
| <div class="name_bg"></div> | |||
| <img src="../../assets/images/sunVillage_info/name_icon.png" class="name_icon"/> | |||
| @@ -43,10 +43,10 @@ | |||
| <van-col :span="8">出工事由</van-col> | |||
| <van-col :span="8">出工数</van-col> | |||
| </van-row> | |||
| <van-row v-for="(item,index) in 10" :key="index"> | |||
| <van-col :span="8">2023-03-05</van-col> | |||
| <van-col :span="8">上班打卡</van-col> | |||
| <van-col :span="8">8</van-col> | |||
| <van-row v-for="(item,index) in oddjobList" :key="index" @click="onItemClicked(item, index)"> | |||
| <van-col :span="8">{{item.jobTime}}</van-col> | |||
| <van-col :span="8">{{item.workReason}}</van-col> | |||
| <van-col :span="8">{{item.workNum}}</van-col> | |||
| </van-row> | |||
| </div> | |||
| </div> | |||
| @@ -54,12 +54,43 @@ | |||
| <div class="clear"></div> | |||
| </div> | |||
| <van-popup | |||
| v-model="menuOpen" | |||
| :closeable="false" | |||
| close-icon="close" | |||
| position="bottom" | |||
| @close="onMenuClose" | |||
| > | |||
| <van-grid :column-num="3"> | |||
| <van-grid-item text="查看" @click="viewItem(menuId)"> | |||
| <template #icon> | |||
| <div class="menu_btn view"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| </template> | |||
| </van-grid-item> | |||
| <van-grid-item text="修改" @click="editItem(menuId)"> | |||
| <template #icon> | |||
| <div class="menu_btn edit"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| </template> | |||
| </van-grid-item> | |||
| <van-grid-item text="删除" @click="removeItem(menuId)"> | |||
| <template #icon> | |||
| <div class="menu_btn delete"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| </template> | |||
| </van-grid-item> | |||
| </van-grid> | |||
| </van-popup> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { listOddjob } from "@/api/sunVillage_info/fixedAssets"; | |||
| import {delOddjob, listOddjob, tempWorkerOpenRemove} from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| @@ -77,6 +108,7 @@ | |||
| fileList:[], | |||
| listLength:'0', | |||
| searchInput:'', | |||
| pageNum:0, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| @@ -92,8 +124,11 @@ | |||
| showBtn:true, | |||
| yearMonth:[], | |||
| yearList:[], | |||
| oddjobList:[], | |||
| deptName:'', | |||
| nowYear:new Date().getFullYear(), | |||
| menuOpen: false, | |||
| menuId: null, | |||
| }; | |||
| }, | |||
| created() { | |||
| @@ -109,7 +144,14 @@ | |||
| methods: { | |||
| getList(){ | |||
| var _this = this; | |||
| let params = { | |||
| bookId:this.queryParams.bookId, | |||
| yearMonth:this.queryParams.yearMonth, | |||
| } | |||
| listOddjob(params).then(response => { | |||
| this.listLength = response.total; | |||
| this.oddjobList = response.rows; | |||
| }); | |||
| }, | |||
| tabClickMonth(month){ | |||
| this.month = month ; | |||
| @@ -140,7 +182,68 @@ | |||
| this.applicationList = []; | |||
| this.getList(); | |||
| }, | |||
| onItemClicked(item, index) { | |||
| console.log(`点击(${item.id})`); | |||
| this.menuId = item.id; | |||
| this.menuOpen = true; | |||
| }, | |||
| onMenuClose() { | |||
| this.menuId = null; | |||
| }, | |||
| viewItem(id){ | |||
| console.log(`查看(${id})`); | |||
| this.menuOpen = false; | |||
| if(!id) | |||
| return; | |||
| this.$router.push({ | |||
| path: "/sunVillage_info/list_tourists_registration_detail", | |||
| query: { | |||
| id: id, | |||
| intent: 'view', | |||
| }, | |||
| }).catch(() => {}); | |||
| }, | |||
| editItem(id){ | |||
| console.log(`编辑(${id})`); | |||
| this.menuOpen = false; | |||
| if(!id) | |||
| return; | |||
| this.$router.push({ | |||
| path: "/sunVillage_info/list_tourists_registration_edit", | |||
| query: { | |||
| id: id, | |||
| intent: 'edit', | |||
| }, | |||
| }).catch(() => {}); | |||
| }, | |||
| removeItem(id){ | |||
| console.log(`移除(${id})`); | |||
| this.menuOpen = false; | |||
| if(!id) | |||
| return; | |||
| this.$dialog.alert({ | |||
| title: '提示', | |||
| message: '确认删除?', | |||
| showCancelButton:true, | |||
| }).then(() => { | |||
| delOddjob(id).then(response => { | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| /*this.$toast({ | |||
| icon: 'success', | |||
| message: '删除成功', | |||
| duration:"1000", | |||
| });*/ | |||
| this.listLength = 0; | |||
| this.oddjobList = []; | |||
| this.getList() | |||
| }); | |||
| }).catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| @@ -431,6 +534,7 @@ | |||
| height: 100%; | |||
| position: absolute; | |||
| top: 0; | |||
| pointer-events: none; | |||
| } | |||
| .name_icon{ | |||
| position: absolute; | |||
| @@ -492,4 +596,43 @@ | |||
| .clear{ | |||
| clear: both; | |||
| } | |||
| .menu_btn{ | |||
| width: 52px; | |||
| height: 52px; | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:center; | |||
| &.delete{ | |||
| background:#df0707; | |||
| .icon{ | |||
| width: 22px; | |||
| height: 29px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_7.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.edit{ | |||
| background: #79cf13; | |||
| .icon { | |||
| width: 26px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_6.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.view{ | |||
| background: #3494ff; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -2,52 +2,66 @@ | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 零工登记 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="return_btn" @click="back"></div> | |||
| </div> | |||
| <van-form > | |||
| <van-form ref="formData"> | |||
| <div class="list_main"> | |||
| <div class="titBox"> | |||
| <img src="../../assets/images/sunVillage_info/add_icon_3.png" style="width:22PX;height:22PX;margin-right: 10px;"/> | |||
| <p class="tit">添加零工</p> | |||
| </div> | |||
| <field-date-picker | |||
| v-model="form.jobTime" | |||
| label="出工日期" | |||
| placeholder="请选择" | |||
| :rules="[{ required: true, message:'请选择出工日期' }]" | |||
| formatter="yyyy-MM-dd" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| :required="true" | |||
| /> | |||
| <van-field required :rules="[{ required: true, message: '请填写出工姓名' }]" v-model="form.workerName" label="出工姓名" placeholder="出工姓名" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写出工事由' }]" v-model="form.workReason" label="出工事由" placeholder="出工事由" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写记工员' }]" v-model="form.workerNote" label="记工员" placeholder="记工员" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写出工数' }]" v-model="form.workNum" label="出工数" placeholder="出工数" input-align="right" :border="false" type="number" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写工日值' }]" v-model="form.perMoney" label="工日值" placeholder="工日值" input-align="right" :border="false" type="number" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写金额(元)' }]" v-model="form.totalMoney" label="金额(元)" placeholder="金额(元)" input-align="right" :border="false" type="number" /> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="出工日期" | |||
| placeholder="请选择" | |||
| v-model="value" | |||
| @click="showBuildTime = true" | |||
| name="openPic" | |||
| label="事前公开" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择出工日期' }]" | |||
| /> | |||
| <van-popup v-model="showBuildTime" position="bottom"> | |||
| <van-datetime-picker | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| v-model="buildTime" | |||
| @confirm="onConfirmBuildTime" | |||
| @cancel="showBuildTime = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true, message: '请填写出工姓名' }]" v-model="value" label="出工姓名" placeholder="出工姓名" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写出工事由' }]" v-model="value" label="出工事由" placeholder="出工事由" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写记工员' }]" v-model="value" label="记工员" placeholder="记工员" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写出工数' }]" v-model="value" label="出工数" placeholder="出工数" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写工日值' }]" v-model="value" label="工日值" placeholder="工日值" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写金额(元)' }]" v-model="value" label="金额(元)" placeholder="金额(元)" input-align="right" :border="false" /> | |||
| <van-field v-model="value" label="备注" placeholder="备注" input-align="right" :border="false" /> | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic" v-model="form.openPic" multiple/> | |||
| <van-field | |||
| name="openPic2" | |||
| label="事中公开" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic2" v-model="form.openPic2" multiple/> | |||
| <van-field | |||
| name="openPic3" | |||
| label="事后公开" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic3" v-model="form.openPic3" multiple/> | |||
| <van-field v-model="form.remark" label="备注" placeholder="备注" input-align="right" :border="false" /> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| <van-button round block type="primary" @click="submitForm"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| @@ -55,16 +69,39 @@ | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { addPermanent } from "@/api/sunVillage_info/fixedAssets"; | |||
| import { addOddjob,updateOddjob } from "@/api/sunVillage_info/fixedAssets"; | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import FieldDatePicker from "@/components/form/FieldDatePicker.vue"; | |||
| export default { | |||
| name: "certificateList", | |||
| name: "listTouristsRegistrationAdd", | |||
| components: {FieldDatePicker, CommonUpload}, | |||
| data() { | |||
| return { | |||
| minDate:new Date(1900,1,1), | |||
| showBuildTime:false, | |||
| buildTime:new Date(), | |||
| maxDate: new Date(2050, 12, 31), | |||
| form:{ | |||
| id: null, | |||
| bookId: null, | |||
| deptId: null, | |||
| deptName: null, | |||
| jobNy: null, | |||
| jobTime: null, | |||
| workerName: null, | |||
| workReason: null, | |||
| workerNote: null, | |||
| workNum: null, | |||
| perMoney: null, | |||
| totalMoney: null, | |||
| remark: null, | |||
| openPic: null, | |||
| openPic2: null, | |||
| openPic3: null, | |||
| createBy: null, | |||
| createTime: null, | |||
| updateBy: null, | |||
| updateTime: null | |||
| }, | |||
| value:'' | |||
| }; | |||
| @@ -73,9 +110,26 @@ | |||
| }, | |||
| methods: { | |||
| onConfirmBuildTime(data){ | |||
| this.form.buildTime = this.format(data,'yyyy-MM-dd'); | |||
| this.showBuildTime = false; | |||
| submitForm(){ | |||
| this.$refs.formData.validate().then(() => { | |||
| addOddjob(this.form).then(response => { | |||
| if (response.code == 200) { | |||
| this.$toast({ | |||
| icon: 'success', | |||
| message: '保存成功', | |||
| duration:"1000", | |||
| }); | |||
| setTimeout(() => { | |||
| this.$router.back(); | |||
| },2000) | |||
| } | |||
| }); | |||
| }).catch(() => { | |||
| this.$notify({ type: 'danger', message: '请填写完整的表单项' }); | |||
| }); | |||
| }, | |||
| back() { | |||
| this.$router.back(); | |||
| }, | |||
| }, | |||
| } | |||
| @@ -0,0 +1,188 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 零工登记 | |||
| <div class="return_btn" @click="back"></div> | |||
| </div> | |||
| <van-form ref="formData" :readonly="true"> | |||
| <div class="list_main"> | |||
| <van-field v-model="form.jobTime" label="出工日期" input-align="right" :border="false" /> | |||
| <van-field v-model="form.workerName" label="出工姓名" input-align="right" :border="false" /> | |||
| <van-field v-model="form.workReason" label="出工事由" input-align="right" :border="false" /> | |||
| <van-field v-model="form.workerNote" label="记工员" input-align="right" :border="false" /> | |||
| <van-field v-model="form.workNum" label="出工数" input-align="right" :border="false" type="number" /> | |||
| <van-field v-model="form.perMoney" label="工日值" input-align="right" :border="false" type="number" /> | |||
| <van-field v-model="form.totalMoney" label="金额(元)" input-align="right" :border="false" type="number" /> | |||
| <van-field | |||
| name="openPic" | |||
| label="事前公开" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic" v-model="form.openPic" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field | |||
| name="openPic2" | |||
| label="事中公开" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic2" v-model="form.openPic2" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field | |||
| name="openPic3" | |||
| label="事后公开" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic3" v-model="form.openPic3" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field v-model="form.remark" label="备注" input-align="left" :border="false" /> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {addOddjob, getOddjob, updateOddjob} from "@/api/sunVillage_info/fixedAssets"; | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| export default { | |||
| name: "listTouristsRegistrationDetail", | |||
| components: {CommonUpload}, | |||
| data() { | |||
| return { | |||
| form: { | |||
| id: null, | |||
| bookId: null, | |||
| deptId: null, | |||
| deptName: null, | |||
| jobNy: null, | |||
| jobTime: null, | |||
| workerName: null, | |||
| workReason: null, | |||
| workerNote: null, | |||
| workNum: null, | |||
| perMoney: null, | |||
| totalMoney: null, | |||
| remark: null, | |||
| openPic: null, | |||
| openPic2: null, | |||
| openPic3: null, | |||
| createBy: null, | |||
| createTime: null, | |||
| updateBy: null, | |||
| updateTime: null | |||
| }, | |||
| id:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.id = this.$route.query.id; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| if(!this.id) | |||
| { | |||
| this.back(); | |||
| return; | |||
| } | |||
| getOddjob(this.id).then((resp) => { | |||
| this.form = resp.data; | |||
| }); | |||
| }, | |||
| back() { | |||
| this.$router.back(); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,230 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 零工登记 | |||
| <div class="return_btn" @click="back"></div> | |||
| </div> | |||
| <van-form ref="formData"> | |||
| <div class="list_main"> | |||
| <div class="titBox"> | |||
| <img src="../../assets/images/sunVillage_info/add_icon_3.png" style="width:22PX;height:22PX;margin-right: 10px;"/> | |||
| <p class="tit">修改零工</p> | |||
| </div> | |||
| <field-date-picker | |||
| v-model="form.jobTime" | |||
| label="出工日期" | |||
| placeholder="请选择" | |||
| :rules="[{ required: true, message:'请选择出工日期' }]" | |||
| formatter="yyyy-MM-dd" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| :required="true" | |||
| /> | |||
| <van-field required :rules="[{ required: true, message: '请填写出工姓名' }]" v-model="form.workerName" label="出工姓名" placeholder="出工姓名" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写出工事由' }]" v-model="form.workReason" label="出工事由" placeholder="出工事由" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写记工员' }]" v-model="form.workerNote" label="记工员" placeholder="记工员" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写出工数' }]" v-model="form.workNum" label="出工数" placeholder="出工数" input-align="right" :border="false" type="number" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写工日值' }]" v-model="form.perMoney" label="工日值" placeholder="工日值" input-align="right" :border="false" type="number" /> | |||
| <van-field required :rules="[{ required: true, message: '请填写金额(元)' }]" v-model="form.totalMoney" label="金额(元)" placeholder="金额(元)" input-align="right" :border="false" type="number" /> | |||
| <van-field | |||
| name="openPic" | |||
| label="事前公开" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic" v-model="form.openPic" multiple/> | |||
| <van-field | |||
| name="openPic2" | |||
| label="事中公开" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic2" v-model="form.openPic2" multiple/> | |||
| <van-field | |||
| name="openPic3" | |||
| label="事后公开" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic3" v-model="form.openPic3" multiple/> | |||
| <van-field v-model="form.remark" label="备注" placeholder="备注" input-align="right" :border="false" /> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" @click="submitForm"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {addOddjob, getOddjob, updateOddjob} from "@/api/sunVillage_info/fixedAssets"; | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import FieldDatePicker from "@/components/form/FieldDatePicker.vue"; | |||
| export default { | |||
| name: "listTouristsRegistrationEdit", | |||
| components: {FieldDatePicker, CommonUpload}, | |||
| data() { | |||
| return { | |||
| minDate:new Date(1900,1,1), | |||
| maxDate: new Date(2050, 12, 31), | |||
| form:{ | |||
| id: null, | |||
| bookId: null, | |||
| deptId: null, | |||
| deptName: null, | |||
| jobNy: null, | |||
| jobTime: null, | |||
| workerName: null, | |||
| workReason: null, | |||
| workerNote: null, | |||
| workNum: null, | |||
| perMoney: null, | |||
| totalMoney: null, | |||
| remark: null, | |||
| openPic: null, | |||
| openPic2: null, | |||
| openPic3: null, | |||
| createBy: null, | |||
| createTime: null, | |||
| updateBy: null, | |||
| updateTime: null | |||
| }, | |||
| id:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.id = this.$route.query.id; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| if(!this.id) | |||
| { | |||
| this.back(); | |||
| return; | |||
| } | |||
| getOddjob(this.id).then((resp) => { | |||
| this.form = resp.data; | |||
| }); | |||
| }, | |||
| submitForm(){ | |||
| this.$refs.formData.validate().then(() => { | |||
| updateOddjob(this.form).then(response => { | |||
| if (response.code == 200) { | |||
| this.$toast({ | |||
| icon: 'success', | |||
| message: '保存成功', | |||
| duration:"1000", | |||
| }); | |||
| setTimeout(() => { | |||
| this.$router.back(); | |||
| },2000) | |||
| } | |||
| }); | |||
| }).catch(() => { | |||
| this.$notify({ type: 'danger', message: '请填写完整的表单项' }); | |||
| }); | |||
| }, | |||
| back() { | |||
| this.$router.back(); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| </style> | |||