Compare commits

...

2 Commits

Author SHA1 Message Date
vayne d88db60ec5 Merge branch 'master' of http://222.71.165.188:3000/yangshiqiang/NX-zhihui
3 months ago
vayne f17e1d3487 园区管理和区域修改
3 months ago

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="jnpf.mapper.AreaMapper">
<select id="queryAreaList" resultType="jnpf.entity.AreaEntity">
SELECT
a.id,
a.code,
a.name,
a.pid,
a.description,
a.type,
a.space_num as spaceNum,
a.space_area as spaceArea,
a.space_type as spaceType,
a.state,
a.unit_price as unitPrice,
a.lease_start_time as leaseStartTime,
a.lease_end_ime as leaseEndIme,
a.sort,
a.remark,
a.f_creator_time as createTime,
a.f_creator_user_id as creatorUserId,
a.f_last_modify_time as laseModifyTime,
a.f_last_modify_user_id as lastModifyUserId,
a.f_delete_time as deleteTime,
a.f_delete_user_id as deleteUserId,
a.f_delete_mark as deleteMark,
a.f_tenant_id as tenantId,
a.company_id as companyId,
a.department_id as departmentId,
a.organize_json_id as organizeJsonId,
a.f_version as version,
a.f_flow_id as flowId,
b.name as parkName
FROM
yq_park_area_space a
LEFT JOIN yq_park_area_space b on a.pid = b.id and b.f_delete_mark is null
${ew.customSqlSegment}
<if test="areaPagination.sidx != null and areaPagination.sidx != ''">
ORDER BY ${areaPagination.sidx} ${areaPagination.sort}
</if>
</select>
</mapper>

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="jnpf.mapper.RegionalMapper">
</mapper>

@ -1,8 +1,15 @@
package jnpf.mapper; package jnpf.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.entity.AreaEntity; import jnpf.entity.AreaEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.model.area.AreaPagination;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* area * area
@ -13,4 +20,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface AreaMapper extends BaseMapper<AreaEntity> { public interface AreaMapper extends BaseMapper<AreaEntity> {
IPage<AreaEntity> queryAreaList(@Param("page") Page<AreaEntity> page, @Param("areaPagination") AreaPagination areaPagination, @Param("ew") QueryWrapper<AreaEntity> areaQueryWrapper);
} }

