Parcourir la source

宅基地手机端盘活方式功能增加及优化

wulanhaote
Xyq123* il y a 2 ans
Parent
révision
a0368d5b90
24 fichiers modifiés avec 7571 ajouts et 132 suppressions
  1. +61
    -0
      src/api/onlineHome/phfs/phfs.js
  2. +5
    -3
      src/components/Map/MapGisObtain.vue
  3. +162
    -0
      src/router/index.js
  4. +479
    -0
      src/views/onlineHome/phfs/czjy/czjyAdd.vue
  5. +450
    -0
      src/views/onlineHome/phfs/czjy/czjyDetails.vue
  6. +160
    -0
      src/views/onlineHome/phfs/czjy/czjyList.vue
  7. +501
    -0
      src/views/onlineHome/phfs/czjy/czjyModify.vue
  8. +479
    -0
      src/views/onlineHome/phfs/hzjy/hzjyAdd.vue
  9. +450
    -0
      src/views/onlineHome/phfs/hzjy/hzjyDetails.vue
  10. +160
    -0
      src/views/onlineHome/phfs/hzjy/hzjyList.vue
  11. +501
    -0
      src/views/onlineHome/phfs/hzjy/hzjyModify.vue
  12. +479
    -0
      src/views/onlineHome/phfs/rgjy/rgjyAdd.vue
  13. +450
    -0
      src/views/onlineHome/phfs/rgjy/rgjyDetails.vue
  14. +160
    -0
      src/views/onlineHome/phfs/rgjy/rgjyList.vue
  15. +501
    -0
      src/views/onlineHome/phfs/rgjy/rgjyModify.vue
  16. +142
    -108
      src/views/onlineHome/phfs/zzjy/zzjyAdd.vue
  17. +432
    -0
      src/views/onlineHome/phfs/zzjy/zzjyDetails.vue
  18. +15
    -17
      src/views/onlineHome/phfs/zzjy/zzjyList.vue
  19. +456
    -0
      src/views/onlineHome/phfs/zzjy/zzjyModify.vue
  20. +450
    -0
      src/views/onlineHome/phfs/zzly/zzlyAdd.vue
  21. +432
    -0
      src/views/onlineHome/phfs/zzly/zzlyDetails.vue
  22. +179
    -0
      src/views/onlineHome/phfs/zzly/zzlyList.vue
  23. +455
    -0
      src/views/onlineHome/phfs/zzly/zzlyModify.vue
  24. +12
    -4
      src/views/onlineHome/workbench.vue

+ 61
- 0
src/api/onlineHome/phfs/phfs.js Voir le fichier

@@ -7,4 +7,65 @@ export function getList(data){
method:'get',
params:data
})

}
// 宅基地盘活信息统计
export function utilizeStatistics(query) {
return request({
url: '/house/phxxb/utilizeStatistics',
method: 'get',
params: query
})
}

// 导出宅基地盘活信息
export function exportPhxxb(query) {
return request({
url: '/house/phxxb/export',
method: 'get',
params: query
})
}

// 查询宅基地盘活信息详细
export function getPhxxb(id) {
return request({
url: '/house/phxxb/get/' + id,
method: 'get'
})
}

// 新增宅基地盘活信息
export function addPhxxb(data) {
return request({
url: '/house/phxxb/add',
method: 'post',
data: data
})
}

// 修改宅基地盘活信息
export function updatePhxxb(data) {
return request({
url: '/house/phxxb/edit',
method: 'post',
data: data
})
}

// 删除宅基地盘活信息
export function delPhxxb(id) {
return request({
url: '/house/phxxb/remove/' + id,
method: 'get'
})
}

//通过宅基地编码查询宅基地信息
export function queryGeoZjdzd(query) {
return request({
url: '/house/lz/queryGeoZjdzd',
method: 'get',
params: query
})
}

+ 5
- 3
src/components/Map/MapGisObtain.vue Voir le fichier

@@ -4,7 +4,7 @@
<div id="full-screen-acceptance" style="width: 100%;height:45vh;position:relative;">
<div :id=this.uuidMap style="width: 100%;height: 100%"></div>
</div>
<div id="info" > <button type="button" @click="showHistoryDown">保 存</button></div>
<!-- <div id="info" > <button type="button" @click="showHistoryDown">保 存</button></div>-->
</div>
</template>

