jiangyy 3 years ago
parent
commit
3e9053766c
  1. 121
      src/views/modules/communityService/ninePlaces/places/places.vue
  2. 6
      src/views/modules/communityService/ninePlaces/places/placesDetail.vue
  3. 81
      src/views/modules/communityService/ninePlaces/places/placesForm.vue

121
src/views/modules/communityService/ninePlaces/places/places.vue

@ -45,6 +45,17 @@
</el-form-item>
<el-form-item label="规模"
prop="scaleTotal">
<el-input v-model="formData.scaleTotal"
size="small"
class="item_width_1"
clearable
placeholder="请输入规模">
</el-input>
</el-form-item>
<!-- <el-form-item label="规模"
prop="scale">
<el-select class="item_width_1"
size="small"
@ -58,6 +69,21 @@
</el-option>
</el-select>
</el-form-item> -->
<el-form-item label="场所类别"
prop="placeCategory">
<el-select class="item_width_1"
size="small"
v-model="formData.placeCategory"
placeholder="请选择"
clearable>
<el-option v-for="item in placeCategoryList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="场所类型"
prop="ninePlaceVal">
@ -90,6 +116,10 @@
<el-button class="diy-button--add"
size="small"
@click="handleAdd">新增</el-button>
<el-button style="float: left; margin-left: 10px"
class="diy-button--reset"
size="small"
@click="handleExport">导出</el-button>
<el-table class="table"
:data="tableData"
@ -115,6 +145,12 @@
label="场所地址"
min-width="280">
</el-table-column>
<el-table-column prop="placeCategory"
header-align="center"
align="center"
label="场所类别"
min-width="180">
</el-table-column>
<el-table-column prop="ninePlaceName"
header-align="center"
align="center"
@ -238,10 +274,24 @@ export default {
scaleList: [],//list
placeTypeList: [],//list
placeCategoryList: [
{
value: '0',
label: '九小场所'
},
{
value: '1',
label: '企事业单位'
}
],
formData: {
placeCategory: '',//01
placeOrgName: '',//
mobile: '',//
scale: '',// 0:10 1:10-20 2:21-40 3:41-100 4:100
// scale: '',// 0:10 1:10-20 2:21-40 3:41-100 4:100
scaleTotal: '',
gridId: '',//Id
ninePlaceVal: '',//Value
isPage: true,//(:true :false)
@ -360,7 +410,70 @@ export default {
}
this.tableLoading = false
},
//
async handleExport () {
let title = "员工登记码";
const url = "/epmetuser/icVaccine/export";
await this.$http({
method: "POST",
url,
responseType: "blob",
data: this.formData,
})
.then((res) => {
console.log("res----dddd", res);
// this.download(res.data, title + '.xls')
if (res.headers["content-disposition"]) {
let fileName = window.decodeURI(
res.headers["content-disposition"].split(";")[1].split("=")[1]
);
console.log("filename", fileName);
let blob = new Blob([res.data], {
type: "application/vnd.ms-excel",
});
var url = window.URL.createObjectURL(blob);
var aLink = document.createElement("a");
aLink.style.display = "none";
aLink.href = url;
aLink.setAttribute("download", fileName);
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink); //
window.URL.revokeObjectURL(url); //blob
} else this.$message.error("下载失败");
})
.catch((err) => {
console.log("err", err);
return this.$message.error("网络错误");
});
},
//
download (data, fileName) {
if (!data) {
return;
}
var csvData = new Blob([data]);
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(csvData, fileName);
}
// for Non-IE (chrome, firefox etc.)
else {
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
var url = window.URL.createObjectURL(csvData);
a.href = url;
a.download = fileName;
a.click();
a.remove();
window.URL.revokeObjectURL(url);
}
},
diaClose () {
@ -456,16 +569,18 @@ export default {
//
resetSearch () {
this.formData = {
placeCategory: '',//01
placeOrgName: '',//
mobile: '',//
scale: '',// 0:10 1:10-20 2:21-40 3:41-100 4:100
// scale: '',// 0:10 1:10-20 2:21-40 3:41-100 4:100
scaleTotal: '',
gridId: '',//Id
ninePlaceVal: '',//Value
isPage: true,//(:true :false)
}
this.pageSize = 10
this.pageNo = 0
this.loadTable()
// this.loadTable()
},

6
src/views/modules/communityService/ninePlaces/places/placesDetail.vue

@ -8,6 +8,10 @@
<span class="info-title-2">场所类型</span>
<span>{{ formData.ninePlaceName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">场所类别</span>
<span>{{ formData.placeCategory ||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">场所区域</span>
@ -25,7 +29,7 @@
</div>
<div class="info-prop">
<span class="info-title-2">规模</span>
<span>{{ formData.scaleName||'--' }}</span>
<span>{{ formData.scaleTotal||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">负责人</span>

81
src/views/modules/communityService/ninePlaces/places/placesForm.vue

@ -6,11 +6,25 @@
:inline="true"
:model="formData"
:rules="dataRule"
label-width="150px"
:disabled="formType === 'detail'"
class="form">
<el-form-item label="场所类别"
prop="placeCategory">
<el-select class="item_width_1"
size="small"
v-model="formData.placeCategory"
placeholder="请选择"
clearable>
<el-option v-for="item in placeCategoryList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="场所类型"
label-width="150px"
prop="ninePlaceVal">
<el-select class="item_width_1"
v-model="formData.ninePlaceVal"
@ -27,7 +41,6 @@
<el-form-item label="场所区域"
prop="gridId"
label-width="150px"
style="display: block">
<el-select class="item_width_1"
v-model="formData.gridId"
@ -42,7 +55,6 @@
</el-form-item>
<el-form-item label="场所名称"
label-width="150px"
prop="placeOrgName">
<el-input v-model="formData.placeOrgName"
class="item_width_1"
@ -52,7 +64,6 @@
</el-form-item>
<el-form-item label="场所地址"
label-width="150px"
prop="address">
<el-input v-model="formData.address"
class="item_width_1"
@ -62,8 +73,8 @@
</el-form-item>
<el-form-item label="规模"
label-width="150px"
<!-- <el-form-item label="规模"
prop="scale">
<el-select class="item_width_1"
v-model="formData.scale"
@ -76,9 +87,18 @@
</el-option>
</el-select>
</el-form-item> -->
<el-form-item label="规模"
prop="scaleTotal">
<el-input v-model="formData.scaleTotal"
size="small"
class="item_width_1"
clearable
placeholder="请输入规模">
</el-input>
</el-form-item>
<el-form-item label="负责人"
label-width="150px"
prop="personInCharge">
<el-input v-model="formData.personInCharge"
class="item_width_1"
@ -88,7 +108,6 @@
</el-form-item>
<el-form-item label="联系电话"
label-width="150px"
prop="mobile">
<el-input v-model="formData.mobile"
class="item_width_1"
@ -128,14 +147,28 @@ export default {
placeOrgId: '',
formData: {
gridId: '',
ninePlaceVal: '',
placeOrgName: '',
address: '',
scale: '',
// scale: '',
scaleTotal: '',
placeCategory: '',
personInCharge: '',
mobile: ''
},
placeCategoryList: [
{
value: '0',
label: '九小场所'
},
{
value: '1',
label: '企事业单位'
}
],
}
},
@ -159,12 +192,12 @@ export default {
},
async loadGrid () {
async loadGrid () {
const url = "/gov/org/customergrid/gridoption"
let params = {
agencyId: this.agencyId,
purpose:"addorupdate"
purpose: "addorupdate"
}
const { data, code, msg } = await requestPost(url, params)
@ -271,7 +304,9 @@ export default {
address: '',
scale: '',
personInCharge: '',
mobile: ''
mobile: '',
scaleTotal: '',
placeCategory: '',
}
},
//
@ -294,26 +329,32 @@ export default {
dataRule () {
return {
gridId: [
{ required: true, message: '所属网格不能为空', trigger: 'blur' }
{ required: true, message: '所属网格不能为空', trigger: 'change' }
],
placeCategory: [
{ required: true, message: '场所类别不能为空', trigger: 'change' },
],
ninePlaceVal: [
{ required: true, message: '场所类型不能为空', trigger: 'blur' },
{ required: true, message: '场所类型不能为空', trigger: 'change' },
],
placeOrgName: [
{ required: true, message: '场所名称不能为空', trigger: 'blur' }
{ required: true, message: '场所名称不能为空', trigger: 'change' }
],
address: [
{ required: true, message: '场所地址不能为空', trigger: 'blur' }
{ required: true, message: '场所地址不能为空', trigger: 'change' }
],
scale: [
{ required: true, message: '场所规模不能为空', trigger: 'blur' }
// scale: [
// { required: true, message: '', trigger: 'change' }
// ],
scaleTotal: [
{ required: true, message: '场所规模不能为空', trigger: 'change' }
],
personInCharge: [
{ required: true, message: '负责人不能为空', trigger: 'blur' }
{ required: true, message: '负责人不能为空', trigger: 'change' }
],
mobile: [
{ required: true, message: '联系电话不能为空', trigger: 'blur' }
{ required: true, message: '联系电话不能为空', trigger: 'change' }
]
}
},

Loading…
Cancel
Save