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>
<el-form-item label="规模" <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"> prop="scale">
<el-select class="item_width_1" <el-select class="item_width_1"
size="small" size="small"
@ -58,6 +69,21 @@
</el-option> </el-option>
</el-select> </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>
<el-form-item label="场所类型" <el-form-item label="场所类型"
prop="ninePlaceVal"> prop="ninePlaceVal">
@ -90,6 +116,10 @@
<el-button class="diy-button--add" <el-button class="diy-button--add"
size="small" size="small"
@click="handleAdd">新增</el-button> @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" <el-table class="table"
:data="tableData" :data="tableData"
@ -115,6 +145,12 @@
label="场所地址" label="场所地址"
min-width="280"> min-width="280">
</el-table-column> </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" <el-table-column prop="ninePlaceName"
header-align="center" header-align="center"
align="center" align="center"
@ -238,10 +274,24 @@ export default {
scaleList: [],//list scaleList: [],//list
placeTypeList: [],//list placeTypeList: [],//list
placeCategoryList: [
{
value: '0',
label: '九小场所'
},
{
value: '1',
label: '企事业单位'
}
],
formData: { formData: {
placeCategory: '',//01
placeOrgName: '',// placeOrgName: '',//
mobile: '',// 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 gridId: '',//Id
ninePlaceVal: '',//Value ninePlaceVal: '',//Value
isPage: true,//(:true :false) isPage: true,//(:true :false)
@ -360,7 +410,70 @@ export default {
} }
this.tableLoading = false 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 () { diaClose () {
@ -456,16 +569,18 @@ export default {
// //
resetSearch () { resetSearch () {
this.formData = { this.formData = {
placeCategory: '',//01
placeOrgName: '',// placeOrgName: '',//
mobile: '',// 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 gridId: '',//Id
ninePlaceVal: '',//Value ninePlaceVal: '',//Value
isPage: true,//(:true :false) isPage: true,//(:true :false)
} }
this.pageSize = 10 this.pageSize = 10
this.pageNo = 0 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 class="info-title-2">场所类型</span>
<span>{{ formData.ninePlaceName||'--' }}</span> <span>{{ formData.ninePlaceName||'--' }}</span>
</div> </div>
<div class="info-prop">
<span class="info-title-2">场所类别</span>
<span>{{ formData.placeCategory ||'--' }}</span>
</div>
<div class="info-prop"> <div class="info-prop">
<span class="info-title-2">场所区域</span> <span class="info-title-2">场所区域</span>
@ -25,7 +29,7 @@
</div> </div>
<div class="info-prop"> <div class="info-prop">
<span class="info-title-2">规模</span> <span class="info-title-2">规模</span>
<span>{{ formData.scaleName||'--' }}</span> <span>{{ formData.scaleTotal||'--' }}</span>
</div> </div>
<div class="info-prop"> <div class="info-prop">
<span class="info-title-2">负责人</span> <span class="info-title-2">负责人</span>

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

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

Loading…
Cancel
Save