@ -18,6 +18,7 @@ import java.util.regex.Pattern;
import jnpf.model.QueryModel; import jnpf.model.QueryModel;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import jnpf.base.model.ColumnDataModel; import jnpf.base.model.ColumnDataModel;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import jnpf.database.model.superQuery.SuperJsonModel; import jnpf.database.model.superQuery.SuperJsonModel;
@ -30,6 +31,9 @@ import jnpf.util.*;
import java.util.*; import java.util.*;
import jnpf.base.UserInfo; import jnpf.base.UserInfo;
import jnpf.permission.entity.UserEntity; import jnpf.permission.entity.UserEntity;
import javax.annotation.Resource;
/** /**
* *
* area * area
@ -45,6 +49,8 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, AreaEntity> impleme
@Autowired @Autowired
private UserProvider userProvider; private UserProvider userProvider;
@Resource
private AreaMapper areaMapper;
@Override @Override
public List<AreaEntity> getList(AreaPagination areaPagination){ public List<AreaEntity> getList(AreaPagination areaPagination){
@ -150,20 +156,38 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, AreaEntity> impleme
String value = areaPagination.getName() instanceof List ? String value = areaPagination.getName() instanceof List ?
JsonUtil.getObjectToString(areaPagination.getName()) : JsonUtil.getObjectToString(areaPagination.getName()) :
String.valueOf(areaPagination.getName()); String.valueOf(areaPagination.getName());
areaQueryWrapper.lambda().like(AreaEntity::getName,value); areaQueryWrapper.like("a.name",value);
} }
if(ObjectUtil.isNotEmpty(areaPagination.getPid())){ if (StringUtils.isNotEmpty(areaPagination.getType())){
areaNum++; if (areaPagination.getType().equals("1")){
if(ObjectUtil.isNotEmpty(areaPagination.getPid())){
areaNum++;
String value = areaPagination.getPid() instanceof List ? String value = areaPagination.getPid() instanceof List ?
JsonUtil.getObjectToString(areaPagination.getPid()) : JsonUtil.getObjectToString(areaPagination.getPid()) :
String.valueOf(areaPagination.getPid()); String.valueOf(areaPagination.getPid());
areaQueryWrapper.lambda().like(AreaEntity::getPid,value); areaQueryWrapper.eq("a.pid",value);
}
}else if (areaPagination.getType().equals("2")){
if(ObjectUtil.isNotEmpty(areaPagination.getPid())){
areaNum++;
String value = areaPagination.getPid() instanceof List ?
JsonUtil.getObjectToString(areaPagination.getPid()) :
String.valueOf(areaPagination.getPid());
areaQueryWrapper.eq("a.id",value);
}
}
}else {
areaNum++;
areaQueryWrapper.eq("a.type","2");
} }
} }
if(!isPc){ if(!isPc){
if(ObjectUtil.isNotEmpty(areaPagination.getPid())){ if(ObjectUtil.isNotEmpty(areaPagination.getPid())){
@ -182,7 +206,7 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, AreaEntity> impleme
if (intersection.size()==0){ if (intersection.size()==0){
intersection.add("jnpfNullList"); intersection.add("jnpfNullList");
} }
areaQueryWrapper.lambda().in(AreaEntity::getId, intersection); areaQueryWrapper.in("a.id", intersection);
} }
//是否有高级查询 //是否有高级查询
if (StringUtil.isNotEmpty(superOp)){ if (StringUtil.isNotEmpty(superOp)){
@ -190,7 +214,7 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, AreaEntity> impleme
allSuperIDlist.add("jnpfNullList"); allSuperIDlist.add("jnpfNullList");
} }
List<String> finalAllSuperIDlist = allSuperIDlist; List<String> finalAllSuperIDlist = allSuperIDlist;
areaQueryWrapper.lambda().and(t->t.in(AreaEntity::getId, finalAllSuperIDlist)); areaQueryWrapper.and(t->t.in("a.id", finalAllSuperIDlist));
} }
//是否有数据过滤查询 //是否有数据过滤查询
if (StringUtil.isNotEmpty(ruleOp)){ if (StringUtil.isNotEmpty(ruleOp)){
@ -198,14 +222,14 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, AreaEntity> impleme
allRuleIDlist.add("jnpfNullList"); allRuleIDlist.add("jnpfNullList");
} }
List<String> finalAllRuleIDlist = allRuleIDlist; List<String> finalAllRuleIDlist = allRuleIDlist;
areaQueryWrapper.lambda().and(t->t.in(AreaEntity::getId, finalAllRuleIDlist)); areaQueryWrapper.and(t->t.in("a.id", finalAllRuleIDlist));
} }
//假删除标志 //假删除标志
areaQueryWrapper.lambda().isNull(AreaEntity::getDeleteMark); areaQueryWrapper.isNull("a.f_delete_mark");
//排序 //排序
if(StringUtil.isEmpty(areaPagination.getSidx())){ if(StringUtil.isEmpty(areaPagination.getSidx())){
areaQueryWrapper.lambda().orderByDesc(AreaEntity::getId); areaQueryWrapper.orderByDesc("a.id");
}else{ }else{
try { try {
String sidx = areaPagination.getSidx(); String sidx = areaPagination.getSidx();
@ -214,7 +238,8 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, AreaEntity> impleme
Field declaredField = areaEntity.getClass().getDeclaredField(strs[0]); Field declaredField = areaEntity.getClass().getDeclaredField(strs[0]);
declaredField.setAccessible(true); declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value(); String value = declaredField.getAnnotation(TableField.class).value();
areaQueryWrapper="asc".equals(areaPagination.getSort().toLowerCase())?areaQueryWrapper.orderByAsc(value):areaQueryWrapper.orderByDesc(value); // areaQueryWrapper="asc".equals(areaPagination.getSort().toLowerCase())?areaQueryWrapper.orderByAsc(value):areaQueryWrapper.orderByDesc(value);
areaPagination.setSidx("a."+value);
} catch (NoSuchFieldException e) { } catch (NoSuchFieldException e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -223,7 +248,7 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, AreaEntity> impleme
if("0".equals(dataType)){ if("0".equals(dataType)){
if((total>0 && AllIdList.size()>0) || total==0){ if((total>0 && AllIdList.size()>0) || total==0){
Page<AreaEntity> page=new Page<>(areaPagination.getCurrentPage(), areaPagination.getPageSize()); Page<AreaEntity> page=new Page<>(areaPagination.getCurrentPage(), areaPagination.getPageSize());
IPage<AreaEntity> userIPage=this.page(page, areaQueryWrapper); IPage<AreaEntity> userIPage=areaMapper.queryAreaList(page,areaPagination, areaQueryWrapper);
return areaPagination.setData(userIPage.getRecords(),userIPage.getTotal()); return areaPagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{ }else{
List<AreaEntity> list = new ArrayList(); List<AreaEntity> list = new ArrayList();

@ -3,6 +3,17 @@ package jnpf.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import java.util.regex.Pattern;
import jnpf.model.QueryModel;
import java.util.stream.Collectors;
import jnpf.base.model.ColumnDataModel;
import me.zhyd.oauth.utils.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jnpf.database.model.superQuery.SuperJsonModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -159,8 +170,12 @@ public class ParkServiceImpl extends ServiceImpl<ParkMapper, ParkEntity> impleme
String.valueOf(parkPagination.getName()); String.valueOf(parkPagination.getName());
parkQueryWrapper.lambda().like(ParkEntity::getName, value); parkQueryWrapper.lambda().like(ParkEntity::getName, value);
}
}
if (StringUtils.isNotEmpty(parkPagination.getType())) {
parkNum++;
parkQueryWrapper.lambda().eq(ParkEntity::getType, parkPagination.getType());
}
} }
List<String> intersection = generaterSwapUtil.getIntersection(intersectionList); List<String> intersection = generaterSwapUtil.getIntersection(intersectionList);
if (total > 0) { if (total > 0) {

@ -89,7 +89,7 @@ public class AreaRenameController {
realList.add(areaMap); realList.add(areaMap);
} }
//数据转换 //数据转换
realList = generaterSwapUtil.swapDataList(realList, AreaConstant.getFormData(), AreaConstant.getColumnData(), areaPagination.getModuleId(),false); // realList = generaterSwapUtil.swapDataList(realList, AreaConstant.getFormData(), AreaConstant.getColumnData(), areaPagination.getModuleId(),false);
//返回对象 //返回对象
PageListVO vo = new PageListVO(); PageListVO vo = new PageListVO();

@ -73,4 +73,7 @@ public class AreaEntity {
private Integer version; private Integer version;
@TableField("F_FLOW_ID") @TableField("F_FLOW_ID")
private String flowId; private String flowId;
@TableField(exist = false)
private String parkName;
} }

@ -33,4 +33,7 @@ public class AreaPagination extends Pagination {
/** tree */ /** tree */
@JsonProperty("pid") @JsonProperty("pid")
private Object pid; private Object pid;
/** type */
@JsonProperty("type")
private String type;
} }

