@@ -17,3 +17,14 @@ export function getVillageAffairs(id) { | |||||
}) | }) | ||||
} | } | ||||
// 查询地区下的账套列表 | |||||
export function bookListByDept(deptId, bookType) { | |||||
return request({ | |||||
url: '/open/villageAffairs/public/bookList/' + deptId, | |||||
method: 'get', | |||||
params: { | |||||
bookType, | |||||
}, | |||||
}) | |||||
} | |||||
@@ -0,0 +1,65 @@ | |||||
import request from '@/utils/request' | |||||
// 查询其他公开列表 | |||||
export function listOther(query) { | |||||
return request({ | |||||
url: '/subcontract/other/list', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 查询其他公开详细 | |||||
export function getOther(id) { | |||||
return request({ | |||||
url: '/subcontract/other/get/' + id, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 新增其他公开 | |||||
export function addOther(data) { | |||||
return request({ | |||||
url: '/subcontract/other/add', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 修改其他公开 | |||||
export function updateOther(data) { | |||||
return request({ | |||||
url: '/subcontract/other/edit', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 删除其他公开 | |||||
export function delOther(id) { | |||||
return request({ | |||||
url: '/subcontract/other/remove/' + id, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询其他公开列表 游客 | |||||
export function otherOpenList(query) { | |||||
return request({ | |||||
url: '/open/villageAffairs/public/otherPublicList', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 查询其他公开详细 游客 | |||||
export function otherOpenDetail(id) { | |||||
return request({ | |||||
url: '/open/villageAffairs/public/otherPublicDetail', | |||||
method: 'get', | |||||
params: { | |||||
id, | |||||
}, | |||||
}) | |||||
} | |||||
@@ -48,6 +48,10 @@ export default { | |||||
type: Function, | type: Function, | ||||
default: null, | default: null, | ||||
}, | }, | ||||
reload: { // 变更此值为true则重新加载数据 监听 | |||||
type: Boolean, | |||||
default: false, | |||||
}, | |||||
}, | }, | ||||
components: { | components: { | ||||
}, | }, | ||||
@@ -177,6 +181,15 @@ export default { | |||||
console.log('[PagedList]: ', ...arguments); | console.log('[PagedList]: ', ...arguments); | ||||
}, | }, | ||||
}, | }, | ||||
watch: { | |||||
reload(newVal) { | |||||
if(newVal) | |||||
{ | |||||
this.$emit('update:reload', false); | |||||
this.getList(); | |||||
} | |||||
}, | |||||
}, | |||||
} | } | ||||
</script> | </script> | ||||
@@ -14,6 +14,7 @@ | |||||
:rules="rules" | :rules="rules" | ||||
:required="required" | :required="required" | ||||
:label-width="labelWidth || 'auto'" | :label-width="labelWidth || 'auto'" | ||||
:size="size || ''" | |||||
> | > | ||||
</van-field> | </van-field> | ||||
<van-popup v-model="popupVisible" position="bottom"> | <van-popup v-model="popupVisible" position="bottom"> | ||||
@@ -46,6 +47,7 @@ export default { | |||||
'remoteUrl', // 远程列表加载地址 String | 'remoteUrl', // 远程列表加载地址 String | ||||
'onRemoteResponse', // 远程获取到结果的处理回调 String|Function 如果是函数需返回数组, 如果是字符串支持.分割 | 'onRemoteResponse', // 远程获取到结果的处理回调 String|Function 如果是函数需返回数组, 如果是字符串支持.分割 | ||||
'clearable', // 点击取消时清空绑定值 | 'clearable', // 点击取消时清空绑定值 | ||||
'size', | |||||
], | ], | ||||
watch: { | watch: { | ||||
value: function (newVal, oldVal) { | value: function (newVal, oldVal) { | ||||
@@ -140,6 +140,8 @@ const whiteList = [ | |||||
'/sunVillage_info/list_contract_ranking', | '/sunVillage_info/list_contract_ranking', | ||||
'/sunVillage_info/identity_check', | '/sunVillage_info/identity_check', | ||||
'/sunVillage_info/assetMapOpen', | '/sunVillage_info/assetMapOpen', | ||||
'/sunVillage_info/otherOpenVisitIndex', | |||||
'/sunVillage_info/otherOpenVisitDetail', | |||||
// 新型经营主体 | // 新型经营主体 | ||||
'newBusinessEntity/newsBulletin', //新闻公告 | 'newBusinessEntity/newsBulletin', //新闻公告 | ||||
@@ -3795,6 +3795,51 @@ export const constantRoutes = [ | |||||
}, | }, | ||||
component: (resolve) => require(['@/views/sunVillage_info/registration/registrationEdit'], resolve) | component: (resolve) => require(['@/views/sunVillage_info/registration/registrationEdit'], resolve) | ||||
}, | }, | ||||
{ ////阳光村务(新)-- 综合公开 | |||||
path: '/sunVillage_info/otherOpenIndex', | |||||
name: 'otherOpenIndex', | |||||
meta: { | |||||
title: '综合公开', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenList'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 综合公开详情 | |||||
path: '/sunVillage_info/otherOpenDetail', | |||||
name: 'otherOpenDetail', | |||||
meta: { | |||||
title: '综合公开详情', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenDetail'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 新增/编辑综合公开 | |||||
path: '/sunVillage_info/otherOpenEdit', | |||||
name: 'otherOpenEdit', | |||||
meta: { | |||||
title: '编辑综合公开', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenEdit'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 综合公开 游客 | |||||
path: '/sunVillage_info/otherOpenVisitIndex', | |||||
name: 'otherOpenVisitIndex', | |||||
meta: { | |||||
title: '综合公开', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenVisitList'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 综合公开详情 游客 | |||||
path: '/sunVillage_info/otherOpenVisitDetail', | |||||
name: 'otherOpenVisitDetail', | |||||
meta: { | |||||
title: '综合公开详情', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenVisitDetail'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 发包方审核 | { ////阳光村务(新)-- 发包方审核 | ||||
path: '/sunVillage_info/list_employer_process', | path: '/sunVillage_info/list_employer_process', | ||||
@@ -236,6 +236,27 @@ export const FINANCE = { | |||||
a = new BigNumber(a, 10); | a = new BigNumber(a, 10); | ||||
return a.isZero(); | return a.isZero(); | ||||
}, | }, | ||||
sub(a, b) { | |||||
if(!(a instanceof BigNumber)) | |||||
a = new BigNumber(a, 10); | |||||
if(!(b instanceof BigNumber)) | |||||
b = new BigNumber(b, 10); | |||||
return a.minus(b, 10); | |||||
}, | |||||
mul(a, b) { | |||||
if(!(a instanceof BigNumber)) | |||||
a = new BigNumber(a, 10); | |||||
if(!(b instanceof BigNumber)) | |||||
b = new BigNumber(b, 10); | |||||
return a.multipliedBy(b, 10); | |||||
}, | |||||
div(a, b) { | |||||
if(!(a instanceof BigNumber)) | |||||
a = new BigNumber(a, 10); | |||||
if(!(b instanceof BigNumber)) | |||||
b = new BigNumber(b, 10); | |||||
return a.div(b, 10); | |||||
}, | |||||
toNumber(a) { | toNumber(a) { | ||||
if(typeof(a) === 'number') | if(typeof(a) === 'number') | ||||
return a; | return a; | ||||
@@ -5,7 +5,10 @@ | |||||
<div class="address"><i class="icon"></i>{{deptName}}</div> | <div class="address"><i class="icon"></i>{{deptName}}</div> | ||||
<div class="address">{{bookName}}</div> | |||||
<div class="address" @click="bookVisbile = true">{{bookName}}</div> | |||||
<van-popup v-model="bookVisbile" round position="bottom"> | |||||
<van-picker title="请选择账套" show-toolbar :columns="bookList" @confirm="onConfirmBook" @cancel="onCancelBook" value-key="bookName"/> | |||||
</van-popup> | |||||
</div> | </div> | ||||
<div class="exit_btn" @click="$router.push({name:'sunVillageInfoLogin'})"> | <div class="exit_btn" @click="$router.push({name:'sunVillageInfoLogin'})"> | ||||
@@ -65,9 +68,10 @@ | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import {bookInfo, nologinMenus} from "@/api/sunVillage_info/fixedAssets"; | |||||
import {bookInfo, nologinMenus} from "@/api/sunVillage_info/fixedAssets"; | |||||
import { sysConfig } from "@/api/homesteadSurvey/index"; | import { sysConfig } from "@/api/homesteadSurvey/index"; | ||||
import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
import {bookListByDept} from "@/api/onlineHome/villageAffairs"; | |||||
export default { | export default { | ||||
name: "sunVillageInfoIndexCode", | name: "sunVillageInfoIndexCode", | ||||
data() { | data() { | ||||
@@ -94,7 +98,6 @@ | |||||
//账套列表 | //账套列表 | ||||
bookVisbile:false, | bookVisbile:false, | ||||
bookList:[], | bookList:[], | ||||
bookName:"", | |||||
bookId:"", | bookId:"", | ||||
book:"", | book:"", | ||||
@@ -102,7 +105,7 @@ | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
console.log(this.$store) | |||||
//console.log(this.$store) | |||||
if(this.$route.query.bookId){ | if(this.$route.query.bookId){ | ||||
bookInfo(this.$route.query.bookId).then((res) => { | bookInfo(this.$route.query.bookId).then((res) => { | ||||
@@ -143,6 +146,7 @@ | |||||
this.configValue = res.rows[0].configValue; | this.configValue = res.rows[0].configValue; | ||||
} | } | ||||
}); | }); | ||||
this.getBookList(this.$route.query.deptId); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
goCode(){ | goCode(){ | ||||
@@ -151,7 +155,24 @@ | |||||
}else{ | }else{ | ||||
this.$router.push({path:'/sunVillage_info/login_code'}) | this.$router.push({path:'/sunVillage_info/login_code'}) | ||||
} | } | ||||
} | |||||
}, | |||||
onConfirmBook(e){ | |||||
this.bookVisbile = false; | |||||
const url = `/sunVillage_info/index_code?bookId=${e.id}&deptId=${this.$route.query.deptId}`; | |||||
this.$router.replace(url, () => { | |||||
window.location.href = url; | |||||
}); | |||||
}, | |||||
onCancelBook(e){ | |||||
this.bookVisbile = false | |||||
}, | |||||
getBookList(e){ | |||||
bookListByDept(e).then((response) => { | |||||
if (response.code == 200) { | |||||
this.bookList = response.rows; | |||||
} | |||||
}) | |||||
}, | |||||
}, | }, | ||||
} | } | ||||
</script> | </script> | ||||
@@ -38,9 +38,9 @@ | |||||
<van-field required label="记工员" v-model="form.workerNote" placeholder="请输入记工员" :rules="[{ required: true , message:'请输入记工员' }]" input-align="right" :border="false" /> | <van-field required label="记工员" v-model="form.workerNote" placeholder="请输入记工员" :rules="[{ required: true , message:'请输入记工员' }]" input-align="right" :border="false" /> | ||||
<van-field required label="出工数" v-model="form.workNum" placeholder="请输入出工数" :rules="[{ required: true , message:'请输入出工数' }]" input-align="right" :border="false" /> | |||||
<van-field required label="出工数" v-model="form.workNum" placeholder="请输入出工数" :rules="[{ required: true , message:'请输入出工数' }]" input-align="right" :border="false" type="number" @change="calcMoney" /> | |||||
<van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" /> | |||||
<van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" type="number" @change="calcMoney" /> | |||||
<van-field required label="金额(元)" type="number" v-model="form.totalMoney" placeholder="请输入金额(元)" :rules="[{ required: true , message:'请输入金额' }]" input-align="right" :border="false" /> | <van-field required label="金额(元)" type="number" v-model="form.totalMoney" placeholder="请输入金额(元)" :rules="[{ required: true , message:'请输入金额' }]" input-align="right" :border="false" /> | ||||
@@ -61,6 +61,7 @@ | |||||
import { addOddjob } from "@/api/sunVillage_info/fixedAssets"; | import { addOddjob } from "@/api/sunVillage_info/fixedAssets"; | ||||
import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
import request from '@/utils/request' | import request from '@/utils/request' | ||||
import {FINANCE} from "@/utils/finance"; | |||||
export default { | export default { | ||||
name: "certificateList", | name: "certificateList", | ||||
data() { | data() { | ||||
@@ -113,7 +114,12 @@ | |||||
this.jobTime = data; | this.jobTime = data; | ||||
this.showBuildTime = false; | this.showBuildTime = false; | ||||
}, | }, | ||||
calcMoney() { | |||||
if(this.form.workNum > 0 && this.form.perMoney > 0) | |||||
{ | |||||
this.form.totalMoney = FINANCE.toNumber(FINANCE.mul(this.form.workNum, this.form.perMoney)); | |||||
} | |||||
}, | |||||
}, | }, | ||||
} | } | ||||
</script> | </script> | ||||
@@ -38,9 +38,9 @@ | |||||
<van-field required label="记工员" v-model="form.workerNote" placeholder="请输入记工员" :rules="[{ required: true , message:'请输入记工员' }]" input-align="right" :border="false" /> | <van-field required label="记工员" v-model="form.workerNote" placeholder="请输入记工员" :rules="[{ required: true , message:'请输入记工员' }]" input-align="right" :border="false" /> | ||||
<van-field required label="出工数" v-model="form.workNum" placeholder="请输入出工数" :rules="[{ required: true , message:'请输入出工数' }]" input-align="right" :border="false" /> | |||||
<van-field required label="出工数" v-model="form.workNum" placeholder="请输入出工数" :rules="[{ required: true , message:'请输入出工数' }]" input-align="right" :border="false" type="number" @change="calcMoney" /> | |||||
<van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" /> | |||||
<van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" type="number" @change="calcMoney" /> | |||||
<van-field required label="金额(元)" type="number" v-model="form.totalMoney" placeholder="请输入金额(元)" :rules="[{ required: true , message:'请输入金额' }]" input-align="right" :border="false" /> | <van-field required label="金额(元)" type="number" v-model="form.totalMoney" placeholder="请输入金额(元)" :rules="[{ required: true , message:'请输入金额' }]" input-align="right" :border="false" /> | ||||
@@ -61,6 +61,7 @@ | |||||
import { addOddjob , getOddjob , updateOddjob } from "@/api/sunVillage_info/fixedAssets"; | import { addOddjob , getOddjob , updateOddjob } from "@/api/sunVillage_info/fixedAssets"; | ||||
import Cookies from "js-cookie"; | import Cookies from "js-cookie"; | ||||
import request from '@/utils/request' | import request from '@/utils/request' | ||||
import {FINANCE} from "@/utils/finance"; | |||||
export default { | export default { | ||||
name: "certificateList", | name: "certificateList", | ||||
data() { | data() { | ||||
@@ -122,6 +123,12 @@ | |||||
this.jobTime = data; | this.jobTime = data; | ||||
this.showBuildTime = false; | this.showBuildTime = false; | ||||
}, | }, | ||||
calcMoney() { | |||||
if(this.form.workNum > 0 && this.form.perMoney > 0) | |||||
{ | |||||
this.form.totalMoney = FINANCE.toNumber(FINANCE.mul(this.form.workNum, this.form.perMoney)); | |||||
} | |||||
}, | |||||
}, | }, | ||||
} | } | ||||
@@ -25,8 +25,8 @@ | |||||
<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.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.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.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.workNum" label="出工数" placeholder="出工数" input-align="right" :border="false" type="number" @change="calcMoney" /> | |||||
<van-field required :rules="[{ required: true, message: '请填写工日值' }]" v-model="form.perMoney" label="工日值" placeholder="工日值" input-align="right" :border="false" type="number" @change="calcMoney" /> | |||||
<van-field required :rules="[{ required: true, message: '请填写金额(元)' }]" v-model="form.totalMoney" 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 | <van-field | ||||
@@ -36,7 +36,7 @@ | |||||
:border="false" | :border="false" | ||||
> | > | ||||
</van-field> | </van-field> | ||||
<CommonUpload name="openPic" v-model="form.openPic" multiple/> | |||||
<CommonUpload name="openPic" v-model="form.openPic" accept="image/*" multiple/> | |||||
<van-field | <van-field | ||||
name="openPic2" | name="openPic2" | ||||
@@ -45,7 +45,7 @@ | |||||
:border="false" | :border="false" | ||||
> | > | ||||
</van-field> | </van-field> | ||||
<CommonUpload name="openPic2" v-model="form.openPic2" multiple/> | |||||
<CommonUpload name="openPic2" v-model="form.openPic2" accept="image/*" multiple/> | |||||
<van-field | <van-field | ||||
name="openPic3" | name="openPic3" | ||||
@@ -54,7 +54,7 @@ | |||||
:border="false" | :border="false" | ||||
> | > | ||||
</van-field> | </van-field> | ||||
<CommonUpload name="openPic3" v-model="form.openPic3" multiple/> | |||||
<CommonUpload name="openPic3" v-model="form.openPic3" accept="image/*" multiple/> | |||||
<van-field v-model="form.remark" label="备注" placeholder="备注" input-align="right" :border="false" /> | <van-field v-model="form.remark" label="备注" placeholder="备注" input-align="right" :border="false" /> | ||||
@@ -72,6 +72,7 @@ | |||||
import { addOddjob,updateOddjob } from "@/api/sunVillage_info/fixedAssets"; | import { addOddjob,updateOddjob } from "@/api/sunVillage_info/fixedAssets"; | ||||
import CommonUpload from "@/components/form/CommonUpload.vue"; | import CommonUpload from "@/components/form/CommonUpload.vue"; | ||||
import FieldDatePicker from "@/components/form/FieldDatePicker.vue"; | import FieldDatePicker from "@/components/form/FieldDatePicker.vue"; | ||||
import {FINANCE} from "@/utils/finance"; | |||||
export default { | export default { | ||||
name: "listTouristsRegistrationAdd", | name: "listTouristsRegistrationAdd", | ||||
components: {FieldDatePicker, CommonUpload}, | components: {FieldDatePicker, CommonUpload}, | ||||
@@ -131,6 +132,12 @@ | |||||
back() { | back() { | ||||
this.$router.back(); | this.$router.back(); | ||||
}, | }, | ||||
calcMoney() { | |||||
if(this.form.workNum > 0 && this.form.perMoney > 0) | |||||
{ | |||||
this.form.totalMoney = FINANCE.toNumber(FINANCE.mul(this.form.workNum, this.form.perMoney)); | |||||
} | |||||
}, | |||||
}, | }, | ||||
} | } | ||||
</script> | </script> | ||||
@@ -25,8 +25,8 @@ | |||||
<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.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.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.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.workNum" label="出工数" placeholder="出工数" input-align="right" :border="false" type="number" @change="calcMoney" /> | |||||
<van-field required :rules="[{ required: true, message: '请填写工日值' }]" v-model="form.perMoney" label="工日值" placeholder="工日值" input-align="right" :border="false" type="number" @change="calcMoney" /> | |||||
<van-field required :rules="[{ required: true, message: '请填写金额(元)' }]" v-model="form.totalMoney" 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 | <van-field | ||||
@@ -36,7 +36,7 @@ | |||||
:border="false" | :border="false" | ||||
> | > | ||||
</van-field> | </van-field> | ||||
<CommonUpload name="openPic" v-model="form.openPic" multiple/> | |||||
<CommonUpload name="openPic" v-model="form.openPic" accept="image/*" multiple/> | |||||
<van-field | <van-field | ||||
name="openPic2" | name="openPic2" | ||||
@@ -45,7 +45,7 @@ | |||||
:border="false" | :border="false" | ||||
> | > | ||||
</van-field> | </van-field> | ||||
<CommonUpload name="openPic2" v-model="form.openPic2" multiple/> | |||||
<CommonUpload name="openPic2" v-model="form.openPic2" accept="image/*" multiple/> | |||||
<van-field | <van-field | ||||
name="openPic3" | name="openPic3" | ||||
@@ -54,7 +54,7 @@ | |||||
:border="false" | :border="false" | ||||
> | > | ||||
</van-field> | </van-field> | ||||
<CommonUpload name="openPic3" v-model="form.openPic3" multiple/> | |||||
<CommonUpload name="openPic3" v-model="form.openPic3" accept="image/*" multiple/> | |||||
<van-field v-model="form.remark" label="备注" placeholder="备注" input-align="right" :border="false" /> | <van-field v-model="form.remark" label="备注" placeholder="备注" input-align="right" :border="false" /> | ||||
@@ -72,6 +72,7 @@ | |||||
import {addOddjob, getOddjob, updateOddjob} from "@/api/sunVillage_info/fixedAssets"; | import {addOddjob, getOddjob, updateOddjob} from "@/api/sunVillage_info/fixedAssets"; | ||||
import CommonUpload from "@/components/form/CommonUpload.vue"; | import CommonUpload from "@/components/form/CommonUpload.vue"; | ||||
import FieldDatePicker from "@/components/form/FieldDatePicker.vue"; | import FieldDatePicker from "@/components/form/FieldDatePicker.vue"; | ||||
import {FINANCE} from "@/utils/finance"; | |||||
export default { | export default { | ||||
name: "listTouristsRegistrationEdit", | name: "listTouristsRegistrationEdit", | ||||
components: {FieldDatePicker, CommonUpload}, | components: {FieldDatePicker, CommonUpload}, | ||||
@@ -143,6 +144,12 @@ | |||||
back() { | back() { | ||||
this.$router.back(); | this.$router.back(); | ||||
}, | }, | ||||
calcMoney() { | |||||
if(this.form.workNum > 0 && this.form.perMoney > 0) | |||||
{ | |||||
this.form.totalMoney = FINANCE.toNumber(FINANCE.mul(this.form.workNum, this.form.perMoney)); | |||||
} | |||||
}, | |||||
}, | }, | ||||
} | } | ||||
</script> | </script> | ||||
@@ -0,0 +1,178 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main"> | |||||
{{title}} | |||||
<div class="return_btn" @click="back"></div> | |||||
</div> | |||||
<van-form ref="formData" :readonly="true"> | |||||
<div class="list_main"> | |||||
<van-field name="otherName" :value="form.otherName" label="公开名称" input-align="right" :border="false" /> | |||||
<van-field name="openAt" :value="form.openAt" label="公开时间" input-align="right" :border="false" /> | |||||
<van-field name="openContent" label="公开内容" input-align="right" :border="false" /> | |||||
<div class="open-content" v-html="form.openContent"></div> | |||||
<van-field | |||||
name="openPic" | |||||
label="公开图片" | |||||
input-align="right" | |||||
:border="false" | |||||
> | |||||
</van-field> | |||||
<CommonUpload name="openPic" :value="form.openPic" multiple :deletable="false" :show-upload="false"/> | |||||
<van-field | |||||
name="openFile" | |||||
label="公开文件" | |||||
input-align="right" | |||||
:border="false" | |||||
> | |||||
</van-field> | |||||
<CommonUpload name="openFile" :value="form.openFile" multiple :deletable="false" :show-upload="false"/> | |||||
<van-field name="remake" :value="form.remark" label="备注" input-align="left" :border="false"/> | |||||
</div> | |||||
</van-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import CommonUpload from "@/components/form/CommonUpload.vue"; | |||||
import {getOther} from "@/api/sunVillage_info/otherOpen"; | |||||
export default { | |||||
name: "otherOpenDetail", | |||||
components: {CommonUpload}, | |||||
data() { | |||||
return { | |||||
form: { | |||||
id: null, | |||||
bookId: null, | |||||
deptId: null, | |||||
deptName: null, | |||||
otherName: null, | |||||
otherType: '1', | |||||
openYear: null, | |||||
openAt: null, | |||||
openContent: null, | |||||
openFile: null, | |||||
openPic: null, | |||||
remark: null, | |||||
createBy: null, | |||||
createTime: null, | |||||
updateBy: null, | |||||
updateTime: null, | |||||
}, | |||||
id:'', | |||||
title: '综合公开', | |||||
}; | |||||
}, | |||||
created() { | |||||
this.id = this.$route.query.id; | |||||
this.getDetail(); | |||||
}, | |||||
methods: { | |||||
getDetail() { | |||||
if(!this.id) | |||||
{ | |||||
this.back(); | |||||
return; | |||||
} | |||||
getOther(this.id).then((resp) => { | |||||
this.form = resp.data; | |||||
this.getDicts('other_gk_type').then((resp) => { | |||||
const dict = resp.data.find((x) => x.dictValue == this.form.otherType); | |||||
if(dict) | |||||
this.title = dict.dictLabel; | |||||
}); | |||||
}); | |||||
}, | |||||
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; | |||||
} | |||||
} | |||||
.open-content { | |||||
padding: .2rem .3rem; | |||||
max-height: 8rem; | |||||
} | |||||
</style> |
@@ -0,0 +1,280 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main"> | |||||
{{titlePreifx}}{{title}} | |||||
<div class="return_btn" @click="back()"></div> | |||||
</div> | |||||
<van-form ref="formData" :show-error-message="false" @submit="submit"> | |||||
<div class="list_main"> | |||||
<field-select | |||||
v-if="showTypeSelector" | |||||
v-model="form.otherType" | |||||
label="公开类型" | |||||
value-key="dictLabel" | |||||
data-key="dictValue" | |||||
placeholder="请选择公开类型" | |||||
:rules="rules.otherType" | |||||
required | |||||
size="large" | |||||
:columns="otherTypeOptions"/> | |||||
<van-field name="otherName" v-model="form.otherName" label="公开名称" input-align="right" required :rules="rules.otherName" placeholder="请输入公开名称" size="large" :maxlength="150"/> | |||||
<field-date-picker | |||||
name="openAt" | |||||
class="field_no-label" | |||||
v-model="form.openAt" | |||||
placeholder="请选择公开时间" | |||||
formatter="yyyy-MM-dd" | |||||
input-align="right" | |||||
type="date" | |||||
label="公开时间" | |||||
:required="true" | |||||
:rules="rules.openAt" | |||||
size="large" | |||||
/> | |||||
<van-field name="openContent" label="公开内容" size="large" :border="false"/> | |||||
<vue-html5-editor :content="content" :height="300" @change="updateData" style="margin-top: 0.2rem;"></vue-html5-editor> | |||||
<van-field | |||||
name="openPic" | |||||
label="公开图片" | |||||
input-align="right" | |||||
:border="false" | |||||
> | |||||
</van-field> | |||||
<CommonUpload name="openPic" v-model="form.openPic" accept="image/*" multiple/> | |||||
<van-field | |||||
name="openFile" | |||||
label="公开文件" | |||||
input-align="right" | |||||
:border="false" | |||||
> | |||||
</van-field> | |||||
<CommonUpload name="openFile" v-model="form.openFile" accept="*" multiple/> | |||||
<van-field name="remark" v-model="form.remark" label="备注" input-align="left" size="large" :maxlength="255" placeholder="请输入备注"/> | |||||
</div> | |||||
<div style="margin: 16px auto;width: 50%;"> | |||||
<van-button round block type="primary" native-type="submit"> | |||||
保存 | |||||
</van-button> | |||||
</div> | |||||
</van-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import CommonUpload from "@/components/form/CommonUpload.vue"; | |||||
import FieldDatePicker from "@/components/form/FieldDatePicker.vue"; | |||||
import {Toast} from "vant"; | |||||
import {addOther, getOther, updateOther} from "@/api/sunVillage_info/otherOpen"; | |||||
import FieldSelect from "@/components/form/FieldSelect.vue"; | |||||
export default { | |||||
name: "otherOpenEdit", | |||||
components: {FieldSelect, FieldDatePicker, CommonUpload}, | |||||
data() { | |||||
return { | |||||
form: { | |||||
id: null, | |||||
bookId: null, | |||||
deptId: null, | |||||
deptName: null, | |||||
otherName: null, | |||||
otherType: null, | |||||
openYear: null, | |||||
openAt: null, | |||||
openContent: null, | |||||
openFile: null, | |||||
openPic: null, | |||||
remark: null, | |||||
createBy: null, | |||||
createTime: null, | |||||
updateBy: null, | |||||
updateTime: null, | |||||
}, | |||||
rules: { | |||||
openAt: [{message: '请选择公开时间', required: true}], | |||||
otherName: [{message: '请输入公开名称', required: true}], | |||||
otherType: [{message: '请选择公开类型', required: true}], | |||||
}, | |||||
id: null, | |||||
intent: null, | |||||
content: '', | |||||
otherTypeOptions: [], | |||||
otherType: null, | |||||
title: '综合公开', | |||||
}; | |||||
}, | |||||
created() { | |||||
this.id = this.$route.query.id; | |||||
this.intent = this.$route.query.intent; | |||||
this.otherType = this.$route.query.otherType; | |||||
if(this.isEdit) | |||||
this.getDetail(); | |||||
else | |||||
{ | |||||
this.form.otherType = this.$route.query.otherType; | |||||
this.getDicts('other_gk_type').then((resp) => { | |||||
this.otherTypeOptions = resp.data; | |||||
const dict = resp.data.find((x) => x.dictValue == this.form.otherType); | |||||
if(dict) | |||||
this.title = dict.dictLabel; | |||||
}); | |||||
} | |||||
}, | |||||
methods: { | |||||
getDetail() { | |||||
if(!this.id) | |||||
{ | |||||
this.back(); | |||||
return; | |||||
} | |||||
getOther(this.id).then((resp) => { | |||||
this.form = resp.data; | |||||
this.content = this.form.openContent || ''; | |||||
this.getDicts('other_gk_type').then((resp) => { | |||||
const dict = resp.data.find((x) => x.dictValue == this.form.otherType); | |||||
if(dict) | |||||
this.title = dict.dictLabel; | |||||
}); | |||||
}); | |||||
}, | |||||
back(ti) { | |||||
if(ti > 0) | |||||
setTimeout(() => this.$router.back(), ti); | |||||
else | |||||
this.$router.back(); | |||||
}, | |||||
updateData(t) { | |||||
this.form.openContent = t; | |||||
}, | |||||
submit() { | |||||
const loading = Toast.loading({ | |||||
message: '保存中...', | |||||
duration: 0, | |||||
}); | |||||
if(this.form.id) | |||||
{ | |||||
updateOther(this.form).then((resp) => { | |||||
this.$notify({ type: 'success', message: '保存成功' }); | |||||
this.back(1500); | |||||
}).finally(() => { | |||||
loading.clear(); | |||||
}); | |||||
} | |||||
else | |||||
{ | |||||
addOther(this.form).then((resp) => { | |||||
this.$notify({ type: 'success', message: '新增成功' }); | |||||
this.back(1500); | |||||
}).finally(() => { | |||||
loading.clear(); | |||||
}); | |||||
} | |||||
}, | |||||
}, | |||||
computed: { | |||||
isAdd() { | |||||
return this.intent === 'add'; | |||||
}, | |||||
isEdit() { | |||||
return this.intent === 'edit'; | |||||
}, | |||||
titlePreifx() { | |||||
return this.intent === 'edit' ? '编辑' : '新增'; | |||||
}, | |||||
showTypeSelector() { | |||||
return this.isAdd && !this.otherType; | |||||
}, | |||||
}, | |||||
} | |||||
</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,485 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main" | |||||
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`" | |||||
> | |||||
<p class="title" @click="openTypeChooser">{{title}}</p> | |||||
<div class="return_btn" @click="back"></div> | |||||
<div class="add_btn" @click="add"></div> | |||||
</div> | |||||
<div class="record_main"> | |||||
<div class="record_det"> | |||||
<div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.openYear == '' ? '全部': queryParams.openYear}}<span class="unit">{{queryParams.openYear == '' ? '': '年'}}</span></div> | |||||
<div class="total_r">共{{total}}条公开</div> | |||||
</div> | |||||
<div class="record_list" v-if="showTab"> | |||||
<div :class="{'flex_block':true , 'current':queryParams.openYear == ''}" @click="tabClick('')">全部</div> | |||||
<div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.openYear == item}" @click="tabClick(item)">{{item}}</div> | |||||
</div> | |||||
</div> | |||||
<div class="list_main"> | |||||
<paged-list | |||||
ref="pagedList" | |||||
:page-num.sync="queryParams.pageNum" | |||||
:page-size.sync="queryParams.pageSize" | |||||
:total.sync="total" | |||||
:getListFunc="getListReq" | |||||
:reload.sync="reload" | |||||
@reload="dataList = []" | |||||
get-when-created> | |||||
<div class="item" v-for="(item,index) in dataList" :key="index" @click="viewItem(item.id)" > | |||||
<div class="info"> | |||||
<div class="title"> | |||||
<p class="news_title">{{item.otherName}}</p> | |||||
</div> | |||||
<div class="time"> | |||||
<div class="icon_time"></div> | |||||
{{item.openAt}} | |||||
</div> | |||||
</div> | |||||
<div class="operation"> | |||||
<div class="opera_btn view" @click.stop="viewItem(item.id)"> | |||||
<i class="icon "></i> | |||||
</div> | |||||
<div class="opera_btn edit" @click.stop="edit(item.id)"> | |||||
<i class="icon "></i> | |||||
</div> | |||||
<div class="opera_btn delete" @click.stop="remove(item.id)"> | |||||
<i class="icon"></i> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</paged-list> | |||||
</div> | |||||
<van-action-sheet | |||||
v-model="showType" | |||||
:actions="otherTypeOptions" | |||||
cancel-text="取消" | |||||
close-on-click-action | |||||
@select="changeType" | |||||
/> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import PagedList from "@/components/common/PagedList.vue"; | |||||
import {Dialog, Toast} from "vant"; | |||||
import {delOther, listOther} from "@/api/sunVillage_info/otherOpen"; | |||||
import {getLoginBook} from "@/api/sunVillage_info/fixedAssets"; | |||||
export default { | |||||
name: "otherOpenList", | |||||
components: {PagedList}, | |||||
data() { | |||||
return { | |||||
dataList:[], | |||||
total: 0, | |||||
queryParams:{ | |||||
pageNum:1, | |||||
pageSize:10, | |||||
orderByColumn:'openAt', | |||||
isAsc:'desc', | |||||
openYear:'', | |||||
otherType: null, | |||||
}, | |||||
yearList: [], | |||||
reload: false, | |||||
showTab: false, | |||||
otherTypeOptions: [], | |||||
showType: false, | |||||
}; | |||||
}, | |||||
created() { | |||||
this.queryParams.otherType = this.$route.query.otherType || ''; | |||||
this.getDicts('other_gk_type').then((resp) => { | |||||
let arr = []; | |||||
arr.push({ | |||||
dictValue: '', | |||||
dictLabel: '综合公开', | |||||
name: '全部', | |||||
}); | |||||
resp.data.forEach((x) => { | |||||
x.name = x.dictLabel; | |||||
arr.push(x); | |||||
}); | |||||
this.otherTypeOptions = arr; | |||||
}); | |||||
getLoginBook().then((resp) => { | |||||
let startYear = new Date().getFullYear(); | |||||
let thisYear = startYear; | |||||
if(resp.data.startDay) | |||||
{ | |||||
startYear = parseInt(resp.data.startDay.substring(0, resp.data.startDay.indexOf('-'))) | |||||
} | |||||
for (let i = thisYear ; i >= startYear ; i--){ | |||||
this.yearList.push('' + i); | |||||
} | |||||
}); | |||||
}, | |||||
methods: { | |||||
getListReq(pageInfo) { | |||||
return new Promise((resolve, reject) => { | |||||
listOther(this.queryParams).then((response) => { | |||||
response.rows.forEach((x) => this.dataList.push(x)); | |||||
resolve(response); | |||||
}); | |||||
}); | |||||
}, | |||||
gotoViewItem(id) { | |||||
let parms = { | |||||
id: id, | |||||
intent: 'view', | |||||
}; | |||||
if(this.queryParams.otherType) | |||||
parms.otherType = this.queryParams.otherType; | |||||
this.$router.push({ | |||||
name: 'otherOpenDetail', | |||||
query: parms, | |||||
}).catch(() => {}); | |||||
}, | |||||
viewItem(id){ | |||||
this.$router.replace(`/sunVillage_info/otherOpenIndex?otherType=${this.queryParams.otherType || ''}`, () => this.gotoViewItem(id), () => this.gotoViewItem(id) ); | |||||
}, | |||||
gotoAdd() { | |||||
let parms = { | |||||
intent: 'add', | |||||
}; | |||||
if(this.queryParams.otherType) | |||||
parms.otherType = this.queryParams.otherType; | |||||
this.$router.push({ | |||||
name: 'otherOpenEdit', | |||||
query: parms, | |||||
}).catch(() => {}); | |||||
}, | |||||
add() { | |||||
this.$router.replace(`/sunVillage_info/otherOpenIndex?otherType=${this.queryParams.otherType || ''}`, () => this.gotoAdd(), () => this.gotoAdd() ); | |||||
}, | |||||
gotoEdit(id) { | |||||
let parms = { | |||||
id: id, | |||||
intent: 'edit', | |||||
}; | |||||
if(this.queryParams.otherType) | |||||
parms.otherType = this.queryParams.otherType; | |||||
this.$router.push({ | |||||
name: 'otherOpenEdit', | |||||
query: parms, | |||||
}).catch(() => {}); | |||||
}, | |||||
edit(id) { | |||||
this.$router.replace(`/sunVillage_info/otherOpenIndex?otherType=${this.queryParams.otherType || ''}`, () => this.gotoEdit(id), () => this.gotoEdit(id) ); | |||||
}, | |||||
remove(id) { | |||||
Dialog.confirm({ | |||||
title: '警告', | |||||
message: '确认删除该项?', | |||||
}) | |||||
.then(() => { | |||||
const loading = Toast.loading({ | |||||
message: '删除中...', | |||||
duration: 0, | |||||
}); | |||||
delOther(id).then((resp) => { | |||||
this.$notify({ type: 'success', message: '删除成功' }); | |||||
this.$refs.pagedList.getList(); | |||||
}).finally(() => { | |||||
loading.clear(); | |||||
}); | |||||
}) | |||||
.catch(() => {}); | |||||
}, | |||||
back() { | |||||
this.$router.replace('/sunVillage_info/otherOpenIndex', () => this.$router.back(), () => this.$router.back() ); | |||||
}, | |||||
tabClick(year){ | |||||
this.queryParams.openYear = year; | |||||
this.reload = true; | |||||
}, | |||||
tabShow(){ | |||||
this.showTab = !this.showTab; | |||||
}, | |||||
openTypeChooser() { | |||||
this.showType = true; | |||||
}, | |||||
changeType(action, index) { | |||||
this.queryParams.otherType = action.dictValue; | |||||
this.reload = true; | |||||
}, | |||||
}, | |||||
computed: { | |||||
title() { | |||||
if(this.queryParams.otherType) | |||||
{ | |||||
const dict = this.otherTypeOptions.find((x) => x.dictValue == this.queryParams.otherType); | |||||
if(dict) | |||||
return dict.dictLabel; | |||||
} | |||||
return '综合公开'; | |||||
}, | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.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; | |||||
} | |||||
.title { | |||||
} | |||||
.title::before { | |||||
display: inline-block; | |||||
width: 24px; | |||||
height: 24px; | |||||
content: ''; | |||||
background-image: url('../../../assets/images/icon/index_header_focus.png'); | |||||
background-repeat: no-repeat; | |||||
background-size: contain; | |||||
margin-right: 0.2rem; | |||||
transform: rotate( | |||||
180deg | |||||
); | |||||
} | |||||
.title::after { | |||||
width: 0.32rem; | |||||
height: 0.32rem; | |||||
display: inline-block; | |||||
content: ''; | |||||
background-image: url('../../../assets/images/icon/index_header_focus.png'); | |||||
background-repeat: no-repeat; | |||||
background-size: contain; | |||||
margin-left: 0.2rem; | |||||
} | |||||
} | |||||
.record_main{ | |||||
padding:30px 22px; | |||||
.record_det{ | |||||
height: 38px; | |||||
line-height: 38px; | |||||
display: flex; | |||||
justify-content:space-between; | |||||
.year_l{ | |||||
font-size: 30px; | |||||
display: flex; | |||||
align-items: center; | |||||
color: #858585; | |||||
.unit{ | |||||
padding-left: 5px; | |||||
} | |||||
.icon{ | |||||
width: 23px; | |||||
height: 12px; | |||||
display: block; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin-bottom: 4px; | |||||
margin-right: 8px; | |||||
&.zk { | |||||
transform: rotate(0deg) | |||||
} | |||||
&.ss{ | |||||
transform: rotate(180deg) | |||||
} | |||||
} | |||||
} | |||||
.total_r{ | |||||
font-size: 26px; | |||||
letter-spacing: 2px; | |||||
} | |||||
} | |||||
.record_list{ | |||||
display: flex; | |||||
flex-flow: wrap; | |||||
margin-top: 12PX; | |||||
.flex_block{ | |||||
font-size: 30px; | |||||
color: #878787; | |||||
padding-right: 30px; | |||||
&.current{ | |||||
color: #4199fe; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.list_main{ | |||||
padding:15px 22px; | |||||
.item{ | |||||
height: 140px; | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
padding:25px 32px; | |||||
display: flex; | |||||
margin-bottom: 20px; | |||||
justify-content: space-between; | |||||
.info{ | |||||
.title{ | |||||
display: flex; | |||||
font-size: 32px; | |||||
align-items: center; | |||||
height: 58px; | |||||
.icon_box{ | |||||
width: 34px; | |||||
display: block; | |||||
height: 30px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_2.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin-right: 10px; | |||||
flex-shrink: 0; | |||||
} | |||||
.news_title{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
} | |||||
.tips_mark{ | |||||
width: 34px; | |||||
height: 34px; | |||||
background: #fa0c0c; | |||||
border-radius: 8px; | |||||
font-size: 24px; | |||||
color: #fff; | |||||
text-align: center; | |||||
line-height: 34px; | |||||
margin-left: 10px; | |||||
flex-shrink: 0; | |||||
} | |||||
} | |||||
.time{ | |||||
font-size: 24px; | |||||
color: #858585; | |||||
display: flex; | |||||
align-items: center; | |||||
height: 30px; | |||||
margin-top: 6px; | |||||
.icon_time{ | |||||
width: 25px; | |||||
height: 25px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin-right: 10px; | |||||
} | |||||
} | |||||
} | |||||
.operation{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: right; | |||||
text-align: right; | |||||
.opera_btn{ | |||||
width: 52px; | |||||
height: 52px; | |||||
border-radius: 50%; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content:center; | |||||
&.delete{ | |||||
background:#df0707; | |||||
margin-left: 10PX; | |||||
.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; | |||||
margin-left: 10PX; | |||||
.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; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29px; | |||||
height: 21px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.list{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29px; | |||||
height: 21px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.bottom_tips{ | |||||
font-size: 24px; | |||||
color: #a7a6a6; | |||||
text-align: center; | |||||
margin-top: 32px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||||
background-size: 260px 2px; | |||||
.xs{ | |||||
padding:0 8px; | |||||
background: #e9e9e9; | |||||
} | |||||
} | |||||
} | |||||
.top_head_title{ | |||||
font-size: 16PX; | |||||
text-align: center; | |||||
padding: 15PX 0; | |||||
} | |||||
</style> |
@@ -0,0 +1,187 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main" | |||||
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head_red.png')})`"> | |||||
{{title}} | |||||
<div class="return_btn" @click="back"></div> | |||||
</div> | |||||
<van-form ref="formData" :readonly="true"> | |||||
<div class="list_main"> | |||||
<van-field name="otherName" :value="form.otherName" label="公开名称" input-align="right" :border="false" /> | |||||
<van-field name="openAt" :value="form.openAt" label="公开时间" input-align="right" :border="false" /> | |||||
<van-field name="openContent" label="公开内容" input-align="right" :border="false" /> | |||||
<div class="open-content" v-html="form.openContent"></div> | |||||
<van-field | |||||
name="openPic" | |||||
label="公开图片" | |||||
input-align="right" | |||||
:border="false" | |||||
> | |||||
</van-field> | |||||
<CommonUpload name="openPic" :value="form.openPic" multiple :deletable="false" :show-upload="false"/> | |||||
<van-field | |||||
name="openFile" | |||||
label="公开文件" | |||||
input-align="right" | |||||
:border="false" | |||||
> | |||||
</van-field> | |||||
<CommonUpload name="openFile" :value="form.openFile" multiple :deletable="false" :show-upload="false"/> | |||||
<van-field name="remake" :value="form.remark" label="备注" input-align="left" :border="false"/> | |||||
</div> | |||||
</van-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import CommonUpload from "@/components/form/CommonUpload.vue"; | |||||
import { otherOpenDetail} from "@/api/sunVillage_info/otherOpen"; | |||||
import Cookies from "js-cookie"; | |||||
export default { | |||||
name: "otherOpenVisitDetail", | |||||
components: {CommonUpload}, | |||||
data() { | |||||
return { | |||||
form: { | |||||
id: null, | |||||
bookId: null, | |||||
deptId: null, | |||||
deptName: null, | |||||
otherName: null, | |||||
otherType: '1', | |||||
openYear: null, | |||||
openAt: null, | |||||
openContent: null, | |||||
openFile: null, | |||||
openPic: null, | |||||
remark: null, | |||||
createBy: null, | |||||
createTime: null, | |||||
updateBy: null, | |||||
updateTime: null, | |||||
}, | |||||
id:'', | |||||
title: '综合公开', | |||||
bookId: null, | |||||
}; | |||||
}, | |||||
created() { | |||||
this.bookId = Cookies.get('bookId'); | |||||
if(!this.bookId) | |||||
{ | |||||
this.back(); | |||||
return; | |||||
} | |||||
this.id = this.$route.query.id; | |||||
this.getDetail(); | |||||
}, | |||||
methods: { | |||||
getDetail() { | |||||
if(!this.id) | |||||
{ | |||||
this.back(); | |||||
return; | |||||
} | |||||
otherOpenDetail(this.id).then((resp) => { | |||||
this.form = resp.data; | |||||
this.getDicts('other_gk_type').then((resp) => { | |||||
const dict = resp.data.find((x) => x.dictValue == this.form.otherType); | |||||
if(dict) | |||||
this.title = dict.dictLabel; | |||||
}); | |||||
}); | |||||
}, | |||||
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; | |||||
} | |||||
} | |||||
.open-content { | |||||
padding: .2rem .3rem; | |||||
max-height: 8rem; | |||||
} | |||||
</style> |
@@ -0,0 +1,441 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main" | |||||
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head_red.png')})`" | |||||
> | |||||
<p class="title" @click="openTypeChooser">{{title}}</p> | |||||
<div class="return_btn" @click="back"></div> | |||||
</div> | |||||
<div class="record_main"> | |||||
<div class="record_det"> | |||||
<div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.openYear == '' ? '全部': queryParams.openYear}}<span class="unit">{{queryParams.openYear == '' ? '': '年'}}</span></div> | |||||
<div class="total_r">共{{total}}条公开</div> | |||||
</div> | |||||
<div class="record_list" v-if="showTab"> | |||||
<div :class="{'flex_block':true , 'current':queryParams.openYear == ''}" @click="tabClick('')">全部</div> | |||||
<div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.openYear == item}" @click="tabClick(item)">{{item}}</div> | |||||
</div> | |||||
</div> | |||||
<div class="list_main"> | |||||
<paged-list | |||||
ref="pagedList" | |||||
:page-num.sync="queryParams.pageNum" | |||||
:page-size.sync="queryParams.pageSize" | |||||
:total.sync="total" | |||||
:getListFunc="getListReq" | |||||
:reload.sync="reload" | |||||
@reload="dataList = []" | |||||
get-when-created> | |||||
<div class="item" v-for="(item,index) in dataList" :key="index" @click="viewItem(item.id)" > | |||||
<div class="info"> | |||||
<div class="title"> | |||||
<p class="news_title">{{item.otherName}}</p> | |||||
</div> | |||||
<div class="time"> | |||||
<div class="icon_time"></div> | |||||
{{item.openAt}} | |||||
</div> | |||||
</div> | |||||
<div class="operation"> | |||||
<div class="opera_btn view" @click.stop="viewItem(item.id)"> | |||||
<i class="icon "></i> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</paged-list> | |||||
</div> | |||||
<van-action-sheet | |||||
v-model="showType" | |||||
:actions="otherTypeOptions" | |||||
cancel-text="取消" | |||||
close-on-click-action | |||||
@select="changeType" | |||||
/> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import PagedList from "@/components/common/PagedList.vue"; | |||||
import {Dialog, Toast} from "vant"; | |||||
import { otherOpenList} from "@/api/sunVillage_info/otherOpen"; | |||||
import {bookInfo, } from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
export default { | |||||
name: "otherOpenVisitList", | |||||
components: {PagedList}, | |||||
data() { | |||||
return { | |||||
dataList:[], | |||||
total: 0, | |||||
queryParams:{ | |||||
pageNum:1, | |||||
pageSize:10, | |||||
orderByColumn:'openAt', | |||||
isAsc:'desc', | |||||
openYear:'', | |||||
otherType: null, | |||||
bookId: null, | |||||
deptId: null, | |||||
}, | |||||
yearList: [], | |||||
reload: false, | |||||
showTab: false, | |||||
otherTypeOptions: [], | |||||
showType: false, | |||||
}; | |||||
}, | |||||
created() { | |||||
this.queryParams.bookId = Cookies.get('bookId'); | |||||
this.queryParams.deptId = Cookies.get('deptId'); | |||||
if(!this.queryParams.bookId) | |||||
{ | |||||
this.back(); | |||||
return; | |||||
} | |||||
this.queryParams.otherType = this.$route.query.otherType || ''; | |||||
this.getDicts('other_gk_type').then((resp) => { | |||||
let arr = []; | |||||
arr.push({ | |||||
dictValue: '', | |||||
dictLabel: '综合公开', | |||||
name: '全部', | |||||
}); | |||||
resp.data.forEach((x) => { | |||||
x.name = x.dictLabel; | |||||
arr.push(x); | |||||
}); | |||||
this.otherTypeOptions = arr; | |||||
}); | |||||
bookInfo(this.queryParams.bookId).then((resp) => { | |||||
let startYear = new Date().getFullYear(); | |||||
let thisYear = startYear; | |||||
if(resp.data.startDay) | |||||
{ | |||||
startYear = parseInt(resp.data.startDay.substring(0, resp.data.startDay.indexOf('-'))) | |||||
} | |||||
for (let i = thisYear ; i >= startYear ; i--){ | |||||
this.yearList.push('' + i); | |||||
} | |||||
}); | |||||
}, | |||||
methods: { | |||||
getListReq(pageInfo) { | |||||
return new Promise((resolve, reject) => { | |||||
otherOpenList(this.queryParams).then((response) => { | |||||
response.rows.forEach((x) => this.dataList.push(x)); | |||||
resolve(response); | |||||
}); | |||||
}); | |||||
}, | |||||
gotoViewItem(id) { | |||||
let parms = { | |||||
id: id, | |||||
intent: 'view', | |||||
}; | |||||
if(this.queryParams.otherType) | |||||
parms.otherType = this.queryParams.otherType; | |||||
this.$router.push({ | |||||
name: 'otherOpenVisitDetail', | |||||
query: parms, | |||||
}).catch(() => {}); | |||||
}, | |||||
viewItem(id){ | |||||
this.$router.replace(`/sunVillage_info/otherOpenVisitIndex?otherType=${this.queryParams.otherType || ''}`, () => this.gotoViewItem(id), () => this.gotoViewItem(id) ); | |||||
}, | |||||
back() { | |||||
this.$router.replace('/sunVillage_info/otherOpenVisitIndex', () => this.$router.back(), () => this.$router.back() ); | |||||
}, | |||||
tabClick(year){ | |||||
this.queryParams.openYear = year; | |||||
this.reload = true; | |||||
}, | |||||
tabShow(){ | |||||
this.showTab = !this.showTab; | |||||
}, | |||||
openTypeChooser() { | |||||
this.showType = true; | |||||
}, | |||||
changeType(action, index) { | |||||
this.queryParams.otherType = action.dictValue; | |||||
this.reload = true; | |||||
}, | |||||
}, | |||||
computed: { | |||||
title() { | |||||
if(this.queryParams.otherType) | |||||
{ | |||||
const dict = this.otherTypeOptions.find((x) => x.dictValue == this.queryParams.otherType); | |||||
if(dict) | |||||
return dict.dictLabel; | |||||
} | |||||
return '综合公开'; | |||||
}, | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.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; | |||||
} | |||||
.title { | |||||
} | |||||
.title::before { | |||||
display: inline-block; | |||||
width: 24px; | |||||
height: 24px; | |||||
content: ''; | |||||
background-image: url('../../../assets/images/icon/index_header_focus.png'); | |||||
background-repeat: no-repeat; | |||||
background-size: contain; | |||||
margin-right: 0.2rem; | |||||
transform: rotate( | |||||
180deg | |||||
); | |||||
} | |||||
.title::after { | |||||
width: 0.32rem; | |||||
height: 0.32rem; | |||||
display: inline-block; | |||||
content: ''; | |||||
background-image: url('../../../assets/images/icon/index_header_focus.png'); | |||||
background-repeat: no-repeat; | |||||
background-size: contain; | |||||
margin-left: 0.2rem; | |||||
} | |||||
} | |||||
.record_main{ | |||||
padding:30px 22px; | |||||
.record_det{ | |||||
height: 38px; | |||||
line-height: 38px; | |||||
display: flex; | |||||
justify-content:space-between; | |||||
.year_l{ | |||||
font-size: 30px; | |||||
display: flex; | |||||
align-items: center; | |||||
color: #858585; | |||||
.unit{ | |||||
padding-left: 5px; | |||||
} | |||||
.icon{ | |||||
width: 23px; | |||||
height: 12px; | |||||
display: block; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin-bottom: 4px; | |||||
margin-right: 8px; | |||||
&.zk { | |||||
transform: rotate(0deg) | |||||
} | |||||
&.ss{ | |||||
transform: rotate(180deg) | |||||
} | |||||
} | |||||
} | |||||
.total_r{ | |||||
font-size: 26px; | |||||
letter-spacing: 2px; | |||||
} | |||||
} | |||||
.record_list{ | |||||
display: flex; | |||||
flex-flow: wrap; | |||||
margin-top: 12PX; | |||||
.flex_block{ | |||||
font-size: 30px; | |||||
color: #878787; | |||||
padding-right: 30px; | |||||
&.current{ | |||||
color: #4199fe; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.list_main{ | |||||
padding:15px 22px; | |||||
.item{ | |||||
height: 140px; | |||||
border-radius: 30px; | |||||
background: #fff; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
padding:25px 32px; | |||||
display: flex; | |||||
margin-bottom: 20px; | |||||
justify-content: space-between; | |||||
.info{ | |||||
.title{ | |||||
display: flex; | |||||
font-size: 32px; | |||||
align-items: center; | |||||
height: 58px; | |||||
.icon_box{ | |||||
width: 34px; | |||||
display: block; | |||||
height: 30px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_2.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin-right: 10px; | |||||
flex-shrink: 0; | |||||
} | |||||
.news_title{ | |||||
display: -webkit-box; | |||||
-webkit-box-orient: vertical; | |||||
-webkit-line-clamp: 1; | |||||
word-break: break-all; | |||||
overflow: hidden; | |||||
} | |||||
.tips_mark{ | |||||
width: 34px; | |||||
height: 34px; | |||||
background: #fa0c0c; | |||||
border-radius: 8px; | |||||
font-size: 24px; | |||||
color: #fff; | |||||
text-align: center; | |||||
line-height: 34px; | |||||
margin-left: 10px; | |||||
flex-shrink: 0; | |||||
} | |||||
} | |||||
.time{ | |||||
font-size: 24px; | |||||
color: #858585; | |||||
display: flex; | |||||
align-items: center; | |||||
height: 30px; | |||||
margin-top: 6px; | |||||
.icon_time{ | |||||
width: 25px; | |||||
height: 25px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin-right: 10px; | |||||
} | |||||
} | |||||
} | |||||
.operation{ | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: right; | |||||
text-align: right; | |||||
.opera_btn{ | |||||
width: 52px; | |||||
height: 52px; | |||||
border-radius: 50%; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content:center; | |||||
&.delete{ | |||||
background:#df0707; | |||||
margin-left: 10PX; | |||||
.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; | |||||
margin-left: 10PX; | |||||
.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; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29px; | |||||
height: 21px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
&.list{ | |||||
background: #79cf13; | |||||
margin-left: 10PX; | |||||
.icon { | |||||
width: 29px; | |||||
height: 21px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.bottom_tips{ | |||||
font-size: 24px; | |||||
color: #a7a6a6; | |||||
text-align: center; | |||||
margin-top: 32px; | |||||
background: url('../../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||||
background-size: 260px 2px; | |||||
.xs{ | |||||
padding:0 8px; | |||||
background: #e9e9e9; | |||||
} | |||||
} | |||||
} | |||||
.top_head_title{ | |||||
font-size: 16PX; | |||||
text-align: center; | |||||
padding: 15PX 0; | |||||
} | |||||
</style> |
@@ -30,7 +30,7 @@ | |||||
:border="false" | :border="false" | ||||
> | > | ||||
</van-field> | </van-field> | ||||
<CommonUpload name="openPic1" v-model="form.openPic1" multiple/> | |||||
<CommonUpload name="openPic1" v-model="form.openPic1" accept="image/*" multiple/> | |||||
<van-field | <van-field | ||||
name="openPic2" | name="openPic2" | ||||
@@ -39,7 +39,7 @@ | |||||
:border="false" | :border="false" | ||||
> | > | ||||
</van-field> | </van-field> | ||||
<CommonUpload name="openPic2" v-model="form.openPic2" multiple/> | |||||
<CommonUpload name="openPic2" v-model="form.openPic2" accept="image/*" multiple/> | |||||
<van-field | <van-field | ||||
name="openPic3" | name="openPic3" | ||||
@@ -48,7 +48,7 @@ | |||||
:border="false" | :border="false" | ||||
> | > | ||||
</van-field> | </van-field> | ||||
<CommonUpload name="openPic3" v-model="form.openPic3" multiple/> | |||||
<CommonUpload name="openPic3" v-model="form.openPic3" accept="image/*" multiple/> | |||||
<van-field name="remark" v-model="form.remark" label="备注" input-align="left" size="large" :maxlength="255" placeholder="请输入备注"/> | <van-field name="remark" v-model="form.remark" label="备注" input-align="left" size="large" :maxlength="255" placeholder="请输入备注"/> | ||||
@@ -69,7 +69,7 @@ | |||||
import FieldDatePicker from "@/components/form/FieldDatePicker.vue"; | import FieldDatePicker from "@/components/form/FieldDatePicker.vue"; | ||||
import {Toast} from "vant"; | import {Toast} from "vant"; | ||||
export default { | export default { | ||||
name: "registrationDetail", | |||||
name: "registrationEdit", | |||||
components: {FieldDatePicker, CommonUpload}, | components: {FieldDatePicker, CommonUpload}, | ||||
data() { | data() { | ||||
return { | return { | ||||