Browse Source

gsy

develop
ganshuyu 4 years ago
parent
commit
e3f681a37a
  1. 84
      src/views/land/api/land.js
  2. 24
      src/views/land/api/noLand.js
  3. 390
      src/views/land/handLand/index.vue
  4. 478
      src/views/land/noneHandLand/index.vue

84
src/views/land/api/land.js

@ -14,7 +14,9 @@ export function saveHandLandList(param) {
return request({
url: '/api/landlisted',
method: 'post',
headers: {'Content-Type': 'application/json'},
headers: {
'Content-Type': 'application/json'
},
data: param
})
}
@ -31,7 +33,9 @@ export function getDict(data) {
export function delHandLandObj(ids) {
return request({
url: '/api/landlisted',
headers: {'Content-Type': 'application/json'},
headers: {
'Content-Type': 'application/json'
},
method: 'delete',
data: JSON.stringify(ids)
})
@ -48,15 +52,16 @@ export function queryHandLandObj(id) {
// 导出拟挂牌地块信息
export function exportHandLandToListExcel(ids) {
return request({
url: '/api/landlisted/exportLandToListExcel?ids='+ids,
url: '/api/landlisted/exportLandToListExcel?ids=' + ids,
method: 'get'
})
}
// 导出已挂牌地块信息
export function exportHandLandListExcel(ids) {
return request({
url: '/api/landlisted/exportLandListExcel?ids='+ids,
method: 'get'
url: '/api/landlisted/exportLandListExcel?ids=' + ids,
method: 'get',
responseType: "blob"
})
}
@ -64,7 +69,9 @@ export function exportHandLandListExcel(ids) {
export function downloadHandLandTemplate() {
return request({
url: '/api/landlisted/getTemplate',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
method: 'get'
})
}
@ -82,7 +89,9 @@ export function addLonLat(param) {
return request({
url: '/api/landlistedlonlat',
method: 'post',
headers: {'Content-Type': 'application/json'},
headers: {
'Content-Type': 'application/json'
},
data: param
})
}
@ -92,15 +101,17 @@ export function updateLonLat(param) {
return request({
url: '/api/landlistedlonlat',
method: 'put',
headers: {'Content-Type': 'application/json'},
headers: {
'Content-Type': 'application/json'
},
data: param
})
}
// 通过ID删除拟挂牌地块
export function delLandLonLat(landListedId,landCode) {
export function delLandLonLat(landListedId, landCode) {
return request({
url: '/api/landlistedlonlat/'+landListedId+"/"+landCode,
url: '/api/landlistedlonlat/' + landListedId,
method: 'delete'
})
}
@ -119,7 +130,9 @@ export function saveLandResFile(fileName, filePath, fileType, landListedId) {
return request({
url: '/api/landAttachment/',
method: 'post',
headers: {'Content-Type': 'application/json'},
headers: {
'Content-Type': 'application/json'
},
data: {
fileName: fileName,
filePath: filePath,
@ -132,7 +145,54 @@ export function saveLandResFile(fileName, filePath, fileType, landListedId) {
// 通过id删除地块文件
export function delLandResFile(id) {
return request({
url: '/api/landAttachment/'+id,
url: '/api/landAttachment/' + id,
method: 'delete'
})
}
// 批量删除
export function multiDeteleList(data) {
return request({
url: '/api/landlisted/',
method: 'delete',
data: data,
})
}
//导入
export function importFile(data) {
return request({
url: '/api/landlisted/importLandListExcel',
method: 'post',
data: data,
})
}
//新增编辑参拍
export function updateRecord(data) {
return request({
url: '/api/auction_record',
method: 'post',
data: data,
})
}
//查询参拍
export function queryRecord(data) {
return request({
url: '/api/auction_record/list',
method: 'get',
params: data,
})
}
//删除参拍
export function deleteRecord(data) {
return request({
url: '/api/auction_record/' + data,
method: 'delete',
})
}
//保存已挂牌地块文件
export function allFileUpload(data) {
return request({
url: '/api/landAttachment',
method: 'post',
data:data
})
}

24
src/views/land/api/noLand.js

@ -20,6 +20,14 @@ export function saveNoHandLandList(param) {
data: param
})
}
// 字典表查询
export function getDict(data) {
return request({
url: "/api/dict/type/" + data,
method: "get",
// params:data
})
}
// 通过ID删除拟挂牌地块
export function delNoHandLandObj(ids) {
@ -143,4 +151,20 @@ export function delLandResFile(id) {
url: '/api/landToListAttachment/' + id,
method: 'delete'
})
}
// 批量删除
export function multiDeteleList(data) {
return request({
url: '/api/landlisted/',
method: 'delete',
data: data,
})
}
//导入
export function importFile(data) {
return request({
url: '/api/landlisted/importLandListExcel',
method: 'post',
data: data,
})
}

390
src/views/land/handLand/index.vue

@ -26,6 +26,8 @@
type="date"
placeholder="选择公告日期"
v-model="editForm.annoDate"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item>
@ -59,14 +61,15 @@
>
</div>
<div>
<el-button v-show="hasSelectData"
<el-button v-show="hasSelectData" @click="multiDelete"
><img src="@public/img/land/u1340.png" />批量删除</el-button
>
</div>
<div>
<el-button
<!-- <el-button @click="importData"
><img src="@public/img/land/u1401.png" />导入</el-button
>
> -->
<input type="file" @change="importData" />
</div>
<div>
<el-tooltip
@ -252,6 +255,8 @@
type="date"
placeholder="选择公告日期"
v-model="editForm.annoDate"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
</el-col>
@ -261,6 +266,8 @@
type="date"
placeholder="选择拍卖日期"
v-model="editForm.auctionDate"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
</el-col>
@ -844,7 +851,7 @@
type="text"
size="small"
v-show="scope.row.edit"
@click="handleLonLatCancelClick(scope.row)"
@click="handleLonLatCancelClick(scope.row, scope.$index)"
>取消</el-button
>
</template>
@ -878,44 +885,140 @@
<span class="ti-tag">{{ setTagName(9) }}</span>
</div>
</template>
<el-table :data="landLonLat" style="width: 100%">
<el-table-column prop="rank" label="排名" width="180">
<el-table :data="landRecord" style="width: 100%">
<el-table-column label="排名" width="180">
<template scope="scope">
<el-input
v-model="scope.row.ranking"
v-if="scope.row.edit"
size="small"
></el-input>
<span style="margin-left: 10px" v-else>{{
scope.row.ranking
}}</span>
</template>
</el-table-column>
<el-table-column prop="jpqy" label="举牌企业" width="180">
<el-table-column label="举牌企业" width="180">
<template scope="scope">
<el-input
v-model="scope.row.raiseEnterprise"
v-if="scope.row.edit"
size="small"
></el-input>
<span style="margin-left: 10px" v-else>{{
scope.row.raiseEnterprise
}}</span>
</template>
</el-table-column>
<el-table-column prop="jpj" label="举牌价(万元)" width="180">
<el-table-column label="举牌价(万元)" width="180">
<template scope="scope">
<el-input
v-model="scope.row.raisePrice"
v-if="scope.row.edit"
size="small"
></el-input>
<span style="margin-left: 10px" v-else>{{
scope.row.raisePrice
}}</span>
</template>
</el-table-column>
<el-table-column
prop="mysmj"
label="名义楼面价(元/㎡)"
width="180"
>
<el-table-column label="名义楼面价(元/㎡)" width="180">
<template scope="scope">
<el-input
v-model="scope.row.nominalFloorPrice"
v-if="scope.row.edit"
size="small"
></el-input>
<span style="margin-left: 10px" v-else>{{
scope.row.nominalFloorPrice
}}</span>
</template>
</el-table-column>
<el-table-column
prop="wcyjbl"
label="无偿移交比例(%)"
width="180"
>
<el-table-column label="无偿移交比例(%)" width="180">
<template scope="scope">
<el-input
v-model="scope.row.percentUnpaidTransfers"
v-if="scope.row.edit"
size="small"
></el-input>
<span style="margin-left: 10px" v-else>{{
scope.row.percentUnpaidTransfers
}}</span>
</template>
</el-table-column>
<el-table-column
prop="sjlmj"
label="实际楼面价(元/㎡)"
width="180"
>
<el-table-column label="实际楼面价(元/㎡)" width="180">
<template scope="scope">
<el-input
v-model="scope.row.actualFloorPrice"
v-if="scope.row.edit"
size="small"
></el-input>
<span style="margin-left: 10px" v-else>{{
scope.row.actualFloorPrice
}}</span>
</template>
</el-table-column>
<el-table-column prop="yjl" label="溢价率(%)" width="180">
<el-table-column label="溢价率(%)" width="180">
<template scope="scope">
<el-input
v-model="scope.row.premiumRate"
v-if="scope.row.edit"
size="small"
></el-input>
<span style="margin-left: 10px" v-else>{{
scope.row.premiumRate
}}</span>
</template>
</el-table-column>
<el-table-column prop="zhlc" label="最后轮次" width="180">
<el-table-column label="最后轮次" width="180">
<template scope="scope">
<el-input
v-model="scope.row.finalRound"
v-if="scope.row.edit"
size="small"
></el-input>
<span style="margin-left: 10px" v-else>{{
scope.row.finalRound
}}</span>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="100">
<template>
<el-button type="text" size="small">编辑</el-button>
<el-button type="text" size="small">删除</el-button>
<template slot-scope="scope">
<el-button
type="text"
size="small"
v-show="scope.row.edit"
@click="saveRecord(scope.row)"
>确定</el-button
>
<el-button
type="text"
size="small"
v-show="!scope.row.edit"
@click="editRecord(scope.row)"
>编辑</el-button
>
<el-button
type="text"
size="small"
v-show="!scope.row.edit"
@click="handelDeleteRecord(scope.row)"
>删除</el-button
>
<el-button
type="text"
size="small"
v-show="scope.row.edit"
@click="cancelOneRecord(scope.row, scope.$index)"
>取消</el-button
>
</template>
</el-table-column>
</el-table>
<el-row style="text-align: center">
<el-button type="text" style="color: gray">+添加一行</el-button>
<el-button type="text" style="color: gray" @click="addOneRecord"
>+添加一行</el-button
>
</el-row>
<el-row style="text-align: center">
<el-button type="text" style="color: gray">导入</el-button>
@ -1081,8 +1184,8 @@
<el-col :span="8"> </el-col>
<el-col :span="8"> </el-col>
<el-col :span="8" style="text-align: right">
<el-button v-show="!readOnly" @click="save" type="primary"
>保存</el-button
<el-button v-show="!readOnly" @click="allUpload" type="primary"
>全部上传</el-button
>
</el-col>
</el-row>
@ -1100,6 +1203,7 @@
<script>
import {
allFileUpload,
fetchHandLandList,
saveHandLandList,
delHandLandObj,
@ -1113,6 +1217,11 @@ import {
delLandResFile,
updateLonLat,
getDict,
multiDeteleList,
importFile,
updateRecord,
queryRecord,
deleteRecord,
} from "@/views/land/api/land";
import { uploadFile } from "@/views/api/api";
import { downUrlFile } from "@/util/file";
@ -1122,6 +1231,7 @@ export default {
name: "HandLand",
data() {
return {
onlyId: "",
searchForm: {
//
annoId: "",
@ -1497,6 +1607,8 @@ export default {
transferModeList: [],
landTypeList: [],
cityList: [],
//
landRecord: [],
};
},
created() {
@ -1545,6 +1657,8 @@ export default {
handler(newVal, oldVal) {
if (newVal) {
this.queryFileList();
} else {
this.onSubmit();
}
},
},
@ -1622,7 +1736,27 @@ export default {
ids.push(item["landListedId"]);
}
exportHandLandListExcel(ids.toString()).then((res) => {
fileDownload(res.data, "kg.xlsx");
// fileDownload(res.data, "kg.xlsx");
const aLink = document.createElement("a");
let blob = new Blob([res.data], { type: "application/vnd.ms-excel" });
aLink.href = URL.createObjectURL(blob);
aLink.setAttribute("download", "kg" + ".xls"); //
aLink.click();
});
},
//
importData(e) {
const file = e.target.files[0];
let formData = new FormData();
formData.append("uploadFile", file);
importFile(formData).then((res) => {
console.log(res);
if (res.data.success) {
this.$message("导入成功");
this.onSubmit();
} else {
this.$message("导入失败");
}
});
},
@ -1645,7 +1779,10 @@ export default {
this.readOnly = false;
this.dialogFormVisible = true;
this.editForm = row;
this.onlyId = row.landListedId;
this.queryLonLatList(row.landListedId);
this.queryRecordList(row.landListedId);
this.queryFileList()
},
//
@ -1670,6 +1807,28 @@ export default {
})
.catch(function () {});
},
//
multiDelete() {
if (this.selectedData.length < 1) {
this.$message({
message: "未选中数据",
type: "warning",
});
return;
}
let ids = [];
for (let item of this.selectedData) {
ids.push(item["landListedId"]);
}
multiDeteleList(ids).then((res) => {
if (res.data.success) {
this.$message("删除成功");
this.onSubmit();
} else {
this.$message("删除失败");
}
});
},
//
newItem() {
@ -1720,6 +1879,21 @@ export default {
}
});
},
queryRecordList(landListedId) {
queryRecord({ landListedId: landListedId }).then((response) => {
if (response.data.success) {
let index = 0;
this.landRecord = response.data.data.records;
this.landRecord.forEach((item) => {
item.edit = false;
item.index = index;
index++;
});
} else {
this.landRecord = [];
}
});
},
//
saveAllData() {
@ -1744,8 +1918,8 @@ export default {
index++;
});
this.landLonLat.push({
annoId: this.editForm.annoId,
landListedId: this.editForm.landListedId,
// annoId: this.editForm.annoId,
// landListedId: this.editForm.landListedId,
landCode: "",
landLonLat: "",
lineColor: "#FF0000",
@ -1757,10 +1931,33 @@ export default {
index: index,
});
},
addOneRecord() {
this.isLonLatEdit = false;
let index = 0;
this.landRecord.forEach((item) => {
item.edit = false;
item.index = index;
index++;
});
this.landRecord.push({
// annoId: this.editForm.annoId,
// landListedId: this.editForm.landListedId,
ranking: this.landRecord.ranking,
raiseEnterprise: this.landRecord.raiseEnterprise,
raisePrice: this.landRecord.raisePrice,
percentUnpaidTransfers: this.landRecord.percentUnpaidTransfers,
nominalFloorPrice: this.landRecord.nominalFloorPrice,
actualFloorPrice: this.landRecord.actualFloorPrice,
premiumRate: this.landRecord.premiumRate,
finalRound: this.landRecord.finalRound,
edit: true,
index: index,
});
},
//
handleLonLatDelClick(row) {
delLandLonLat(row.landListedId, row.landCode).then((res) => {
delLandLonLat(row.latId).then((res) => {
if (res.data.success) {
this.$message("删除成功");
this.queryLonLatList(row.landListedId);
@ -1769,10 +1966,30 @@ export default {
}
});
},
handelDeleteRecord(row) {
deleteRecord(row.auctionRecordId).then((res) => {
if (res.data.success) {
this.$message("删除成功");
this.queryRecordList(row.landListedId);
} else {
this.$message.error("删除失败");
}
});
},
//
//
handleLonLatOKClick(row) {
if (!this.onlyId) {
this.$message.error("请先填写公告信息");
return;
}
if (!row.landCode) {
this.$message.error("请输入宗地编号");
return;
}
row.edit = false;
this.$set(row, "landListedId", this.onlyId);
this.$set(row, "annoId", this.editForm.annoId);
if (this.isLonLatEdit) {
updateLonLat(row).then((res) => {
if (res.data.success) {
@ -1793,6 +2010,38 @@ export default {
});
}
},
saveRecord(row) {
if (!this.onlyId) {
this.$message.error("请先填写公告信息");
return;
}
if (!row.raiseEnterprise) {
this.$message.error("请输入举牌企业");
return;
}
row.edit = false;
this.$set(row, "landListedId", this.onlyId);
this.$set(row, "annoId", this.editForm.annoId);
if (this.isLonLatEdit) {
updateRecord(row).then((res) => {
if (res.data.success) {
this.$message("保存成功");
this.queryRecordList(row.landListedId);
} else {
this.$message.error("保存失败");
}
});
} else {
updateRecord(row).then((res) => {
if (res.data.success) {
this.$message("保存成功");
this.queryRecordList(row.landListedId);
} else {
this.$message.error("保存失败");
}
});
}
},
//
handleLonLatEditClick(row) {
@ -1802,13 +2051,32 @@ export default {
this.landLonLat = [];
this.landLonLat = bakObj;
},
editRecord(row) {
this.isLonLatEdit = true;
row.edit = true;
let bakObj = this.landRecord.concat();
this.landRecord = [];
this.landRecord = bakObj;
},
//
handleLonLatCancelClick(row) {
this.landLonLat = this.landLonLat.splice(
this.landLonLat.findIndex((item) => item.index === row.index),
1
);
handleLonLatCancelClick(row, index) {
let data = row;
if (!row.landListedId) {
this.landLonLat.splice(index, 1);
} else {
this.$set(data, "edit", false);
this.$set(this.landLonLat, index, data);
}
},
cancelOneRecord(row, index) {
let data = row;
if (!row.landListedId) {
this.landRecord.splice(index, 1);
} else {
this.$set(data, "edit", false);
this.$set(this.landRecord, index, data);
}
},
//
@ -1819,7 +2087,7 @@ export default {
}
let param = {
landListedId: landListedId,
fileType: this.activeType,
// fileType: this.activeType,
};
queryFileList(param).then((res) => {
if (res.data.success) {
@ -1836,26 +2104,37 @@ export default {
// tab
tabChange() {
// console.log(this.activeType);
//
this.uploadFiles = [];
this.queryFileList();
// this.uploadFiles = [];
// this.queryFileList();
},
//
uploadFile(file) {
if (!this.onlyId) {
this.$message.error("请先填写公告信息");
return;
}
uploadFile(file).then((res) => {
if (res.data.success) {
let tempData = res.data.data;
this.uploadFiles.push({
id: -1,
fileName: tempData.fileName,
filePath: tempData.path,
uploadProcess: 0,
fileType: this.activeType,
// uploadProcess: 0,
landListedId:this.onlyId
});
}
});
},
//
allUpload(){
allFileUpload(this.uploadFiles).then(res =>{
this.queryFileList()
})
},
//
uploadRes(row) {
let landListedId = this.editForm.landListedId;
@ -1887,11 +2166,24 @@ export default {
},
//
save() {
if (!this.editForm.landCode) {
this.$message.error("请输入地块编号");
return;
}
if (!this.editForm.annoId) {
this.$message.error("请输入公告序号");
return;
}
if (!this.editForm.landPosition) {
this.$message.error("请输入地块位置");
return;
}
saveHandLandList(JSON.stringify(this.editForm)).then((res) => {
if (res.data.success) {
this.$message("保存成功");
this.dialogFormVisible = false;
this.onSubmit();
this.onlyId = res.data.data;
// this.dialogFormVisible = false;
// this.onSubmit();
} else {
this.$message.error("保存失败");
}

478
src/views/land/noneHandLand/index.vue

@ -26,6 +26,8 @@
type="date"
placeholder="选择公告日期"
v-model="editForm.annoDate"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item>
@ -59,7 +61,7 @@
>
</div>
<div>
<el-button v-show="hasSelectData"
<el-button v-show="hasSelectData" @click="multiDelete"
><img src="@public/img/land/u1340.png" />批量删除</el-button
>
</div>
@ -161,16 +163,36 @@
</div>
</template>
<el-row>
<el-col :span="8">
<el-form-item label="地块名称:">
<el-col :span="8" prop="proposedseriaId">
<el-form-item label="拟出让序号:" required>
<el-input v-model="editForm.proposedseriaId"></el-input>
</el-form-item>
</el-col>
<el-col :span="8" prop="landName">
<el-form-item label="地块名称:" required>
<el-input v-model="editForm.landName"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="供地状态:">
<el-input v-model="editForm.supplyStatus"></el-input>
<el-select
v-model="editForm.supplyStatus"
filterable
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in supplyStatusList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item
label="预计挂牌日期:"
@ -180,6 +202,8 @@
type="date"
placeholder="选择预计挂牌日期"
v-model="editForm.estimatedListingTime"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
</el-col>
@ -188,7 +212,9 @@
<el-col :span="8"> </el-col>
<el-col :span="8"> </el-col>
<el-col :span="8" style="text-align: right">
<el-button v-show="!readOnly" @click="save">保存</el-button>
<el-button v-show="!readOnly" @click="save" type="primary"
>保存</el-button
>
</el-col>
</el-row>
</el-collapse-item>
@ -291,6 +317,8 @@
type="date"
placeholder="选择公告日期"
v-model="editForm.annoDate"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
</el-col>
@ -300,6 +328,8 @@
type="date"
placeholder="选择拍卖日期"
v-model="editForm.auctionDate"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
</el-col>
@ -313,7 +343,9 @@
<el-col :span="8"> </el-col>
<el-col :span="8"> </el-col>
<el-col :span="8" style="text-align: right">
<el-button v-show="!readOnly" @click="save">保存</el-button>
<el-button v-show="!readOnly" @click="save" type="primary"
>保存</el-button
>
</el-col>
</el-row>
</el-collapse-item>
@ -349,7 +381,9 @@
</el-col>
<el-col :span="8"> </el-col>
<el-col :span="8" style="text-align: right">
<el-button v-show="!readOnly" @click="save">保存</el-button>
<el-button v-show="!readOnly" @click="save" type="primary"
>保存</el-button
>
</el-col>
</el-row>
</el-collapse-item>
@ -404,7 +438,9 @@
</el-col>
<el-col :span="8"> </el-col>
<el-col :span="8" style="text-align: right">
<el-button v-show="!readOnly" @click="save">保存</el-button>
<el-button v-show="!readOnly" @click="save" type="primary"
>保存</el-button
>
</el-col>
</el-row>
</el-collapse-item>
@ -423,7 +459,19 @@
</el-col>
<el-col :span="8">
<el-form-item label="勾地形式:">
<el-input v-model="editForm.hookForm"></el-input>
<el-select
v-model="editForm.hookForm"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in landTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
@ -453,7 +501,9 @@
<el-col :span="8"> </el-col>
<el-col :span="8"> </el-col>
<el-col :span="8" style="text-align: right">
<el-button v-show="!readOnly" @click="save">保存</el-button>
<el-button v-show="!readOnly" @click="save" type="primary"
>保存</el-button
>
</el-col>
</el-row>
</el-collapse-item>
@ -467,17 +517,53 @@
<el-row>
<el-col :span="8">
<el-form-item label="城市:">
<el-input v-model="editForm.city"></el-input>
<el-select
v-model="editForm.city"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in cityList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="行政区:">
<el-input v-model="editForm.canton"></el-input>
<el-select
v-model="editForm.canton"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in regionList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="特区:">
<el-input v-model="editForm.specialZone"></el-input>
<el-select
v-model="editForm.specialZone"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in specialAreaList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
@ -489,19 +575,55 @@
</el-col>
<el-col :span="8">
<el-form-item label="大组团:">
<el-input v-model="editForm.bigGroup"></el-input>
<el-select
v-model="editForm.bigGroup"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in bigGroupList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="小组团:">
<el-input v-model="editForm.smallGroup"></el-input>
<el-select
v-model="editForm.smallGroup"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in smallGroupList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="奥维定位:">
<el-input v-model="editForm.ovePosition"></el-input>
<el-select
v-model="editForm.ovePosition"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in avPositionList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
@ -510,7 +632,9 @@
</el-form-item>
</el-col>
<el-col :span="8" style="text-align: right">
<el-button v-show="!readOnly" @click="save">保存</el-button>
<el-button v-show="!readOnly" @click="save" type="primary"
>保存</el-button
>
</el-col>
</el-row>
</el-collapse-item>
@ -595,7 +719,9 @@
<el-col :span="8"> </el-col>
<el-col :span="8"> </el-col>
<el-col :span="8" style="text-align: right">
<el-button v-show="!readOnly" @click="save">保存</el-button>
<el-button v-show="!readOnly" @click="save" type="primary"
>保存</el-button
>
</el-col>
</el-row>
</el-collapse-item>
@ -652,7 +778,9 @@
</el-form-item>
</el-col>
<el-col :span="8" style="text-align: right">
<el-button v-show="!readOnly" @click="save">保存</el-button>
<el-button v-show="!readOnly" @click="save" type="primary"
>保存</el-button
>
</el-col>
</el-row>
</el-collapse-item>
@ -664,7 +792,7 @@
</div>
</template>
<el-table :data="landLonLat" style="width: 100%">
<el-table-column label="地编号" width="120">
<el-table-column label="地编号" width="120">
<template scope="scope">
<el-input
v-model="scope.row.landCode"
@ -755,7 +883,11 @@
@click="handleLonLatOKClick(scope.row)"
>确定</el-button
>
<el-button type="text" size="small" v-show="!scope.row.edit" @click="handleLonLatEditClick(scope.row)"
<el-button
type="text"
size="small"
v-show="!scope.row.edit"
@click="handleLonLatEditClick(scope.row)"
>编辑</el-button
>
<el-button
@ -769,7 +901,7 @@
type="text"
size="small"
v-show="scope.row.edit"
@click="handleLonLatCancelClick(scope.row)"
@click="handleLonLatCancelClick(scope.row, scope.$index)"
>取消</el-button
>
</template>
@ -790,7 +922,9 @@
<el-col :span="8"> </el-col>
<el-col :span="8"> </el-col>
<el-col :span="8" style="text-align: right">
<el-button v-show="!readOnly" @click="save">保存</el-button>
<el-button v-show="!readOnly" @click="save" type="primary"
>保存</el-button
>
</el-col>
</el-row>
</el-collapse-item>
@ -804,7 +938,13 @@
</template>
<el-tabs v-model="activeType" type="card" @tab-click="tabChange">
<el-tab-pane label="规划条件函" name="planningConditionsLetter">
<el-upload class="upload-demo" drag action :http-request="uploadFile" multiple>
<el-upload
class="upload-demo"
drag
action
:http-request="uploadFile"
multiple
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处<em>点击上传</em>
@ -815,17 +955,31 @@
</el-upload></el-tab-pane
>
<el-tab-pane label="红线图" name="redLineMap">
<el-upload action list-type="picture-card" :http-request="uploadFile">
<el-upload
action
list-type="picture-card"
:http-request="uploadFile"
>
<i class="el-icon-plus"></i>
</el-upload>
</el-tab-pane>
<el-tab-pane label="控规图" name="controlChart">
<el-upload action list-type="picture-card" :http-request="uploadFile">
<el-upload
action
list-type="picture-card"
:http-request="uploadFile"
>
<i class="el-icon-plus"></i>
</el-upload>
</el-tab-pane>
<el-tab-pane label="竞买须知" name="biddingNotice">
<el-upload class="upload-demo" drag action :http-request="uploadFile" multiple>
<el-upload
class="upload-demo"
drag
action
:http-request="uploadFile"
multiple
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处<em>点击上传</em>
@ -836,7 +990,13 @@
</el-upload>
</el-tab-pane>
<el-tab-pane label="出让合同模板" name="transferContractTemplate">
<el-upload class="upload-demo" drag action :http-request="uploadFile" multiple>
<el-upload
class="upload-demo"
drag
action
:http-request="uploadFile"
multiple
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处<em>点击上传</em>
@ -844,9 +1004,16 @@
<div class="el-upload__tip" slot="tip">
只支持上传docdocxpdfpptpptx文件且不超过10M
</div>
</el-upload></el-tab-pane>
</el-upload></el-tab-pane
>
<el-tab-pane label="建设方案" name="developmentScheme">
<el-upload class="upload-demo" drag action :http-request="uploadFile" multiple>
<el-upload
class="upload-demo"
drag
action
:http-request="uploadFile"
multiple
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处<em>点击上传</em>
@ -857,11 +1024,21 @@
</el-upload>
</el-tab-pane>
<el-tab-pane label="航拍图片" name="aerialPhoto"
><el-upload action list-type="picture-card" :http-request="uploadFile">
><el-upload
action
list-type="picture-card"
:http-request="uploadFile"
>
<i class="el-icon-plus"></i> </el-upload
></el-tab-pane>
<el-tab-pane label="其他资料" name="otherInfo"
><el-upload class="upload-demo" drag action :http-request="uploadFile" multiple>
><el-upload
class="upload-demo"
drag
action
:http-request="uploadFile"
multiple
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处<em>点击上传</em>
@ -869,20 +1046,32 @@
<div class="el-upload__tip" slot="tip">
只支持上传docdocxpdfpptpptx文件且不超过10M
</div>
</el-upload></el-tab-pane>
</el-upload></el-tab-pane
>
</el-tabs>
<el-table :data="uploadFiles" border style="width: 100%">
<el-table-column prop="fileName" label="文件名称" width="200">
</el-table-column>
<el-table-column prop="uploadProcess" label="上传进度">
<template scope="scope">
<el-progress :text-inside="true" :stroke-width="13" :percentage="scope.row.uploadProcess"></el-progress>
<el-progress
:text-inside="true"
:stroke-width="13"
:percentage="scope.row.uploadProcess"
></el-progress>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="100">
<template slot-scope="scope">
<el-button type="text" size="small" @click="uploadRes(scope.row)">上传</el-button>
<el-button type="text" size="small" @click="delRes(scope.row)">删除</el-button>
<el-button
type="text"
size="small"
@click="uploadRes(scope.row)"
>上传</el-button
>
<el-button type="text" size="small" @click="delRes(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
@ -890,7 +1079,9 @@
<el-col :span="8"> </el-col>
<el-col :span="8"> </el-col>
<el-col :span="8" style="text-align: right">
<el-button v-show="!readOnly" @click="save">保存</el-button>
<el-button v-show="!readOnly" @click="save" type="primary"
>保存</el-button
>
</el-col>
</el-row>
</el-collapse-item>
@ -907,10 +1098,11 @@
<script>
import {
getDict,
fetchNoHandLandList,
saveNoHandLandList,
delNoHandLandObj,
exportNoHandLandToListExcel,
exportHandLandListExcel,
downloadNoHandLandTemplate,
queryLonLatList,
addLonLat,
@ -919,7 +1111,8 @@ import {
queryFileList,
saveLandResFile,
delLandResFile,
updateLonLat
updateLonLat,
multiDeteleList,
} from "@/views/land/api/noLand";
import { uploadFile } from "@/views/api/api";
import { downUrlFile } from "@/util/file";
@ -944,29 +1137,49 @@ export default {
landLonLat: [],
//
cols: [
{
label: "拟出让序号",
prop: "proposedseriaId",
width: 120,
fixed: true,
},
{
label: "地块名称",
prop: "landName",
width: 150,
fixed: true,
},
{
label: "供地状态",
prop: "supplyStatus",
width: 120,
fixed: true,
},
{
label: "预计挂牌时间",
prop: "estimatedListingTime",
width: 150,
fixed: true,
},
{
label: "公告序号",
prop: "annoId",
width: 150,
fixed: true,
},
{
label: "地块编号",
prop: "landCode",
width: 150,
fixed: true,
},
{
label: "地块位置",
prop: "landPosition",
width: 150,
fixed: true,
},
{
label: "土地用途",
prop: "landUsage",
width: 150,
fixed: true,
},
{
label: "土地出让面积(㎡)",
@ -1288,8 +1501,11 @@ export default {
//
uploadFiles: [],
rules: {
annoId: [
{ required: true, message: "请输入公告序号", trigger: "blur" },
proposedseriaId: [
{ required: true, message: "请输入拟出让序号", trigger: "blur" },
],
landName: [
{ required: true, message: "请输入地块名称", trigger: "blur" },
],
landCode: [
{ required: true, message: "请输入地块编号", trigger: "blur" },
@ -1299,9 +1515,43 @@ export default {
],
},
isLonLatEdit: false,
//
supplyStatusList: [],
regionList: [],
bigGroupList: [],
specialAreaList: [],
smallGroupList: [],
avPositionList: [],
landTypeList: [],
cityList: [],
};
},
created() {},
created() {
getDict("land_type").then((res) => {
this.landTypeList = res.data.data;
});
getDict("city_type").then((res) => {
this.cityList = res.data.data;
});
getDict("region_type").then((res) => {
this.regionList = res.data.data;
});
getDict("special_area_type").then((res) => {
this.specialAreaList = res.data.data;
});
getDict("big_group_type").then((res) => {
this.bigGroupList = res.data.data;
});
getDict("small_group_type").then((res) => {
this.smallGroupList = res.data.data;
});
getDict("av_position_type").then((res) => {
this.avPositionList = res.data.data;
});
getDict("land_supply_status").then((res) => {
this.supplyStatusList = res.data.data;
});
},
mounted: function () {
this.onSubmit();
},
@ -1391,14 +1641,32 @@ export default {
});
return;
}
//proposedseriaId
let ids = [];
for (let item of this.selectedData) {
ids.push(item["proposedseriaId"]);
ids.push(item["landListedId"]);
}
console.debug(ids);
exportNoHandLandToListExcel(ids.toString()).then((res) => {
fileDownload(res.data, "kg.xlsx");
exportHandLandListExcel(ids.toString()).then((res) => {
// fileDownload(res.data, "kg.xlsx");
const aLink = document.createElement("a");
let blob = new Blob([res.data], { type: "application/vnd.ms-excel" });
aLink.href = URL.createObjectURL(blob);
aLink.setAttribute("download", "kg" + ".xls"); //
aLink.click();
});
},
//
importData(e) {
const file = e.target.files[0];
let formData = new FormData();
formData.append("uploadFile", file);
importFile(formData).then((res) => {
console.log(res);
if (res.data.success) {
this.$message("导入成功");
this.onSubmit();
} else {
this.$message("导入失败");
}
});
},
@ -1436,11 +1704,10 @@ export default {
})
.then(function () {
delNoHandLandObj(ids).then((res) => {
if(res.data.success){
if (res.data.success) {
me.$message("删除成功");
me.onSubmit();
}
else{
} else {
me.$message("删除失败");
}
});
@ -1456,12 +1723,30 @@ export default {
newObj[col.prop] = "";
}
this.editForm = newObj;
console.debug(this.editForm);
this.readOnly = false;
this.dialogFormVisible = true;
},
save() {},
//
save() {
if (!this.editForm.landName) {
this.$message.error("请输入地块名称");
return;
}
if (!this.editForm.proposedseriaId) {
this.$message.error("请输入拟出让序号");
return;
}
saveNoHandLandList(JSON.stringify(this.editForm)).then((res) => {
if (res.data.success) {
this.$message("保存成功");
this.dialogFormVisible = false;
this.onSubmit();
} else {
this.$message.error("保存失败");
}
});
},
//
downloadTemplate() {
@ -1512,7 +1797,7 @@ export default {
this.isLonLatEdit = false;
let index = 0;
this.landLonLat.forEach((item) => {
item.edit = false;
item.edit = true;
item.index = index;
index++;
});
@ -1545,6 +1830,10 @@ export default {
//
handleLonLatOKClick(row) {
if(!row.landCode) {
this.$message.error("请输入地块编号")
return
}
row.edit = false;
if (this.isLonLatEdit) {
updateLonLat(row).then((res) => {
@ -1577,11 +1866,30 @@ export default {
},
//
handleLonLatCancelClick(row) {
this.landLonLat = this.landLonLat.splice(
this.landLonLat.findIndex((item) => item.index === row.index),
1
);
handleLonLatCancelClick(row, index) {
this.landLonLat.splice(index,1)
},
//
multiDelete() {
if (this.selectedData.length < 1) {
this.$message({
message: "未选中数据",
type: "warning",
});
return;
}
let ids = [];
for (let item of this.selectedData) {
ids.push(item["landListedId"]);
}
multiDeteleList(ids).then((res) => {
if (res.data.success) {
this.$message("删除成功");
this.onSubmit();
} else {
this.$message("删除失败");
}
});
},
//
@ -1599,7 +1907,7 @@ export default {
//
queryFileList() {
let proposedseriaId = this.editForm.proposedseriaId;
if(proposedseriaId == undefined){
if (proposedseriaId == undefined) {
return;
}
let param = {
@ -1607,14 +1915,13 @@ export default {
fileType: this.activeType,
};
queryFileList(param).then((res) => {
if(res.data.success){
if (res.data.success) {
let tempData = res.data.data;
for(let obj of tempData){
for (let obj of tempData) {
obj.uploadProcess = 100;
}
this.uploadFiles = tempData;
}
else{
} else {
this.uploadFiles = [];
}
});
@ -1628,46 +1935,49 @@ export default {
},
//
uploadFile(file){
uploadFile(file).then(res=>{
if(res.data.success){
uploadFile(file) {
uploadFile(file).then((res) => {
if (res.data.success) {
let tempData = res.data.data;
this.uploadFiles.push({
id: -1,
fileName: tempData.fileName,
filePath: tempData.path,
uploadProcess: 0
uploadProcess: 0,
});
}
});
},
//
uploadRes(row){
uploadRes(row) {
let proposedseriaId = this.editForm.proposedseriaId;
saveLandResFile(row.fileName,row.filePath, this.activeType, proposedseriaId).then(res=>{
if(res.data.success){
saveLandResFile(
row.fileName,
row.filePath,
this.activeType,
proposedseriaId
).then((res) => {
if (res.data.success) {
this.$message("上传成功");
this.queryFileList();
}
else{
} else {
this.$message("上传失败");
}
});
},
//
delRes(row){
delLandResFile(row.id).then(res=>{
if(res.data.success){
delRes(row) {
delLandResFile(row.id).then((res) => {
if (res.data.success) {
this.$message("删除成功");
this.queryFileList();
}
else{
} else {
this.$message("删除失败");
}
});
}
},
},
};
</script>
@ -1697,10 +2007,10 @@ export default {
/deep/ .el-collapse-item__wrap {
border-top: 1px solid #e8eaec;
}
/deep/ .upload-demo{
/deep/ .upload-demo {
text-align: center;
}
/deep/ .el-upload__tip{
/deep/ .el-upload__tip {
text-align: right;
}

Loading…
Cancel
Save