Ver código fonte

Task 综合公开2

rongxin_dev
zhaodengke 6 meses atrás
pai
commit
f74cc7873b
5 arquivos alterados com 207 adições e 48 exclusões
  1. BIN
      src/assets/images/icon/index_header_focus.png
  2. +2
    -0
      src/components/form/FieldSelect.vue
  3. +24
    -3
      src/views/sunVillage_info/otherOpen/otherOpenEdit.vue
  4. +101
    -28
      src/views/sunVillage_info/otherOpen/otherOpenList.vue
  5. +80
    -17
      src/views/sunVillage_info/otherOpen/otherOpenVisitList.vue

BIN
src/assets/images/icon/index_header_focus.png Ver arquivo

Antes Depois
Largura: 7  |  Altura: 9  |  Tamanho: 988 B

+ 2
- 0
src/components/form/FieldSelect.vue Ver arquivo

@@ -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) {


+ 24
- 3
src/views/sunVillage_info/otherOpen/otherOpenEdit.vue Ver arquivo

@@ -1,13 +1,25 @@
<template> <template>
<div class="home_wrapper"> <div class="home_wrapper">
<div class="header_main"> <div class="header_main">
{{title}}
{{titlePreifx}}{{title}}
<div class="return_btn" @click="back()"></div> <div class="return_btn" @click="back()"></div>
</div> </div>


<van-form ref="formData" :show-error-message="false" @submit="submit"> <van-form ref="formData" :show-error-message="false" @submit="submit">
<div class="list_main"> <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"/> <van-field name="otherName" v-model="form.otherName" label="公开名称" input-align="right" required :rules="rules.otherName" placeholder="请输入公开名称" size="large" :maxlength="150"/>


<field-date-picker <field-date-picker
@@ -62,9 +74,10 @@
import FieldDatePicker from "@/components/form/FieldDatePicker.vue"; import FieldDatePicker from "@/components/form/FieldDatePicker.vue";
import {Toast} from "vant"; import {Toast} from "vant";
import {addOther, getOther, updateOther} from "@/api/sunVillage_info/otherOpen"; import {addOther, getOther, updateOther} from "@/api/sunVillage_info/otherOpen";
import FieldSelect from "@/components/form/FieldSelect.vue";
export default { export default {
name: "otherOpenEdit", name: "otherOpenEdit",
components: {FieldDatePicker, CommonUpload},
components: {FieldSelect, FieldDatePicker, CommonUpload},
data() { data() {
return { return {
form: { form: {
@@ -88,22 +101,27 @@
rules: { rules: {
openAt: [{message: '请选择公开时间', required: true}], openAt: [{message: '请选择公开时间', required: true}],
otherName: [{message: '请输入公开名称', required: true}], otherName: [{message: '请输入公开名称', required: true}],
otherType: [{message: '请选择公开类型', required: true}],
}, },
id: null, id: null,
intent: null, intent: null,
content: '', content: '',
otherTypeOptions: [],
type: null,
title: '综合公开', title: '综合公开',
}; };
}, },
created() { created() {
this.id = this.$route.query.id; this.id = this.$route.query.id;
this.intent = this.$route.query.intent; this.intent = this.$route.query.intent;
this.type = this.$route.query.type;
if(this.isEdit) if(this.isEdit)
this.getDetail(); this.getDetail();
else else
{ {
this.form.otherType = this.$route.query.type; this.form.otherType = this.$route.query.type;
this.getDicts('other_gk_type').then((resp) => { this.getDicts('other_gk_type').then((resp) => {
this.otherTypeOptions = resp.data;
const dict = resp.data.find((x) => x.dictValue == this.form.otherType); const dict = resp.data.find((x) => x.dictValue == this.form.otherType);
if(dict) if(dict)
this.title = dict.dictLabel; this.title = dict.dictLabel;
@@ -169,9 +187,12 @@
isEdit() { isEdit() {
return this.intent === 'edit'; return this.intent === 'edit';
}, },
title() {
titlePreifx() {
return this.intent === 'edit' ? '编辑' : '新增'; return this.intent === 'edit' ? '编辑' : '新增';
}, },
showTypeSelector() {
return this.isAdd && !this.type;
},
}, },
} }
</script> </script>


+ 101
- 28
src/views/sunVillage_info/otherOpen/otherOpenList.vue Ver arquivo

@@ -3,7 +3,7 @@
<div class="header_main" <div class="header_main"
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`" :style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`"
> >
{{title}}
<p class="title" @click="openTypeChooser">{{title}}</p>
<div class="return_btn" @click="back"></div> <div class="return_btn" @click="back"></div>
<div class="add_btn" @click="add"></div> <div class="add_btn" @click="add"></div>
</div> </div>
@@ -54,6 +54,14 @@
</paged-list> </paged-list>


</div> </div>

<van-action-sheet
v-model="showType"
:actions="otherTypeOptions"
cancel-text="取消"
close-on-click-action
@select="changeType"
/>
</div> </div>
</template> </template>


@@ -78,21 +86,27 @@ import {getLoginBook} from "@/api/sunVillage_info/fixedAssets";
otherType: null, otherType: null,
}, },
yearList: [], yearList: [],
title: '综合公开',
reload: false, reload: false,
showTab: false, showTab: false,
otherTypeOptions: [],
showType: false,
}; };
}, },
created() { created() {
this.queryParams.otherType = this.$route.query.type;
if(this.$route.query.type)
{
this.getDicts('other_gk_type').then((resp) => {
const dict = resp.data.find((x) => x.dictValue == this.$route.query.type);
if(dict)
this.title = dict.dictLabel;
this.queryParams.otherType = this.$route.query.type || '';
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) => { getLoginBook().then((resp) => {
let startYear = new Date().getFullYear(); let startYear = new Date().getFullYear();
let thisYear = startYear; let thisYear = startYear;
@@ -115,35 +129,50 @@ import {getLoginBook} from "@/api/sunVillage_info/fixedAssets";
}); });
}); });
}, },
viewItem(id){
gotoViewItem(id) {
let parms = {
id: id,
intent: 'view',
};
if(this.queryParams.otherType)
parms.type = this.queryParams.otherType;
this.$router.push({ this.$router.push({
name: 'otherOpenDetail', name: 'otherOpenDetail',
query: {
id: id,
intent: 'view',
type: this.$route.query.type,
},
query: parms,
}).catch(() => {}); }).catch(() => {});
}, },
add() {
viewItem(id){
this.$router.replace(`/sunVillage_info/otherOpenIndex?type=${this.queryParams.otherType || ''}`, () => this.gotoViewItem(id), () => this.gotoViewItem(id) );
},
gotoAdd() {
let parms = {
intent: 'add',
};
if(this.queryParams.otherType)
parms.type = this.queryParams.otherType;
this.$router.push({ this.$router.push({
name: 'otherOpenEdit', name: 'otherOpenEdit',
query: {
intent: 'add',
type: this.$route.query.type,
},
query: parms,
}).catch(() => {}); }).catch(() => {});
}, },
edit(id) {
add() {
this.$router.replace(`/sunVillage_info/otherOpenIndex?type=${this.queryParams.otherType || ''}`, () => this.gotoAdd(), () => this.gotoAdd() );
},
gotoEdit(id) {
let parms = {
id: id,
intent: 'edit',
};
if(this.queryParams.otherType)
parms.type = this.queryParams.otherType;
this.$router.push({ this.$router.push({
name: 'otherOpenEdit', name: 'otherOpenEdit',
query: {
id: id,
intent: 'edit',
type: this.$route.query.type,
},
query: parms,
}).catch(() => {}); }).catch(() => {});
}, },
edit(id) {
this.$router.replace(`/sunVillage_info/otherOpenIndex?type=${this.queryParams.otherType || ''}`, () => this.gotoEdit(id), () => this.gotoEdit(id) );
},
remove(id) { remove(id) {
Dialog.confirm({ Dialog.confirm({
title: '警告', title: '警告',
@@ -164,7 +193,7 @@ import {getLoginBook} from "@/api/sunVillage_info/fixedAssets";
.catch(() => {}); .catch(() => {});
}, },
back() { back() {
this.$router.back();
this.$router.replace('/sunVillage_info/otherOpenIndex', () => this.$router.back(), () => this.$router.back() );
}, },
tabClick(year){ tabClick(year){
this.queryParams.openYear = year; this.queryParams.openYear = year;
@@ -173,6 +202,24 @@ import {getLoginBook} from "@/api/sunVillage_info/fixedAssets";
tabShow(){ tabShow(){
this.showTab = !this.showTab; 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> </script>
@@ -213,6 +260,32 @@ import {getLoginBook} from "@/api/sunVillage_info/fixedAssets";
right: 38px; right: 38px;
top: 36px; 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{ .record_main{
padding:30px 22px; padding:30px 22px;


+ 80
- 17
src/views/sunVillage_info/otherOpen/otherOpenVisitList.vue Ver arquivo

@@ -3,7 +3,7 @@
<div class="header_main" <div class="header_main"
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head_red.png')})`" :style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head_red.png')})`"
> >
{{title}}
<p class="title" @click="openTypeChooser">{{title}}</p>
<div class="return_btn" @click="back"></div> <div class="return_btn" @click="back"></div>
</div> </div>
<div class="record_main"> <div class="record_main">
@@ -47,6 +47,14 @@
</paged-list> </paged-list>


</div> </div>

<van-action-sheet
v-model="showType"
:actions="otherTypeOptions"
cancel-text="取消"
close-on-click-action
@select="changeType"
/>
</div> </div>
</template> </template>


@@ -74,9 +82,10 @@ import Cookies from "js-cookie";
deptId: null, deptId: null,
}, },
yearList: [], yearList: [],
title: '综合公开',
reload: false, reload: false,
showTab: false, showTab: false,
otherTypeOptions: [],
showType: false,
}; };
}, },
created() { created() {
@@ -88,15 +97,20 @@ import Cookies from "js-cookie";
return; return;
} }


this.queryParams.otherType = this.$route.query.type;
if(this.$route.query.type)
{
this.getDicts('other_gk_type').then((resp) => {
const dict = resp.data.find((x) => x.dictValue == this.$route.query.type);
if(dict)
this.title = dict.dictLabel;
this.queryParams.otherType = this.$route.query.type || '';
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) => { bookInfo(this.queryParams.bookId).then((resp) => {
let startYear = new Date().getFullYear(); let startYear = new Date().getFullYear();
let thisYear = startYear; let thisYear = startYear;
@@ -119,18 +133,23 @@ import Cookies from "js-cookie";
}); });
}); });
}, },
viewItem(id){
gotoViewItem(id) {
let parms = {
id: id,
intent: 'view',
};
if(this.queryParams.otherType)
parms.type = this.queryParams.otherType;
this.$router.push({ this.$router.push({
name: 'otherOpenVisitDetail', name: 'otherOpenVisitDetail',
query: {
id: id,
intent: 'view',
type: this.$route.query.type,
},
query: parms,
}).catch(() => {}); }).catch(() => {});
}, },
viewItem(id){
this.$router.replace(`/sunVillage_info/otherOpenVisitIndex?type=${this.queryParams.otherType || ''}`, () => this.gotoViewItem(id), () => this.gotoViewItem(id) );
},
back() { back() {
this.$router.back();
this.$router.replace('/sunVillage_info/otherOpenVisitIndex', () => this.$router.back(), () => this.$router.back() );
}, },
tabClick(year){ tabClick(year){
this.queryParams.openYear = year; this.queryParams.openYear = year;
@@ -139,6 +158,24 @@ import Cookies from "js-cookie";
tabShow(){ tabShow(){
this.showTab = !this.showTab; 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> </script>
@@ -179,6 +216,32 @@ import Cookies from "js-cookie";
right: 38px; right: 38px;
top: 36px; 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{ .record_main{
padding:30px 22px; padding:30px 22px;


Carregando…
Cancelar
Salvar