@ -30,4 +30,7 @@ public class ParkPagination extends Pagination {
/** 园区名称 */ /** 园区名称 */
@JsonProperty("name") @JsonProperty("name")
private Object name; private Object name;
/** 类型 */
@JsonProperty("type")
private String type;
} }

@ -1,135 +1,132 @@
<template> <template>
<transition name="el-zoom-in-center"> <el-dialog
<div class="JNPF-preview-main"> title="详情"
<Detail v-if="detailVisible" ref="Detail" @close="detailVisible = false" /> :close-on-click-modal="false"
<div class="JNPF-common-page-header"> append-to-body
<el-page-header @back="goBack" :visible.sync="visible"
content="详情"/> class="JNPF-dialog JNPF-dialog_center"
<div class="options"> lock-scroll
<el-button @click="goBack"> </el-button> width="1000px"
</div> >
</div> <el-row :gutter="15" class="">
<el-row :gutter="15" class=" main" :style="{margin: '0 auto',width: '100%'}"> <el-form
<el-form ref="formRef" :model="dataForm" size="small" label-width="100px" label-position="right" > ref="formRef"
<template v-if="!loading"> :model="dataForm"
<el-col :span="24" > size="small"
<jnpf-form-tip-item label="园区名称" label-width="100px"
prop="pid" > label-position="right"
<p>{{dataForm.pid}}</p> >
</jnpf-form-tip-item> <template v-if="!loading">
</el-col> <el-col :span="24">
<el-col :span="12" > <jnpf-form-tip-item label="园区名称" prop="pid">
<jnpf-form-tip-item label="区域编码" <p>{{ dataForm.pid }}</p>
prop="code" > </jnpf-form-tip-item>
<p>{{dataForm.code}}</p> </el-col>
</jnpf-form-tip-item> <el-col :span="12">
</el-col> <jnpf-form-tip-item label="区域编码" prop="code">
<el-col :span="12" > <p>{{ dataForm.code }}</p>
<jnpf-form-tip-item label="空间数量" </jnpf-form-tip-item>
prop="spaceNum" > </el-col>
<JnpfNumber v-model="dataForm.spaceNum" <el-col :span="12">
placeholder="数字文本" disabled <jnpf-form-tip-item label="空间数量" prop="spaceNum">
:step="1" > <JnpfNumber
</JnpfNumber> v-model="dataForm.spaceNum"
</jnpf-form-tip-item> placeholder="数字文本"
</el-col> disabled
<el-col :span="12" > :step="1"
<jnpf-form-tip-item label="区域名称" >
prop="name" > </JnpfNumber>
<p>{{dataForm.name}}</p> </jnpf-form-tip-item>
</jnpf-form-tip-item> </el-col>
</el-col> <el-col :span="12">
<el-col :span="24" > <jnpf-form-tip-item label="区域名称" prop="name">
<jnpf-form-tip-item label="区域描述" <p>{{ dataForm.name }}</p>
prop="description" > </jnpf-form-tip-item>
<p>{{dataForm.description}}</p> </el-col>
</jnpf-form-tip-item> <el-col :span="24">
</el-col> <jnpf-form-tip-item label="区域描述" prop="description">
<el-col :span="24" > <p>{{ dataForm.description }}</p>
<jnpf-form-tip-item label="备注" </jnpf-form-tip-item>
prop="remark" > </el-col>
<p>{{dataForm.remark}}</p> <el-col :span="24">
</jnpf-form-tip-item> <jnpf-form-tip-item label="备注" prop="remark">
</el-col> <p>{{ dataForm.remark }}</p>
</template> </jnpf-form-tip-item>
</el-form> </el-col>
</template>
</el-form>
</el-row> </el-row>
</div> <span slot="footer" class="dialog-footer">
</transition> <el-button @click="visible = false"> </el-button>
</span>
<Detail v-if="detailVisible" ref="Detail" @close="detailVisible = false" />
</el-dialog>
</template> </template>
<script> <script>
import request from '@/utils/request' import request from "@/utils/request";
import { getConfigData } from '@/api/onlineDev/visualDev' import { getConfigData } from "@/api/onlineDev/visualDev";
import jnpf from '@/utils/jnpf' import jnpf from "@/utils/jnpf";
import Detail from '@/views/basic/dynamicModel/list/detail' import Detail from "@/views/basic/dynamicModel/list/detail";
import { thousandsFormat } from "@/components/Generator/utils/index" import { thousandsFormat } from "@/components/Generator/utils/index";
export default { export default {
components: { Detail}, components: { Detail },
props: [], props: [],
data() { data() {
return { return {
visible: false, visible: false,
detailVisible: false, detailVisible: false,
loading: false, loading: false,
dataForm: { dataForm: {
id :'', id: "",
pid : '', pid: "",
code : '', code: "",
spaceNum : '', spaceNum: "",
name : '', name: "",
description : '', description: "",
remark : '', remark: ""
}, }
};
},
computed: {},
watch: {},
created() {},
mounted() {},
methods: {
toDetail(defaultValue, modelId) {
if (!defaultValue) return;
getConfigData(modelId).then(res => {
if (!res.data || !res.data.formData) return;
let formData = JSON.parse(res.data.formData);
formData.popupType = "general";
this.detailVisible = true;
this.$nextTick(() => {
this.$refs.Detail.init(formData, modelId, defaultValue);
});
});
},
dataInfo(dataAll) {
let _dataAll = dataAll;
this.dataForm = _dataAll;
},
init(id) {
this.dataForm.id = id || 0;
this.visible = true;
this.$nextTick(() => {
if (this.dataForm.id) {
this.loading = true;
request({
url: "/api/example/Area/detail/" + this.dataForm.id,
method: "get"
}).then(res => {
this.dataInfo(res.data);
this.loading = false;
});
} }
}, });
computed: {},
watch: {},
created() {
},
mounted() {},
methods: {
toDetail(defaultValue, modelId) {
if (!defaultValue) return
getConfigData(modelId).then(res => {
if (!res.data || !res.data.formData) return
let formData = JSON.parse(res.data.formData)
formData.popupType = 'general'
this.detailVisible = true
this.$nextTick(() => {
this.$refs.Detail.init(formData, modelId, defaultValue)
})
})
},
dataInfo(dataAll){
let _dataAll =dataAll
this.dataForm = _dataAll
},
goBack() {
this.$emit('refresh')
},
init(id) {
this.dataForm.id = id || 0;
this.visible = true;
this.$nextTick(() => {
if(this.dataForm.id){
this.loading = true
request({
url: '/api/example/Area/detail/'+this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
})
}
})
},
},
} }
}
};
</script> </script>