@@ -100,7 +100,8 @@ export default {
projection: projection,
features: new ol.format.GeoJSON().readFeatures("{\n" +
" \"type\": \"Feature\",\n" +
" \"geometry\":" + response.data[i].zjdzd.theGeom + "}"),
" \"geometry\":" + response.data[i].zjdzd.theGeom + ", " +
" \"properties\":" + JSON.stringify(response.data[i]) + "}"),
}),
resolution:Math.random() * 0.00000001,
style: new ol.style.Style({
@@ -122,7 +123,6 @@ export default {
var minYMap = hc_land.values_.source.featuresRtree_.rbush_.data.minY;
//定位查询位置
var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置
console.log(center);
that.map.getView().animate({
// 只设置需要的属性即可
center: center, // 中心点
@@ -174,6 +174,7 @@ export default {
});
that.map.addLayer(geo_zjdzd);
//that.closeMoule = feature.values_.zjddm;
that.$emit('closeMoule', feature.values_.zjddm);
var maxXMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxX;
var maxYMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxY;
var minXMap = hc_land.values_.source.featuresRtree_.rbush_.data.minX;
@@ -188,6 +189,7 @@ export default {
duration: 1000, // 缩放持续时间,默认不需要设置
resolution:Math.random() * 0.00000001,
});

}
});
}


+ 162
- 0
src/router/index.js Voir le fichier