@ -1,482 +1,515 @@
<template>
<el-dialog
:title="!dataForm.id ? '新建' : '编辑'"
<template> :close-on-click-modal="false"
<transition name="el-zoom-in-center"> append-to-body
<div class="JNPF-preview-main"> :visible.sync="visible"
<div class="JNPF-common-page-header"> class="JNPF-dialog JNPF-dialog_center"
<el-page-header @back="goBack" lock-scroll
:content="!dataForm.id ? '新建':'编辑'"/> width="1000px"
<div class="options"> >
<el-dropdown class="dropdown" placement="bottom"> <el-row :gutter="15" class="">
<el-button style="width:70px"> <el-form
<i class="el-icon-arrow-down el-icon--right"></i> ref="formRef"
</el-button> :model="dataForm"
<el-dropdown-menu slot="dropdown"> :rules="dataRule"
<template v-if="dataForm.id"> size="small"
<el-dropdown-item @click.native="prev" :disabled='prevDis'> label-width="100px"
{{'上一条'}} label-position="right"
</el-dropdown-item> >
<el-dropdown-item @click.native="next" :disabled='nextDis'> <template v-if="!loading">
{{'下一条'}} <!-- 具体表单 -->
</el-dropdown-item> <el-col :span="24">
</template> <jnpf-form-tip-item label="园区名称" prop="pid">
<el-dropdown-item type="primary" @click.native="dataFormSubmit(2)" <JnpfInput
:loading="continueBtnLoading" :disabled='btnLoading'> v-model="dataForm.pid"
{{!dataForm.id ?'确定并新增':'确定并继续'}}</el-dropdown-item> @change="changeData('pid', -1)"
</el-dropdown-menu> placeholder="请输入"
</el-dropdown> clearable
<el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading" :disabled='continueBtnLoading'> </el-button> :style="{ width: '100%' }"
<el-button @click="goBack"> </el-button> >
</div> </JnpfInput>
</div> </jnpf-form-tip-item>
<el-row :gutter="15" class=" main" :style="{margin: '0 auto',width: '100%'}"> </el-col>
<el-form ref="formRef" :model="dataForm" :rules="dataRule" size="small" label-width="100px" label-position="right" > <el-col :span="12">
<template v-if="!loading"> <jnpf-form-tip-item label="区域编码" prop="code">
<!-- 具体表单 --> <JnpfInput
<el-col :span="24" > v-model="dataForm.code"
<jnpf-form-tip-item @change="changeData('code', -1)"
label="园区名称" prop="pid" > placeholder="请输入"
<JnpfInput v-model="dataForm.pid" @change="changeData('pid',-1)" clearable
placeholder="请输入" clearable :style='{"width":"100%"}'> :style="{ width: '100%' }"
</JnpfInput> >
</jnpf-form-tip-item> </JnpfInput>
</el-col> </jnpf-form-tip-item>
<el-col :span="12" > </el-col>
<jnpf-form-tip-item <el-col :span="12">
label="区域编码" prop="code" > <jnpf-form-tip-item label="空间数量" prop="spaceNum">
<JnpfInput v-model="dataForm.code" @change="changeData('code',-1)" <JnpfInputNumber
placeholder="请输入" clearable :style='{"width":"100%"}'> v-model="dataForm.spaceNum"
</JnpfInput> @change="changeData('spaceNum', -1)"
</jnpf-form-tip-item> placeholder="数字文本"
</el-col> :step="1"
<el-col :span="12" > >
<jnpf-form-tip-item </JnpfInputNumber>
label="空间数量" prop="spaceNum" > </jnpf-form-tip-item>
<JnpfInputNumber v-model="dataForm.spaceNum" @change="changeData('spaceNum',-1)" </el-col>
placeholder="数字文本" :step="1" > <el-col :span="12">
</JnpfInputNumber> <jnpf-form-tip-item label="区域名称" prop="name">
</jnpf-form-tip-item> <JnpfInput
</el-col> v-model="dataForm.name"
<el-col :span="12" > @change="changeData('name', -1)"
<jnpf-form-tip-item placeholder="请输入"
label="区域名称" prop="name" > clearable
<JnpfInput v-model="dataForm.name" @change="changeData('name',-1)" :style="{ width: '100%' }"
placeholder="请输入" clearable :style='{"width":"100%"}'> >
</JnpfInput> </JnpfInput>
</jnpf-form-tip-item> </jnpf-form-tip-item>
</el-col> </el-col>
<el-col :span="24" > <el-col :span="24">
<jnpf-form-tip-item <jnpf-form-tip-item label="区域描述" prop="description">
label="区域描述" prop="description" > <JnpfInput
<JnpfInput v-model="dataForm.description" @change="changeData('description',-1)" v-model="dataForm.description"
placeholder="请输入" clearable :style='{"width":"100%"}'> @change="changeData('description', -1)"
</JnpfInput> placeholder="请输入"
</jnpf-form-tip-item> clearable
</el-col> :style="{ width: '100%' }"
<el-col :span="24" > >
<jnpf-form-tip-item </JnpfInput>
label="备注" prop="remark" > </jnpf-form-tip-item>
<JnpfInput v-model="dataForm.remark" @change="changeData('remark',-1)" </el-col>
placeholder="请输入" clearable :style='{"width":"100%"}'> <el-col :span="24">
</JnpfInput> <jnpf-form-tip-item label="备注" prop="remark">
</jnpf-form-tip-item> <JnpfInput
</el-col> v-model="dataForm.remark"
<!-- 表单结束 --> @change="changeData('remark', -1)"
</template> placeholder="请输入"
</el-form> clearable
<SelectDialog v-if="selectDialogVisible" :config="currTableConf" :formData="dataForm" :style="{ width: '100%' }"
ref="selectDialog" @select="addForSelect" @close="selectDialogVisible=false"/> >
</JnpfInput>
</jnpf-form-tip-item>
</el-col>
<!-- 表单结束 -->
</template>
</el-form>
<SelectDialog
v-if="selectDialogVisible"
:config="currTableConf"
:formData="dataForm"
ref="selectDialog"
@select="addForSelect"
@close="selectDialogVisible = false"
/>
</el-row> </el-row>
</div> <span slot="footer" class="dialog-footer">
</transition> <div class="upAndDown-button" v-if="dataForm.id">
</template> <el-button @click="prev" :disabled="prevDis">
{{ "上一条" }}
</el-button>
<el-button @click="next" :disabled="nextDis">
{{ "下一条" }}
</el-button>
</div>
<el-button
type="primary"
@click="dataFormSubmit(2)"
:loading="continueBtnLoading"
>
{{ !dataForm.id ? "确定并新增" : "确定并继续" }}</el-button
>
<el-button @click="visible = false"> </el-button>
<el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading">
</el-button
>
</span>
</el-dialog>
</template>
<script> <script>
import request from '@/utils/request' import request from "@/utils/request";
import {mapGetters} from "vuex"; import { mapGetters } from "vuex";
import { getDataInterfaceRes } from '@/api/systemData/dataInterface' import { getDataInterfaceRes } from "@/api/systemData/dataInterface";
import { getDictionaryDataSelector } from '@/api/systemData/dictionary' import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
import { getDefaultCurrentValueUserId } from '@/api/permission/user' import { getDefaultCurrentValueUserId } from "@/api/permission/user";
import { getDefaultCurrentValueDepartmentId } from '@/api/permission/organize' import { getDefaultCurrentValueDepartmentId } from "@/api/permission/organize";
import { getDateDay, getLaterData, getBeforeData, getBeforeTime, getLaterTime } from '@/components/Generator/utils/index.js' import {
import { thousandsFormat } from "@/components/Generator/utils/index" getDateDay,
export default { getLaterData,
components: { }, getBeforeData,
props: [], getBeforeTime,
data() { getLaterTime
return { } from "@/components/Generator/utils/index.js";
dataFormSubmitType: 0, import { thousandsFormat } from "@/components/Generator/utils/index";
continueBtnLoading: false, export default {
index: 0, components: {},
prevDis: false, props: [],
nextDis: false, data() {
allList: [], return {
visible: false, dataFormSubmitType: 0,
loading: false, continueBtnLoading: false,
btnLoading: false, index: 0,
formRef: 'formRef', prevDis: false,
setting:{}, nextDis: false,
eventType: '', allList: [],
userBoxVisible:false, visible: false,
selectDialogVisible: false, loading: false,
currTableConf:{}, btnLoading: false,
dataValueAll:{}, formRef: "formRef",
addTableConf:{ setting: {},
}, eventType: "",
// userBoxVisible: false,
ableAll:{ selectDialogVisible: false,
}, currTableConf: {},
tableRows:{ dataValueAll: {},
}, addTableConf: {},
Vmodel:"", //
currVmodel:"", ableAll: {},
dataForm: { tableRows: {},
pid : undefined, Vmodel: "",
code : undefined, currVmodel: "",
spaceNum : undefined, dataForm: {
name : undefined, pid: undefined,
description : undefined, code: undefined,
remark : undefined, spaceNum: undefined,
version: 0, name: undefined,
}, description: undefined,
tableRequiredData: {}, remark: undefined,
dataRule: version: 0
{ },
pid: [ tableRequiredData: {},
{ dataRule: {
required: true, pid: [
message: '请输入', {
trigger: 'blur' required: true,
}, message: "请输入",
], trigger: "blur"
code: [ }
{ ],
required: true, code: [
message: '请输入', {
trigger: 'blur' required: true,
}, message: "请输入",
], trigger: "blur"
spaceNum: [ }
{ ],
required: true, spaceNum: [
message: '数字文本', {
trigger: ["blur","change"] required: true,
}, message: "数字文本",
], trigger: ["blur", "change"]
name: [ }
{ ],
required: true, name: [
message: '请输入', {
trigger: 'blur' required: true,
}, message: "请输入",
], trigger: "blur"
}, }
childIndex:-1, ]
isEdit:false, },
interfaceRes: { childIndex: -1,
pid:[] , isEdit: false,
code:[] , interfaceRes: {
spaceNum:[] , pid: [],
name:[] , code: [],
description:[] , spaceNum: [],
remark:[] , name: [],
}, description: [],
remark: []
}
};
},
computed: {
...mapGetters(["userInfo"])
},
watch: {},
created() {
this.dataAll();
this.initDefaultData();
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm));
},
mounted() {},
methods: {
prev() {
this.index--;
if (this.index === 0) {
this.prevDis = true;
}
this.nextDis = false;
for (let index = 0; index < this.allList.length; index++) {
const element = this.allList[index];
if (this.index == index) {
this.getInfo(element.id);
} }
}, }
computed: { },
...mapGetters(['userInfo']) next() {
}, this.index++;
watch: {}, if (this.index === this.allList.length - 1) {
created() { this.nextDis = true;
this.dataAll() }
this.initDefaultData() this.prevDis = false;
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm)) for (let index = 0; index < this.allList.length; index++) {
}, const element = this.allList[index];
mounted() {}, if (this.index == index) {
methods: { this.getInfo(element.id);
prev() { }
this.index-- }
if (this.index === 0) { },
this.prevDis = true getInfo(id) {
} request({
this.nextDis = false url: "/api/example/Area/" + id,
for (let index = 0; index < this.allList.length; index++) { method: "get"
const element = this.allList[index]; }).then(res => {
if (this.index == index) { this.dataInfo(res.data);
this.getInfo(element.id) });
} },
} goBack() {
}, this.visible = false;
next() { this.$emit("refreshDataList", true);
this.index++ },
if (this.index === this.allList.length - 1) { changeData(model, index) {
this.nextDis = true this.isEdit = false;
} this.childIndex = index;
this.prevDis = false let modelAll = model.split("-");
for (let index = 0; index < this.allList.length; index++) { let faceMode = "";
const element = this.allList[index]; for (let i = 0; i < modelAll.length; i++) {
if (this.index == index) { faceMode += modelAll[i];
this.getInfo(element.id) }
} for (let key in this.interfaceRes) {
} if (key != faceMode) {
}, let faceReList = this.interfaceRes[key];
getInfo(id) { for (let i = 0; i < faceReList.length; i++) {
request({ if (faceReList[i].relationField == model) {
url: '/api/example/Area/'+ id, let options = "get" + key + "Options";
method: 'get' if (this[options]) {
}).then(res => { this[options]();
this.dataInfo(res.data) }
}); this.changeData(key, index);
}, }
goBack() { }
this.visible = false }
this.$emit('refreshDataList', true) }
}, },
changeData(model, index) { changeDataFormData(type, data, model, index, defaultValue) {
this.isEdit = false if (!this.isEdit) {
this.childIndex = index if (type == 2) {
let modelAll = model.split("-"); for (let i = 0; i < this.dataForm[data].length; i++) {
let faceMode = ""; if (index == -1) {
for (let i = 0; i < modelAll.length; i++) { this.dataForm[data][i][model] = defaultValue;
faceMode += modelAll[i]; } else if (index == i) {
} this.dataForm[data][i][model] = defaultValue;
for (let key in this.interfaceRes) { }
if (key != faceMode) { }
let faceReList = this.interfaceRes[key] } else {
for (let i = 0; i < faceReList.length; i++) { this.dataForm[data] = defaultValue;
if (faceReList[i].relationField == model) { }
let options = 'get' + key + 'Options'; }
if(this[options]){ },
this[options]() dataAll() {},
} clearData() {
this.changeData(key, index) this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll));
} },
} init(id, isDetail, allList) {
} this.prevDis = false;
} this.nextDis = false;
}, this.allList = allList || [];
changeDataFormData(type, data, model,index,defaultValue) { if (allList.length) {
if(!this.isEdit) { this.index = this.allList.findIndex(item => item.id === id);
if (type == 2) { if (this.index == 0) {
for (let i = 0; i < this.dataForm[data].length; i++) { this.prevDis = true;
if (index == -1) { }
this.dataForm[data][i][model] = defaultValue if (this.index == this.allList.length - 1) {
} else if (index == i) { this.nextDis = true;
this.dataForm[data][i][model] = defaultValue }
} } else {
} this.prevDis = true;
} else { this.nextDis = true;
this.dataForm[data] = defaultValue }
} this.dataForm.id = id || 0;
} this.visible = true;
}, this.$nextTick(() => {
dataAll(){ if (this.dataForm.id) {
}, this.loading = true;
goBack() { request({
this.$emit('refresh') url: "/api/example/Area/" + this.dataForm.id,
}, method: "get"
clearData(){ }).then(res => {
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll)) this.dataInfo(res.data);
}, this.loading = false;
init(id,isDetail,allList) { });
this.prevDis = false } else {
this.nextDis = false this.clearData();
this.allList = allList || [] this.initDefaultData();
if (allList.length) { }
this.index = this.allList.findIndex(item => item.id === id) });
if (this.index == 0) { this.$store.commit("generator/UPDATE_RELATION_DATA", {});
this.prevDis = true },
} //
if (this.index == this.allList.length - 1) { initDefaultData() {},
this.nextDis = true //
} dataFormSubmit(type) {
} else { this.dataFormSubmitType = type ? type : 0;
this.prevDis = true this.$refs["formRef"].validate(valid => {
this.nextDis = true if (valid) {
} this.request();
this.dataForm.id = id || 0; }
this.visible = true; });
this.$nextTick(() => { },
if(this.dataForm.id){ request() {
this.loading = true let _data = this.dataList();
request({ if (this.dataFormSubmitType == 2) {
url: '/api/example/Area/'+this.dataForm.id, this.continueBtnLoading = true;
method: 'get' } else {
}).then(res => { this.btnLoading = true;
this.dataInfo(res.data) }
this.loading = false if (!this.dataForm.id) {
}); request({
}else{ url: "/api/example/Area",
this.clearData() method: "post",
this.initDefaultData() data: _data
} })
}); .then(res => {
this.$store.commit('generator/UPDATE_RELATION_DATA', {}) this.$message({
}, message: res.msg,
// type: "success",
initDefaultData() { duration: 1000,
onClose: () => {
},
//
dataFormSubmit(type) {
this.dataFormSubmitType = type ? type : 0
this.$refs['formRef'].validate((valid) => {
if (valid) {
this.request()
}
})
},
request() {
let _data =this.dataList()
if (this.dataFormSubmitType == 2) { if (this.dataFormSubmitType == 2) {
this.continueBtnLoading = true this.$nextTick(() => {
} else { this.clearData();
this.btnLoading = true this.initDefaultData();
} });
if (!this.dataForm.id) { this.continueBtnLoading = false;
request({ return;
url: '/api/example/Area',
method: 'post',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
if (this.dataFormSubmitType == 2) {
this.$nextTick(() => {
this.clearData()
this.initDefaultData()
})
this.continueBtnLoading = false
return
}
this.visible = false
this.btnLoading = false
this.$emit('refresh', true)
}
})
}).catch(()=>{
this.btnLoading = false
this.continueBtnLoading = false
})
}else{
request({
url: '/api/example/Area/'+this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
if (this.dataFormSubmitType == 2) return this.continueBtnLoading = false
this.visible = false
this.btnLoading = false
this.$emit('refresh', true)
}
})
}).catch(()=>{
this.btnLoading = false
this.continueBtnLoading = false
})
} }
}, this.visible = false;
openSelectDialog(key) { this.btnLoading = false;
this.currTableConf=this.addTableConf[key] this.$emit("refresh", true);
this.currVmodel=key }
this.selectDialogVisible = true });
this.$nextTick(() => { })
this.$refs.selectDialog.init() .catch(() => {
}) this.btnLoading = false;
}, this.continueBtnLoading = false;
addForSelect(data) { });
for (let i = 0; i < data.length; i++) { } else {
let t = data[i] request({
if(this['get'+this.currVmodel]){ url: "/api/example/Area/" + this.dataForm.id,
this['get'+this.currVmodel](t) method: "PUT",
} data: _data
} })
}, .then(res => {
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) { this.$message({
let timeDataValue = null; message: res.msg,
let timeValue = Number(timeValueData) type: "success",
if (timeRule) { duration: 1000,
if (timeType == 1) { onClose: () => {
timeDataValue = timeValue if (this.dataFormSubmitType == 2)
} else if (timeType == 2) { return (this.continueBtnLoading = false);
timeDataValue = dataValue this.visible = false;
} else if (timeType == 3) { this.btnLoading = false;
timeDataValue = new Date().getTime() this.$emit("refresh", true);
} else if (timeType == 4) { }
let previousDate = ''; });
if (timeTarget == 1 || timeTarget == 2) { })
previousDate = getDateDay(timeTarget, timeType, timeValue) .catch(() => {
timeDataValue = new Date(previousDate).getTime() this.btnLoading = false;
} else if (timeTarget == 3) { this.continueBtnLoading = false;
previousDate = getBeforeData(timeValue) });
timeDataValue = new Date(previousDate).getTime() }
} else { },
timeDataValue = getBeforeTime(timeTarget, timeValue).getTime() openSelectDialog(key) {
} this.currTableConf = this.addTableConf[key];
} else if (timeType == 5) { this.currVmodel = key;
let previousDate = ''; this.selectDialogVisible = true;
if (timeTarget == 1 || timeTarget == 2) { this.$nextTick(() => {
previousDate = getDateDay(timeTarget, timeType, timeValue) this.$refs.selectDialog.init();
timeDataValue = new Date(previousDate).getTime() });
} else if (timeTarget == 3) { },
previousDate = getLaterData(timeValue) addForSelect(data) {
timeDataValue = new Date(previousDate).getTime() for (let i = 0; i < data.length; i++) {
} else { let t = data[i];
timeDataValue = getLaterTime(timeTarget, timeValue).getTime() if (this["get" + this.currVmodel]) {
} this["get" + this.currVmodel](t);
} }
} }
return timeDataValue; },
}, dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
time(timeRule, timeType, timeTarget, timeValue, formatType, dataValue) { let timeDataValue = null;
let format = formatType == 'HH:mm' ? 'HH:mm:00' : formatType let timeValue = Number(timeValueData);
let timeDataValue = null if (timeRule) {
if (timeRule) { if (timeType == 1) {
if (timeType == 1) { timeDataValue = timeValue;
timeDataValue = timeValue || '00:00:00' } else if (timeType == 2) {
if (timeDataValue.split(':').length == 3) { timeDataValue = dataValue;
timeDataValue = timeDataValue } else if (timeType == 3) {
} else { timeDataValue = new Date().getTime();
timeDataValue = timeDataValue + ':00' } else if (timeType == 4) {
} let previousDate = "";
} else if (timeType == 2) { if (timeTarget == 1 || timeTarget == 2) {
timeDataValue = dataValue previousDate = getDateDay(timeTarget, timeType, timeValue);
} else if (timeType == 3) { timeDataValue = new Date(previousDate).getTime();
timeDataValue = this.jnpf.toDate(new Date(), format) } else if (timeTarget == 3) {
} else if (timeType == 4) { previousDate = getBeforeData(timeValue);
let previousDate = ''; timeDataValue = new Date(previousDate).getTime();
previousDate = getBeforeTime(timeTarget, timeValue) } else {
timeDataValue = this.jnpf.toDate(previousDate, format) timeDataValue = getBeforeTime(timeTarget, timeValue).getTime();
} else if (timeType == 5) { }
let previousDate = ''; } else if (timeType == 5) {
previousDate = getLaterTime(timeTarget, timeValue) let previousDate = "";
timeDataValue = this.jnpf.toDate(previousDate, format) if (timeTarget == 1 || timeTarget == 2) {
} previousDate = getDateDay(timeTarget, timeType, timeValue);
} timeDataValue = new Date(previousDate).getTime();
return timeDataValue; } else if (timeTarget == 3) {
}, previousDate = getLaterData(timeValue);
dataList(){ timeDataValue = new Date(previousDate).getTime();
var _data = this.dataForm; } else {
return _data; timeDataValue = getLaterTime(timeTarget, timeValue).getTime();
}, }
dataInfo(dataAll){ }
let _dataAll =dataAll }
this.dataForm = _dataAll return timeDataValue;
this.isEdit = true },
this.dataAll() time(timeRule, timeType, timeTarget, timeValue, formatType, dataValue) {
this.childIndex=-1 let format = formatType == "HH:mm" ? "HH:mm:00" : formatType;
}, let timeDataValue = null;
}, if (timeRule) {
if (timeType == 1) {
timeDataValue = timeValue || "00:00:00";
if (timeDataValue.split(":").length == 3) {
timeDataValue = timeDataValue;
} else {
timeDataValue = timeDataValue + ":00";
}
} else if (timeType == 2) {
timeDataValue = dataValue;
} else if (timeType == 3) {
timeDataValue = this.jnpf.toDate(new Date(), format);
} else if (timeType == 4) {
let previousDate = "";
previousDate = getBeforeTime(timeTarget, timeValue);
timeDataValue = this.jnpf.toDate(previousDate, format);
} else if (timeType == 5) {
let previousDate = "";
previousDate = getLaterTime(timeTarget, timeValue);
timeDataValue = this.jnpf.toDate(previousDate, format);
}
}
return timeDataValue;
},
dataList() {
var _data = this.dataForm;
return _data;
},
dataInfo(dataAll) {
let _dataAll = dataAll;
this.dataForm = _dataAll;
this.isEdit = true;
this.dataAll();
this.childIndex = -1;
} }
}
};
</script> </script>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save