@@ -960,6 +960,168 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzjy/zzjyAdd'], resolve)
},
{
path: '/zzjyDetails',
name: 'zzjyDetails',
meta: {
title: '自主经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzjy/zzjyDetails'], resolve)
},
{
path: '/zzjyModify',
name: 'zzjyModify',
meta: {
title: '修改自主经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzjy/zzjyModify'], resolve)
},
{
path: '/czjyList',
name: 'czjyList',
meta: {
title: '出租经营列表',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/czjy/czjyList'], resolve)
},
{
path: '/czjyAdd',
name: 'czjyAdd',
meta: {
title: '添加出租经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/czjy/czjyAdd'], resolve)
},
{
path: '/czjyModify',
name: 'czjyModify',
meta: {
title: '修改出租经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/czjy/czjyModify'], resolve)
},
{
path: '/czjyDetails',
name: 'czjyDetails',
meta: {
title: '出租经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/czjy/czjyDetails'], resolve)
},
{
path: '/rgjyList',
name: 'rgjyList',
meta: {
title: '入股经营列表',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/rgjy/rgjyList'], resolve)
},
{
path: '/rgjyAdd',
name: 'rgjyAdd',
meta: {
title: '添加入股经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/rgjy/rgjyAdd'], resolve)
},
{
path: '/rgjyModify',
name: 'rgjyModify',
meta: {
title: '修改入股经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/rgjy/rgjyModify'], resolve)
},
{
path: '/rgjyDetails',
name: 'rgjyDetails',
meta: {
title: '入股经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/rgjy/rgjyDetails'], resolve)
},
{
path: '/hzjyList',
name: 'hzjyList',
meta: {
title: '合作经营列表',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/hzjy/hzjyList'], resolve)
},
{
path: '/hzjyAdd',
name: 'hzjyAdd',
meta: {
title: '添加合作经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/hzjy/hzjyAdd'], resolve)
},
{
path: '/hzjyModify',
name: 'hzjyModify',
meta: {
title: '修改合作经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/hzjy/hzjyModify'], resolve)
},
{
path: '/hzjyDetails',
name: 'hzjyDetails',
meta: {
title: '合作经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/hzjy/hzjyDetails'], resolve)
},
{
path: '/zzlyList',
name: 'zzlyList',
meta: {
title: '整治利用列表',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzly/zzlyList'], resolve)
},
{
path: '/zzlyAdd',
name: 'zzlyAdd',
meta: {
title: '添加整治利用',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzly/zzlyAdd'], resolve)
},
{
path: '/zzlyModify',
name: 'zzlyModify',
meta: {
title: '修改整治利用',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzly/zzlyModify'], resolve)
},
{
path: '/zzlyDetails',
name: 'zzlyDetails',
meta: {
title: '整治利用',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzly/zzlyDetails'], resolve)
},
{
path: '/task',
name: 'task',


+ 479
- 0
src/views/onlineHome/phfs/czjy/czjyAdd.vue Voir le fichier

@@ -0,0 +1,479 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加出租经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="出租开始时间"
placeholder="选择出租开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="出租结束时间"
placeholder="选择出租结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showjsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmJsrq"
@cancel="showjsrq = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-field v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="经营方证件号" placeholder="请输入经营方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,queryGeoZjdzd } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "czjyAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{phfs:"02"},
mapShow: false,
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmZjddm(data){
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
queryGeoZjdzd({zjddm:data}).then(zjdxxRes => {
if(zjdxxRes.data != null){
this.$set(this.circulation, "zjdmj", zjdxxRes.data.zdmj);
}
});
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("czjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("czjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 450
- 0
src/views/onlineHome/phfs/czjy/czjyDetails.vue Voir le fichier

@@ -0,0 +1,450 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">出租经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
readonly
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">查看地图</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zcfxb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group disabled v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.qsrq"
label="出租开始时间"
placeholder="选择出租开始时间"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.jsrq"
label="出租结束时间"
placeholder="选择出租结束时间"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field readonly v-model="circulation.zrfzjhm" label="证件号码" placeholder="请输入证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field readonly v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisLyDrawing ref="zjdProductResh" :message="circulation.zjddm" @closeMoule="closeMoule"></MapGisLyDrawing>
</van-dialog>

</div>
</van-form>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisLyDrawing from "@/components/Map/MapGisLyDrawing";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisLyDrawing,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id: null},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
//性别
this.houseGetDicts("sex").then((res) => {
this.circulation.zcfxb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 160
- 0
src/views/onlineHome/phfs/czjy/czjyList.vue Voir le fichier

@@ -0,0 +1,160 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">出租经营</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" center :to="{name:'czjyDetails', query: {id:item.id}}" >
<template #icon>
<div class="icon" style="background:#FFA63E;width: 45px;">
<van-icon name="../../../../static/images/onlineHome/icon_czjy.png" size="30" color="#666666" style="margin-left: 3px;margin-top: 3px;" />
</div>
</template>
<template #label>
<p>{{item.zcfmc}}{{item.zcfdh}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" :to="{name:'czjyModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>

</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList,delPhxxb } from "@/api/onlineHome/phfs/phfs";
import {getGeoServerConfigKey} from "@/api/system/config";
export default {
name: "paidUtilizeList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
sexStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
phfs:"02",
orderByColumn:'id',
isAsc:'desc'
},
//地图服务地址
mapGeoServerUrl:"",
};
},
created() {
this.houseGetDicts("sex").then((res) => {
this.sexStatus = res.data;
});

},
methods: {
goAdd(){
window.location = 'czjyAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].zcfxb = this.selectDictLabel(this.sexStatus, response.rows[i].zcfxb)
this.applicationList.push(response.rows[i]);
console.log(this.applicationList);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delPhxxb(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 501
- 0
src/views/onlineHome/phfs/czjy/czjyModify.vue Voir le fichier

@@ -0,0 +1,501 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改出租经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="出租开始时间"
placeholder="选择出租开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="出租结束时间"
placeholder="选择出租结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="证件号码" placeholder="请输入证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{},
mapShow: false,
};
},
created() {
this.getDetail();
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
this.houseGetDicts("sex").then((res) => {
this.xb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("czjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("czjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 479
- 0
src/views/onlineHome/phfs/hzjy/hzjyAdd.vue Voir le fichier

@@ -0,0 +1,479 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加合作经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="合作开始时间"
placeholder="选择合作开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="合作结束时间"
placeholder="选择合作结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showjsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmJsrq"
@cancel="showjsrq = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-field v-model="circulation.zrfmc" label="合作方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="合作方证件号" placeholder="请输入经营方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="合作方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,queryGeoZjdzd } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "czjyAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{phfs:"04"},
mapShow: false,
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmZjddm(data){
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
queryGeoZjdzd({zjddm:data}).then(zjdxxRes => {
if(zjdxxRes.data != null){
this.$set(this.circulation, "zjdmj", zjdxxRes.data.zdmj);
}
});
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("hzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("hzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 450
- 0
src/views/onlineHome/phfs/hzjy/hzjyDetails.vue Voir le fichier

@@ -0,0 +1,450 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">合作经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
readonly
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">查看地图</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zcfxb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group disabled v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.qsrq"
label="合作开始时间"
placeholder="选择合作开始时间"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.jsrq"
label="合作结束时间"
placeholder="选择合作结束时间"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zrfmc" label="合作方姓名" placeholder="请输入合作方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field readonly v-model="circulation.zrfzjhm" label="合作方证件号" placeholder="请输入合作方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field readonly v-model="circulation.zrfdh" label="合作方电话" placeholder="请输入合作方电话" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisLyDrawing ref="zjdProductResh" :message="circulation.zjddm" @closeMoule="closeMoule"></MapGisLyDrawing>
</van-dialog>

</div>
</van-form>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisLyDrawing from "@/components/Map/MapGisLyDrawing";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisLyDrawing,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id: null},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
//性别
this.houseGetDicts("sex").then((res) => {
this.circulation.zcfxb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 160
- 0
src/views/onlineHome/phfs/hzjy/hzjyList.vue Voir le fichier

@@ -0,0 +1,160 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">合作经营</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" center :to="{name:'hzjyDetails', query: {id:item.id}}" >
<template #icon>
<div class="icon" style="background:#FFA63E;width: 45px;">
<van-icon name="../../../../static/images/onlineHome/icon_hzjy.png" size="30" color="#3AC2DB" style="margin-left: 3px;margin-top: 3px;" />
</div>
</template>
<template #label>
<p>{{item.zcfmc}}{{item.zcfdh}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" :to="{name:'hzjyModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>

</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList,delPhxxb } from "@/api/onlineHome/phfs/phfs";
import {getGeoServerConfigKey} from "@/api/system/config";
export default {
name: "paidUtilizeList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
sexStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
phfs:"04",
orderByColumn:'id',
isAsc:'desc'
},
//地图服务地址
mapGeoServerUrl:"",
};
},
created() {
this.houseGetDicts("sex").then((res) => {
this.sexStatus = res.data;
});

},
methods: {
goAdd(){
window.location = 'hzjyAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].zcfxb = this.selectDictLabel(this.sexStatus, response.rows[i].zcfxb)
this.applicationList.push(response.rows[i]);
console.log(this.applicationList);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delPhxxb(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 501
- 0
src/views/onlineHome/phfs/hzjy/hzjyModify.vue Voir le fichier

@@ -0,0 +1,501 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改合作经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="合作开始时间"
placeholder="选择合作开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="合作结束时间"
placeholder="选择合作结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field v-model="circulation.zrfmc" label="合作方姓名" placeholder="请输入合作方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="合作方证件号" placeholder="请输入合作方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="合作方电话" placeholder="请输入合作方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{},
mapShow: false,
};
},
created() {
this.getDetail();
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
this.houseGetDicts("sex").then((res) => {
this.xb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("hzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("hzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 479
- 0
src/views/onlineHome/phfs/rgjy/rgjyAdd.vue Voir le fichier

@@ -0,0 +1,479 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加入股经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="入股开始时间"
placeholder="选择入股开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="入股结束时间"
placeholder="选择入股结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showjsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmJsrq"
@cancel="showjsrq = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-field v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="经营方证件号" placeholder="请输入经营方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,queryGeoZjdzd } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "czjyAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{phfs:"03"},
mapShow: false,
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmZjddm(data){
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
queryGeoZjdzd({zjddm:data}).then(zjdxxRes => {
if(zjdxxRes.data != null){
this.$set(this.circulation, "zjdmj", zjdxxRes.data.zdmj);
}
});
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("rgjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("rgjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 450
- 0
src/views/onlineHome/phfs/rgjy/rgjyDetails.vue Voir le fichier

@@ -0,0 +1,450 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">入股经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
readonly
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">查看地图</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zcfxb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group disabled v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.qsrq"
label="入股开始时间"
placeholder="选择入股开始时间"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.jsrq"
label="入股结束时间"
placeholder="选择入股结束时间"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field readonly v-model="circulation.zrfzjhm" label="经营方证件号" placeholder="请输入经营方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field readonly v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisLyDrawing ref="zjdProductResh" :message="circulation.zjddm" @closeMoule="closeMoule"></MapGisLyDrawing>
</van-dialog>

</div>
</van-form>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisLyDrawing from "@/components/Map/MapGisLyDrawing";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisLyDrawing,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id: null},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
//性别
this.houseGetDicts("sex").then((res) => {
this.circulation.zcfxb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 160
- 0
src/views/onlineHome/phfs/rgjy/rgjyList.vue Voir le fichier

@@ -0,0 +1,160 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">入股经营</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" center :to="{name:'rgjyDetails', query: {id:item.id}}" >
<template #icon>
<div class="icon" style="background:#FFA63E;width: 45px;">
<van-icon name="../../../../static/images/onlineHome/icon_rgjy.png" size="30" color="#7790FE" style="margin-left: 3px;margin-top: 3px;" />
</div>
</template>
<template #label>
<p>{{item.zcfmc}}{{item.zcfdh}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" :to="{name:'rgjyModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>

</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList,delPhxxb } from "@/api/onlineHome/phfs/phfs";
import {getGeoServerConfigKey} from "@/api/system/config";
export default {
name: "paidUtilizeList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
sexStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
phfs:"03",
orderByColumn:'id',
isAsc:'desc'
},
//地图服务地址
mapGeoServerUrl:"",
};
},
created() {
this.houseGetDicts("sex").then((res) => {
this.sexStatus = res.data;
});

},
methods: {
goAdd(){
window.location = 'rgjyAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].zcfxb = this.selectDictLabel(this.sexStatus, response.rows[i].zcfxb)
this.applicationList.push(response.rows[i]);
console.log(this.applicationList);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delPhxxb(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 501
- 0
src/views/onlineHome/phfs/rgjy/rgjyModify.vue Voir le fichier

@@ -0,0 +1,501 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改入股经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="入股开始时间"
placeholder="选择入股开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="入股结束时间"
placeholder="选择入股结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="经营方证件号" placeholder="请输入经营方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{},
mapShow: false,
};
},
created() {
this.getDetail();
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
this.houseGetDicts("sex").then((res) => {
this.xb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("rgjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("rgjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 142
- 108
src/views/onlineHome/phfs/zzjy/zzjyAdd.vue Voir le fichier

@@ -44,7 +44,7 @@
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" @closeMoule="closeMoule" type="primary">选择宅基地</van-button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
@@ -55,91 +55,59 @@
@cancel="showzjddm = false"
/>
</van-popup>
<!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto"/>-->
<!-- <van-field-->
<!-- readonly-->
<!-- clickable-->
<!-- v-model="zjlx"-->
<!-- label="申请人证件类型"-->
<!-- placeholder="请选择"-->
<!-- @click="showzjlx = true"-->
<!-- input-align="right"-->
<!-- right-icon="arrow-down"-->
<!-- label-width="auto" :rules="[{ required: true }]" required-->
<!-- />-->
<!-- <van-popup v-model="showzjlx" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- :columns="zjlxDictionaries"-->
<!-- @confirm="onConfirmZjlx"-->
<!-- @cancel="showzjlx = false"-->
<!-- />-->
<!-- </van-popup>-->
<!-- <van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>-->
<!-- <van-field v-model="circulation.ycsyfs" label="有偿使用方式" placeholder="有偿使用方式" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>-->


<!-- <van-cell title="是否一户多宅">-->
<!-- <template #right-icon>-->
<!--&lt;!&ndash; @change="designPaperChange"&ndash;&gt;-->
<!-- <van-radio-group v-model="circulation.sfyhdz" direction="horizontal">-->
<!-- <van-radio name="Y">是</van-radio>-->
<!-- <van-radio name="N">否</van-radio >-->
<!-- </van-radio-group>-->
<!-- </template>-->
<!-- </van-cell>-->
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<!-- <van-field-->
<!-- readonly-->
<!-- clickable-->
<!-- name="picker"-->
<!-- v-model="circulation.ycsykssj"-->
<!-- label="有偿使用开始时间"-->
<!-- placeholder="选择开始时间"-->
<!-- @click="showycsykssj = true"-->
<!-- input-align="right"-->
<!-- right-icon="arrow-down"-->
<!-- label-width="auto" :rules="[{ required: true }]" required-->
<!-- />-->
<!-- <van-popup v-model="showycsykssj" position="bottom">-->
<!-- <van-datetime-picker-->
<!-- :value="new Date"-->
<!-- type="date"-->
<!-- title="选择年月日"-->
<!-- @confirm="onConfirmYcsykssj"-->
<!-- @cancel="showycsykssj = false"-->
<!-- />-->
<!-- </van-popup>-->
<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<!-- <van-field-->
<!-- readonly-->
<!-- clickable-->
<!-- name="picker"-->
<!-- v-model="circulation.ycsydqsj"-->
<!-- label="有偿使用到期时间"-->
<!-- placeholder="选择到期时间"-->
<!-- @click="showycsydqsj = true"-->
<!-- input-align="right"-->
<!-- right-icon="arrow-down"-->
<!-- label-width="auto" :rules="[{ required: true }]" required-->
<!-- />-->
<!-- <van-popup v-model="showycsydqsj" position="bottom">-->
<!-- <van-datetime-picker-->
<!-- :value="new Date"-->
<!-- type="date"-->
<!-- title="选择年月日"-->
<!-- @confirm="onConfirmYcsydqsj"-->
<!-- @cancel="showycsydqsj = false"-->
<!-- />-->
<!-- </van-popup>-->
<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc"></MapGisObtain>
</van-dialog>
<!-- <van-field v-model="circulation.ycsymj" label="有偿使用面积(㎡)" placeholder="请输入有偿使用面积㎡" input-align="right" label-width="auto" type="number"/>-->
<!-- <van-field v-model="circulation.ycsymjdj" label="有偿使用面积单价(元)" placeholder="请输入有偿使用面积单价" input-align="right" label-width="auto" type="number"/>-->
<!-- <van-field v-model="circulation.ycsyfy" label="有偿使用费用(元)" placeholder="请输入有偿使用费用" input-align="right" label-width="auto" type="number"/>-->
<!-- <van-field v-model="circulation.fkfs" label="付款方式" placeholder="请输入付款方式" input-align="right" label-width="auto"/>-->
<!-- <van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/>-->
<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>
@@ -160,6 +128,7 @@

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,queryGeoZjdzd } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
@@ -197,7 +166,7 @@
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
zjlxDictionaries:[],//申请人证件类型
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
@@ -206,21 +175,21 @@
tcqllx:'',
tclx:'',
tcfs:'',
zjlx:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showzjlx: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showycsykssj: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{},
circulation:{phfs:"01"},
mapShow: false,
};
},
@@ -247,10 +216,10 @@
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//申请人证件类型
this.houseGetDicts("zjlx").then((res) => {
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.zjlxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
@@ -272,15 +241,59 @@
}
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmZjlx(data){
this.zjlx = data.text;
this.circulation.sqrzjlx = data.value;
this.showzjlx = false;
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
@@ -306,9 +319,9 @@
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmYcsykssj(data){
this.circulation.ycsykssj = this.getNowFormatDate(data).substr(0,10);
this.showycsykssj = false;
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
@@ -325,7 +338,12 @@
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
console.info(data);
this.circulation.zjddm = data;
queryGeoZjdzd({zjddm:data}).then(zjdxxRes => {
if(zjdxxRes.data != null){
this.$set(this.circulation, "zjdmj", zjdxxRes.data.zdmj);
}
});
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
@@ -349,7 +367,8 @@
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
@@ -363,23 +382,38 @@
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
ycsyAdd(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('新增成功');
setTimeout(function(){
window.location.replace("paidUtilizeList")
},1000)
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
});
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});


+ 432
- 0
src/views/onlineHome/phfs/zzjy/zzjyDetails.vue Voir le fichier

@@ -0,0 +1,432 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">自主经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
readonly
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">查看地图</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zcfxb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group disabled v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
input-align="right"
label-width="auto"
/>

<van-field readonly v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisLyDrawing ref="zjdProductResh" :message="circulation.zjddm" @closeMoule="closeMoule"></MapGisLyDrawing>
</van-dialog>

</div>
</van-form>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisLyDrawing from "@/components/Map/MapGisLyDrawing";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisLyDrawing,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id: null},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
//性别
this.houseGetDicts("sex").then((res) => {
this.circulation.zcfxb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 15
- 17
src/views/onlineHome/phfs/zzjy/zzjyList.vue Voir le fichier

@@ -21,7 +21,7 @@
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" center :to="{name:'paidUtilizeDteail', query: {id:item.id}}" >
<van-cell :title="item.zjddm" center :to="{name:'zzjyDetails', query: {id:item.id}}" >
<template #icon>
<div class="icon" style="background:#FFA63E;width: 45px;">
<van-icon name="../../../../static/images/onlineHome/icon_zzjy.png" size="30" color="#539FFD" style="margin-left: 3px;margin-top: 3px;" />
@@ -31,26 +31,24 @@
<p>{{item.zcfmc}}{{item.zcfdh}}</p>
</template>
</van-cell>
<!-- <template #right>-->
<!-- <van-row>-->
<!-- <van-col>-->
<!-- <van-button color="#7DDA4F" v-if="item.auditStatus=='草稿'" square text="提交" @click="goSubmit(item.id,index)" type="primary" class="delete-button" />-->
<!-- </van-col>-->
<!-- <van-col>-->
<!-- <van-button square text="修改" v-if="item.auditStatus=='草稿'" :to="{name:'paidUtilizeModify', query: {id:item.id}}" type="info" class="delete-button" />-->
<!-- </van-col>-->
<!-- <van-col>-->
<!-- <van-button square text="删除" v-if="item.auditStatus=='草稿'" @click="deleteList(item.id,index)" type="danger" class="delete-button" />-->
<!-- </van-col>-->
<!-- </van-row>-->
<!-- </template>-->
<template #right>
<van-row>
<van-col>
<van-button square text="修改" :to="{name:'zzjyModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>

</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList } from "@/api/onlineHome/phfs/phfs";
import { getList,delPhxxb } from "@/api/onlineHome/phfs/phfs";
import {getGeoServerConfigKey} from "@/api/system/config";
export default {
name: "paidUtilizeList",
@@ -67,6 +65,7 @@
queryParams:{
pageNum:1,
pageSize:10,
phfs:"01",
orderByColumn:'id',
isAsc:'desc'
},
@@ -87,7 +86,6 @@
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].zcfxb = this.selectDictLabel(this.sexStatus, response.rows[i].zcfxb)
this.applicationList.push(response.rows[i]);
@@ -110,7 +108,7 @@
.then(() => {
// on confirm
this.applicationList.splice(index,1)
removeList(id).then(res => {
delPhxxb(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}


+ 456
- 0
src/views/onlineHome/phfs/zzjy/zzjyModify.vue Voir le fichier

@@ -0,0 +1,456 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改自主经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id:null,phfs:"01"},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
this.houseGetDicts("sex").then((res) => {
this.xb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 450
- 0
src/views/onlineHome/phfs/zzly/zzlyAdd.vue Voir le fichier

@@ -0,0 +1,450 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加整治利用</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,queryGeoZjdzd } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{phfs:"05"},
mapShow: false,
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
queryGeoZjdzd({zjddm:data}).then(zjdxxRes => {
if(zjdxxRes.data != null){
this.$set(this.circulation, "zjdmj", zjdxxRes.data.zdmj);
}
});
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzlyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzlyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 432
- 0
src/views/onlineHome/phfs/zzly/zzlyDetails.vue Voir le fichier

@@ -0,0 +1,432 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">整治利用</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
readonly
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">查看地图</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zcfxb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group disabled v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
input-align="right"
label-width="auto"
/>

<van-field readonly v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisLyDrawing ref="zjdProductResh" :message="circulation.zjddm" @closeMoule="closeMoule"></MapGisLyDrawing>
</van-dialog>

</div>
</van-form>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisLyDrawing from "@/components/Map/MapGisLyDrawing";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisLyDrawing,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id: null},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
//性别
this.houseGetDicts("sex").then((res) => {
this.circulation.zcfxb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 179
- 0
src/views/onlineHome/phfs/zzly/zzlyList.vue Voir le fichier

@@ -0,0 +1,179 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">整治利用</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" center :to="{name:'zzlyDetails', query: {id:item.id}}" >
<template #icon>
<div class="icon" style="background:#FFA63E;width: 45px;">
<van-icon name="../../../../static/images/onlineHome/icon_zzly.png" size="30" color="#FF6446" style="margin-left: 3px;margin-top: 3px;" />
</div>
</template>
<template #label>
<p>{{item.zcfmc}}{{item.zcfdh}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" :to="{name:'zzlyModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>

</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList,delPhxxb } from "@/api/onlineHome/phfs/phfs";
import {getGeoServerConfigKey} from "@/api/system/config";
export default {
name: "paidUtilizeList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
sexStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
phfs:"05",
orderByColumn:'id',
isAsc:'desc'
},
//地图服务地址
mapGeoServerUrl:"",
};
},
created() {
this.houseGetDicts("sex").then((res) => {
this.sexStatus = res.data;
});

},
methods: {
goAdd(){
window.location = 'zzlyAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].zcfxb = this.selectDictLabel(this.sexStatus, response.rows[i].zcfxb)
this.applicationList.push(response.rows[i]);
console.log(this.applicationList);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delPhxxb(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
goSubmit(id,index){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
// on confirm
submitApply(id).then(res => {
if(res.code = 200){
this.$toast.success('提交成功!');
setTimeout(function(){
history.go(0)
},2000)
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 455
- 0
src/views/onlineHome/phfs/zzly/zzlyModify.vue Voir le fichier

@@ -0,0 +1,455 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改整治利用</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{},
mapShow: false,
};
},
created() {
this.getDetail();
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
this.houseGetDicts("sex").then((res) => {
this.xb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzlyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzlyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}

</style>

+ 12
- 4
src/views/onlineHome/workbench.vue Voir le fichier

@@ -538,7 +538,7 @@
</div>
<p style="margin-top: 5px;color: #666666;">自主经营</p>
</van-grid-item>
<van-grid-item text="出租经营" @click="applicationList('utilization')">
<van-grid-item text="出租经营" @click="applicationList('czjyList')">
<div slot="default">
<div class="icon" style="background:#7dda4f;">
<img src="../../../static/images/onlineHome/icon_czjy.png" alt />
@@ -546,7 +546,7 @@
</div>
<p style="margin-top: 5px;color: #666666;">出租经营</p>
</van-grid-item>
<van-grid-item text="入股经营" @click="applicationList('homesteadUtilize')">
<van-grid-item text="入股经营" @click="applicationList('rgjyList')">
<div slot="default">
<div class="icon" style="background:#7790FE;">
<img src="../../../static/images/onlineHome/icon_rgjy.png" alt />
@@ -554,7 +554,7 @@
</div>
<p style="margin-top: 5px;color: #666666;">入股经营</p>
</van-grid-item>
<van-grid-item text="合作经营" @click="applicationList('homesteadUtilize')">
<van-grid-item text="合作经营" @click="applicationList('hzjyList')">
<div slot="default">
<div class="icon" style="background:#3AC2DB;">
<img src="../../../static/images/onlineHome/icon_hzjy.png" alt />
@@ -562,7 +562,7 @@
</div>
<p style="margin-top: 5px;color: #666666;">合作经营</p>
</van-grid-item>
<van-grid-item text="整治利用" @click="applicationList('homesteadUtilize')">
<van-grid-item text="整治利用" @click="applicationList('zzlyList')">
<div slot="default">
<div class="icon" style="background:#FF6446;">
<img src="../../../static/images/onlineHome/icon_zzly.png" alt />
@@ -710,6 +710,14 @@
this.$router.push({ path: "/paidUtilizeList" });
}else if (data == 'zzjyList') {
this.$router.push({ path: "/zzjyList" });
}else if (data == 'czjyList') {
this.$router.push({ path: "/czjyList" });
}else if (data == 'rgjyList') {
this.$router.push({ path: "/rgjyList" });
}else if (data == 'hzjyList') {
this.$router.push({ path: "/hzjyList" });
}else if (data == 'zzlyList') {
this.$router.push({ path: "/zzlyList" });
}
} else {
this.$dialog.alert({


Chargement…
Annuler
Enregistrer