Browse Source

员工码

feature
jiangyy 3 years ago
parent
commit
01a21c79ff
  1. 204
      src/views/modules/base/epidemic/unitEpid/staffEpidDetail.vue
  2. 842
      src/views/modules/base/epidemic/unitEpid/staffEpidList.vue
  3. 121
      src/views/modules/communityService/ninePlaces/places/places.vue
  4. 6
      src/views/modules/communityService/ninePlaces/places/placesDetail.vue
  5. 77
      src/views/modules/communityService/ninePlaces/places/placesForm.vue
  6. 550
      src/views/modules/cpts/base/index.vue
  7. 108
      src/views/modules/shequzhili/tuceng/anquan/xuncha/index.vue

204
src/views/modules/base/epidemic/unitEpid/staffEpidDetail.vue

@ -0,0 +1,204 @@
<template>
<div class="epidemic-form">
<div class="dialog-h-content scroll-h">
<div v-if="initLoading"
class="m-row">
<div class="m-info">
<div class="info-prop">
<span class="info-title-2">姓名</span>
<span>{{ formData.name||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">手机号</span>
<span>{{ formData.mobile||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">证件号</span>
<span>{{ formData.idCard||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">采样时间</span>
<span>{{ formData.sampleTime||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">检测时间</span>
<span>{{ formData.natTime||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">检测地点</span>
<span>{{ formData.natAddress||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">检测结果</span>
<span>{{ formData.natResult==='0'?'阴性':'阳性' }}</span>
</div>
<div class="info-prop"
v-if="fileList.length>0">
<span class="info-title-2">照片</span>
<div class="info-pics">
<img v-for="(item,index) in fileList"
style="width:80px;height:80px"
:key="index"
:src="item.url"
@click="watchImg(item)">
</div>
</div>
</div>
</div>
</div>
<div class="div-btn">
<el-button size="small"
@click="handleCancle"> </el-button>
<!-- <el-button v-if="formType != 'detail'"
size="small"
type="primary"
:disabled="btnDisable"
@click="handleComfirm"> </el-button> -->
</div>
</div>
</template>
<script>
import { Loading } from 'element-ui' // Loading
import { requestPost } from '@/js/dai/request'
import { dateFormats } from '@/utils/index'
let loading //
export default {
data () {
return {
initLoading: false,
icNatId: '',
formData: {},
fileList: [],
}
},
components: {},
async mounted () {
const { user } = this.$store.state
this.agencyId = user.agencyId
},
methods: {
async initForm (icNatId) {
this.startLoading()
this.formData.agencyId = this.agencyId
this.icNatId = icNatId
this.formData.icNatId = icNatId
await this.loadFormData()
this.initLoading = true
this.endLoading()
},
async loadFormData () {
// const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/detail'
const url = '/epmetuser/icNat/detail'
let params = {
icNatId: this.icNatId,
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.formData = data
console.log(this.formData.isSelChannel)
this.formData.icNatId = this.icNatId
this.fileList = []
if (data.fileName) {
let obj = {
name: data.fileName,
type: data.attachmentType,
url: data.attachmentUrl,
}
// data.attachmentList.forEach(element => {
// element.name = element.fileName
// element.type = element.attachmentType
// element.size = element.attachmentSize
// });
this.fileList.push(obj)
}
this.hideUploadEdit = this.fileList.length >= this.limitNum;
} else {
this.$message.error(msg)
}
},
handleCancle () {
// this.resetData()
this.$emit('dialogCancle')
},
watchImg (src) {
window.open(src);
},
resetData () {
this.formData = {}
},
//
startLoading () {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
},
props: {
// serviceList: {
// type: Array,
// default: []
// },
}
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/detail-main.scss";
</style>

842
src/views/modules/base/epidemic/unitEpid/staffEpidList.vue

@ -0,0 +1,842 @@
<template>
<div class="div_main">
<div class="div_search">
<el-form :inline="true"
:model="formData"
ref="ref_searchform"
:label-width="'110px'">
<div>
<el-form-item label="信息范围">
<el-select class="list_item_width_1"
size="small"
v-model.trim="formData.orgType"
placeholder="请选择">
<el-option v-for="item in orgTypeList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="本辖区居民">
<el-select class="list_item_width_1"
size="small"
v-model.trim="formData.isResiUser"
placeholder="请选择">
<el-option v-for="item in isResiUserList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="采样时间"
label-width="110px"
prop="sampleStartTime">
<el-date-picker v-model="sampleTimeRange"
size="small"
type="datetimerange"
@change="handleSampleTimeChange"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="核酸检测时间"
label-width="110px"
prop="startTime">
<el-date-picker v-model="timeRange"
size="small"
type="datetimerange"
@change="handleTimeChange"
format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd HH:mm"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间">
</el-date-picker>
</el-form-item>
<div>
<el-form-item label="姓名"
prop="name">
<el-input v-model="formData.name"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入姓名">
</el-input>
</el-form-item>
<el-form-item label="手机号"
prop="mobile">
<el-input v-model="formData.mobile"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入手机号">
</el-input>
</el-form-item>
<el-form-item label="证件号"
prop="idCard">
<el-input v-model="formData.idCard"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入身份证号或护照号">
</el-input>
</el-form-item>
<el-button style="margin-left:30px"
size="small"
class="diy-button--search"
@click="handleSearch">查询</el-button>
<el-button style="margin-left:10px"
size="small"
class="diy-button--reset"
@click="resetSearch">重置</el-button>
</div>
</div>
</el-form>
</div>
<div class="div_table">
<div class="div_btn">
<el-button class="diy-button--add"
size="small"
@click="handleAdd">新增</el-button>
<el-button style="float:left"
class="diy-button--export"
size="small"
@click="handleExportModule">下载模板</el-button>
<el-upload :headers="$getElUploadHeaders()"
ref="upload"
:multiple='false'
:show-file-list='false'
:before-upload="beforeUpload"
action=""
accept=".xlsx"
:limit="1"
:on-exceed="handleExceed"
:http-request="uploadFile">
<el-button style="margin-left:10px"
size="small"
class="diy-button--delete">导入</el-button>
</el-upload>
<el-button style="float:left;margin-left:10px"
class="diy-button--reset"
size="small"
@click="handleExport">导出</el-button>
<el-button style="float:left;margin-left:10px"
class="diy-button--export"
size="small"
@click="handleTiming()">定时</el-button>
</div>
<el-table class="table"
ref="ref_table"
:data="tableData"
border
:height="tableHeight"
v-loading="tableLoading"
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}"
style="width: 100%">
<el-table-column label="序号"
header-align="center"
align="center"
type="index"
width="50"></el-table-column>
<el-table-column prop="name"
header-align="center"
align="center"
label="姓名"
min-width="100">
</el-table-column>
<el-table-column prop="mobile"
header-align="center"
align="center"
label="手机号"
min-width="110">
</el-table-column>
<el-table-column prop="idCard"
header-align="center"
align="center"
label="证件号"
min-width="170">
</el-table-column>
<el-table-column prop="sampleTime"
header-align="center"
align="center"
label="采样时间"
width="150">
</el-table-column>
<el-table-column prop="natTime"
header-align="center"
align="center"
label="检测时间"
width="150">
</el-table-column>
<el-table-column prop="natAddress"
header-align="center"
align="center"
show-overflow-tooltip
label="检测地点"
min-width="230">
</el-table-column>
<el-table-column prop="natResultShow"
header-align="center"
align="center"
show-overflow-tooltip
label="检测结果"
width="100">
</el-table-column>
<el-table-column v-if="isResiUser"
prop="isResiUserShow"
header-align="center"
align="center"
show-overflow-tooltip
label="本辖区居民"
width="120">
</el-table-column>
<el-table-column label="操作"
fixed="right"
width="160"
header-align="center"
align="center"
class="operate">
<template slot-scope="scope">
<el-button type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
<el-button v-if="!isResiUser"
type="text"
class="div-table-button--edit"
size="small"
@click="handleAttention(scope.row)">同步</el-button>
<el-button v-if="isResiUser&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
type="text"
class="div-table-button--edit"
size="small"
@click="handleEdit(scope.row)">修改</el-button>
<el-button v-if="isResiUser&&(scope.row.userType==='resi'||scope.row.userType==='icresi') &&scope.row.agencyId===agencyId"
type="text"
class="div-table-button--delete "
size="small"
@click="handleDelete(scope.row)">删除</el-button>
<el-button v-if="isResiUser&&scope.row.userType==='synchro'&&scope.row.agencyId===agencyId"
type="text"
class="div-table-button--delete "
size="small"
@click="handleCancelAttention(scope.row)">取消同步</el-button>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
</div>
<!-- 详情弹出框 -->
<el-dialog :visible.sync="detailShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'详情'"
width="850px"
top="5vh"
class="dialog-h"
@closed="diaDetailClose">
<staff-epid-detail ref="ref_detail"
@dialogCancle="diaDetailClose"></staff-epid-detail>
</el-dialog>
</div>
</template>
<script>
import staffEpidDetail from './staffEpidDetail'
import { requestPost } from "@/js/dai/request";
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
let loading //
export default {
data () {
return {
loading: false,
total: 0,
pageSize: 20,
pageNo: 0,
tableLoading: false,
isResiUser: true,
agencyId: '',
orgTypeList: [
{
value: 'current',
label: '本辖区居民检测记录'
},
{
value: 'all',
label: '全部检测记录'
},
],
isResiUserList: [
{
value: '0',
label: '否'
},
{
value: '1',
label: '是'
},
],
timeRange: [],
sampleTimeRange: [],
formData: {
orgType: 'current',//:current all
name: '',//
mobile: '',//
idCard: '',//
startTime: '',//yyyy-MM-dd HH:mm
endTime: '',//yyyy-MM-dd HH:mm
sampleStartTime: '',//yyyy-MM-dd HH:mm
sampleEndTime: '',//yyyy-MM-dd HH:mm
isResiUser: ''//0: 1:
},
tableData: [],
//form
formShow: false,
detailShow: false,
formTitle: '新增',
}
},
components: {
staffEpidDetail
},
async created () {
},
async mounted () {
//
const { user } = this.$store.state
this.agencyId = user.agencyId
await this.loadTable()
},
activated () {
this.$refs['ref_table'].doLayout()
},
methods: {
async handleSearch () {
this.isResiUser = this.formData.orgType === 'current'
await this.loadTable()
this.$nextTick(() => {
this.$refs.ref_table.doLayout() //
})
},
async loadTable () {
this.tableLoading = true
const url = "/epmetuser/icNat/natlist"
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/natlist"
let params = {
pageSize: this.pageSize,
pageNo: this.pageNo,
...this.formData
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.total = data.total
this.tableData = data.list
this.tableData.forEach(item => {
item.isResiUserShow = item.isLocalResiUser === '0' ? '否' : '是'
if (item.natResult === '1') {
item.natResultShow = '阳性'
} else if (item.natResult === '0') {
item.natResultShow = '阴性'
} else {
item.natResultShow = ''
}
});
} else {
this.$message.error(msg)
}
this.tableLoading = false
},
handleTimeChange (time) {
if (time) {
this.formData.startTime = time[0]
this.formData.endTime = time[1]
} else {
this.formData.startTime = ''
this.formData.endTime = ''
}
},
handleSampleTimeChange (time) {
if (time) {
this.formData.sampleStartTime = time[0]
this.formData.sampleEndTime = time[1]
} else {
this.formData.sampleStartTime = ''
this.formData.sampleEndTime = ''
}
},
diaClose () {
this.$refs.ref_form.resetData()
this.formShow = false
},
diaDetailClose () {
this.detailShow = false
},
handleDetail (row) {
this.formTitle = '详情'
this.detailShow = true
this.$nextTick(() => {
this.$refs.ref_detail.initForm(row.icNatId)
})
},
handleAdd () {
this.formTitle = '新增'
this.formShow = true
this.$nextTick(() => {
this.$refs.ref_form.initForm('add', null)
})
},
handleEdit (row) {
this.formTitle = '修改'
this.formShow = true
this.$nextTick(() => {
this.$refs.ref_form.initForm('edit', row.icNatId)
})
},
addFormOk () {
this.formShow = false
this.loadTable()
},
async handleDelete (row) {
let message = '确认删除?'
this.$confirm(message, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.deleteNat(row)
})
.catch(err => {
});
},
async deleteNat (row) {
const url = "/epmetuser/icNat/del"
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/del"
let params = {
icNatId: row.icNatId
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message({
type: "success",
message: "操作成功"
});
this.loadTable()
} else {
this.$message.error(msg)
}
},
async handleCancelAttention (row) {
let message = '取消同步后将不能在本辖区居民检测记录中查看,确认取消同步?'
this.$confirm(message, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.cancelAttention(row)
})
.catch(err => {
});
},
async cancelAttention (row) {
const url = "/epmetuser/icNat/cancelsynchro"
let params = {
icNatId: row.icNatId
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message({
type: "success",
message: "操作成功"
});
this.loadTable()
} else {
this.$message.error(msg)
}
},
async handleTiming (row) {
this.$confirm("确认执行定时任务?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.timingNat(row)
})
.catch(err => {
if (err == "cancel") {
}
});
},
async timingNat (row) {
const url = "/epmetuser/dataSyncConfig/natInfoScanTask"
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/synchro"
let params = {
isSync: '1',
dataCode: 'hesuan',
agencyId: this.agencyId
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message({
type: "success",
message: "操作成功"
});
// this.loadTable()
} else {
this.$message.error(msg)
}
},
async handleAttention (row) {
this.$confirm("确认将信息同步到本辖区核酸检测信息中心?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.attentionNat(row)
})
.catch(err => {
if (err == "cancel") {
}
});
},
async attentionNat (row) {
const url = "/epmetuser/icNat/synchro"
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNat/synchro"
let params = {
icNatId: row.icNatId
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message({
type: "success",
message: "操作成功"
});
this.loadTable()
} else {
this.$message.error(msg)
}
},
//
resetSearch () {
this.formData = {
orgType: 'current',//:current all
name: '',//
mobile: '',//
idCard: '',//
startTime: '',//yyyy-MM-dd HH:mm
endTime: '',//yyyy-MM-dd HH:mm
sampleStartTime: '',//yyyy-MM-dd HH:mm
sampleEndTime: '',//yyyy-MM-dd HH:mm
}
this.timeRange = []
this.sampleTimeRange = []
this.pageNo = 0
// this.loadTable()
},
handleSizeChange (val) {
this.pageSize = val
this.pageNo = 1
this.loadTable()
},
handleCurrentChange (val) {
this.pageNo = val
this.loadTable()
},
//
async handleExport () {
let title = '核酸检测信息'
const url = "/epmetuser/icNat/export"
app.ajax.exportFilePost(
url,
this.formData,
(data, rspMsg) => {
this.download(data, title + '.xlsx')
},
(rspMsg, data) => {
this.$message.error(rspMsg);
}
);
},
//
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);
}
},
handleExportModule () {
let title = '核酸检测信息导入模板'
const url = "/epmetuser/icNat/import-template-download"
let params = {}
app.ajax.exportFilePost(
url,
params,
(data, rspMsg) => {
this.download(data, title + '.xlsx')
},
(rspMsg, data) => {
this.$message.error(rspMsg);
}
);
},
//
beforeUpload (file) {
const array = file.name.split('.')
const extension = array[array.length - 1]
// const isLt1M = (file.size / 1024 / 1024) < 5
if (extension !== 'xlsx') {
this.$message.error('只能上传xlsx文件!')
return false
} else {
this.files = file;
this.fileName = file.name;
return true
}
},
//
handleExceed (files, fileList) {
this.$message.warning(`当前限制选择 1 个文件,请删除后继续上传`)
},
async uploadFile () {
if (this.fileName == "") {
this.$message.warning('请选择要上传的文件!')
return false
}
this.$message({
showClose: true,
message: '导入中,请到系统管理-导入记录中查看进度',
duration: 0
})
//
this.$refs['upload'].clearFiles()
var url = '/epmetuser/icNat/import'
let fileFormData = new FormData();
fileFormData.append('file', this.files);//filenamefiletest.zip
window.app.ajax.post2(url, fileFormData,
(data, rspMsg) => {
if (data.code === 0 && data.msg == 'success') {
// this.$message.success('')
} else {
// this.$message({
// showClose: true,
// message: rspMsg,
// duration: 0,
// type: "error"
// })
// this.$message.error(rspMsg)
}
// this.loadTable()
},
(rspMsg, data) => {
}, { headers: { 'Content-Type': 'multipart/form-data' } })
},
//
startLoading () {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
tableHeight () {
return this.$store.state.inIframe ? this.clientHeight - 420 + this.iframeHeight : this.clientHeight - 420
},
...mapGetters(['clientHeight', 'iframeHeight'])
},
watch: {
},
props: {
}
}
</script>
<style lang="scss" scoped >
@import "@/assets/scss/modules/management/epidemic.scss";
</style>

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

@ -45,17 +45,6 @@
</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"
@ -69,21 +58,6 @@
</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">
@ -116,10 +90,6 @@
<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"
@ -145,12 +115,6 @@
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"
@ -274,24 +238,10 @@ 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
scaleTotal: '',
scale: '',// 0:10 1:10-20 2:21-40 3:41-100 4:100
gridId: '',//Id
ninePlaceVal: '',//Value
isPage: true,//(:true :false)
@ -410,70 +360,7 @@ export default {
}
this.tableLoading = false
},
//
async handleExport () {
let title = "员工登记码";
const url = "/gov/org/enterprise/qrCodeExport";
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 () {
@ -569,18 +456,16 @@ export default {
//
resetSearch () {
this.formData = {
placeCategory: '',//01
placeOrgName: '',//
mobile: '',//
// scale: '',// 0:10 1:10-20 2:21-40 3:41-100 4:100
scaleTotal: '',
scale: '',// 0:10 1:10-20 2:21-40 3:41-100 4:100
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,10 +8,6 @@
<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>
@ -29,7 +25,7 @@
</div>
<div class="info-prop">
<span class="info-title-2">规模</span>
<span>{{ formData.scaleTotal||'--' }}</span>
<span>{{ formData.scaleName||'--' }}</span>
</div>
<div class="info-prop">
<span class="info-title-2">负责人</span>

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

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

550
src/views/modules/cpts/base/index.vue

@ -1,315 +1,256 @@
<template>
<div class="div_main">
<div v-show="true">
<div class="div_search" ref="ref_search">
<el-form :inline="true" ref="ref_searchform" label-width="100px">
<div class="div_search"
ref="ref_search">
<el-form :inline="true"
ref="ref_searchform"
label-width="100px">
<div>
<el-form-item
v-for="item in searchParams"
:key="'serach' + item.keyName"
:label="item.field"
:prop="item.keyName"
>
<el-form-item v-for="item in searchParams"
:key="'serach' + item.keyName"
:label="item.field"
:prop="item.keyName">
<template v-if="item.type == 'input'">
<el-input
v-model="item.value"
style="width: 240px"
size="small"
clearable
:placeholder="item.placeholder || '请输入'"
>
<el-input v-model="item.value"
style="width: 240px"
size="small"
clearable
:placeholder="item.placeholder || '请输入'">
</el-input>
</template>
<template v-else-if="item.type == 'select'">
<el-select
v-model="item.value"
:placeholder="item.placeholder || '请选择'"
size="small"
clearable
style="width: 240px"
:multiple="item.multiple || false"
>
<el-option
v-for="item in item.optionList"
:key="'serach' + item.keyName + item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model="item.value"
:placeholder="item.placeholder || '请选择'"
size="small"
clearable
style="width: 240px"
:multiple="item.multiple || false">
<el-option v-for="item in item.optionList"
:key="'serach' + item.keyName + item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<template v-else-if="item.type == 'cascader'">
<el-cascader
v-model="item.value"
:placeholder="item.placeholder || '请选择'"
:options="item.optionList"
:props="item.optionProps"
:show-all-levels="false"
size="small"
clearable
style="width: 240px"
@change="(e) => handleChangeCascader(e, item)"
>
<el-cascader v-model="item.value"
:placeholder="item.placeholder || '请选择'"
:options="item.optionList"
:props="item.optionProps"
:show-all-levels="false"
size="small"
clearable
style="width: 240px"
@change="(e) => handleChangeCascader(e, item)">
</el-cascader>
</template>
<template v-if="item.type == 'date-range'">
<el-date-picker
v-model="item.supValues[0]"
type="date"
placeholder="开始时间"
style="width: 150px"
value-format="yyyy-MM-dd"
clearable
>
<el-date-picker v-model="item.supValues[0]"
type="date"
placeholder="开始时间"
style="width: 150px"
value-format="yyyy-MM-dd"
clearable>
</el-date-picker>
<span style="display: inline-block; margin: 0 10px"></span>
<el-date-picker
v-model="item.supValues[1]"
type="date"
placeholder="结束时间"
style="width: 150px"
value-format="yyyy-MM-dd"
clearable
>
<el-date-picker v-model="item.supValues[1]"
type="date"
placeholder="结束时间"
style="width: 150px"
value-format="yyyy-MM-dd"
clearable>
</el-date-picker>
</template>
</el-form-item>
<el-button
style="margin-left: 30px; margin-bottom: 20px"
size="small"
class="diy-button--search"
@click="handleSearch"
>查询</el-button
>
<el-button
style="margin-left: 10px; margin-bottom: 20px"
size="small"
class="diy-button--reset"
@click="resetSearch"
>重置</el-button
>
<el-button style="margin-left: 30px; margin-bottom: 20px"
size="small"
class="diy-button--search"
@click="handleSearch">查询</el-button>
<el-button style="margin-left: 10px; margin-bottom: 20px"
size="small"
class="diy-button--reset"
@click="resetSearch">重置</el-button>
</div>
</el-form>
</div>
<div class="div_table" :style="{ height: maxTableHeight + 130 + 'px' }">
<div class="div_table"
:style="{ height: maxTableHeight + 130 + 'px' }">
<div class="div_btn">
<el-button
class="diy-button--add"
v-if="addUrl"
size="small"
@click="handleAdd"
>新增</el-button
>
<el-button
v-if="mubanUrl"
class="btn_upload diy-button--export"
size="small"
@click="handleExportModule('room')"
>下载模板</el-button
>
<el-upload
:headers="$getElUploadHeaders()"
v-if="importUrl"
ref="upload"
class="upload-btn"
action="uploadUlr"
:limit="1"
:accept="'.xls,.xlsx'"
:with-credentials="true"
:show-file-list="false"
:auto-upload="true"
:before-upload="beforeExcelUpload"
:http-request="uploadHttpRequest"
>
<el-button size="small" class="btn_upload diy-button--delete"
>导入</el-button
>
<el-button class="diy-button--add"
v-if="addUrl"
size="small"
@click="handleAdd">新增</el-button>
<el-button v-if="mubanUrl"
class="btn_upload diy-button--export"
size="small"
@click="handleExportModule('room')">下载模板</el-button>
<el-upload :headers="$getElUploadHeaders()"
v-if="importUrl"
ref="upload"
class="upload-btn"
action="uploadUlr"
:limit="1"
:accept="'.xls,.xlsx'"
:with-credentials="true"
:show-file-list="false"
:auto-upload="true"
:before-upload="beforeExcelUpload"
:http-request="uploadHttpRequest">
<el-button size="small"
class="btn_upload diy-button--delete">导入</el-button>
</el-upload>
<el-button
v-if="exportUrl"
@click="handleExport"
class="btn_upload diy-button--reset"
size="small"
>导出</el-button
>
<el-button
v-if="delMultipleUrl"
size="small"
@click="handleDeleteMultiple"
>批量删除</el-button
>
<slot
name="listBtn"
v-bind:multipleSelection="multipleSelection"
></slot>
<el-button v-if="exportUrl"
@click="handleExport"
class="btn_upload diy-button--reset"
size="small">导出</el-button>
<el-button v-if="qrCodeExportUrl"
@click="handleExportQrcode"
class="btn_upload diy-button--reset"
size="small">导出员工登记码</el-button>
<el-button v-if="delMultipleUrl"
size="small"
@click="handleDeleteMultiple">批量删除</el-button>
<slot name="listBtn"
v-bind:multipleSelection="multipleSelection"></slot>
</div>
<el-table
ref="ref_table"
:data="tableData"
border
:header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }"
class="table"
style="width: 100%"
:height="maxTableHeight"
@selection-change="handleSelectionChange"
>
<template v-for="(item, index) in tableParams" :prop="item.keyName">
<el-table-column
v-if="item.type == 'selection'"
:key="'table-selection' + index"
type="selection"
align="center"
width="50"
/>
<el-table-column
v-if="item.type == 'no'"
:key="'table-no' + item.keyName"
:label="item.field"
fixed="left"
type="index"
align="center"
width="50"
/>
<el-table-column
v-else-if="item.type == 'text'"
:key="'table' + item.keyName"
:prop="item.keyName"
:label="item.field"
align="center"
:width="item.width || ''"
:show-overflow-tooltip="true"
>
<el-table ref="ref_table"
:data="tableData"
border
:header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }"
class="table"
style="width: 100%"
:height="maxTableHeight"
@selection-change="handleSelectionChange">
<template v-for="(item, index) in tableParams"
:prop="item.keyName">
<el-table-column v-if="item.type == 'selection'"
:key="'table-selection' + index"
type="selection"
align="center"
width="50" />
<el-table-column v-if="item.type == 'no'"
:key="'table-no' + item.keyName"
:label="item.field"
fixed="left"
type="index"
align="center"
width="50" />
<el-table-column v-else-if="item.type == 'text'"
:key="'table' + item.keyName"
:prop="item.keyName"
:label="item.field"
align="center"
:width="item.width || ''"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
v-else-if="item.type == 'array'"
:key="'table-array' + item.keyName"
:prop="item.keyName"
:label="item.field"
align="center"
:width="item.width || ''"
:show-overflow-tooltip="true"
>
<el-table-column v-else-if="item.type == 'array'"
:key="'table-array' + item.keyName"
:prop="item.keyName"
:label="item.field"
align="center"
:width="item.width || ''"
:show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row[item.keyName].join(item.arrayDiv || ",") }}
</template>
</el-table-column>
</template>
<el-table-column
v-if="operateCol"
fixed="right"
label="操作"
align="center"
width="200"
>
<el-table-column v-if="operateCol"
fixed="right"
label="操作"
align="center"
width="200">
<template slot-scope="scope">
<slot name="listBtnbefore" v-bind:item="scope.row"></slot>
<el-button
v-if="infoUrl && infoAuth(scope.row)"
@click="handleWatch(scope.row)"
type="text"
size="small"
class=".div-table-button--detail"
>查看</el-button
>
<el-button
v-if="editUrl && editAuth(scope.row)"
@click="handleEdit(scope.row)"
type="text"
size="small"
class="div-table-button--edit"
>{{ editBtnName(scope.row) }}</el-button
>
<el-popconfirm
v-if="delUrl && delAuth(scope.row)"
title="删除之后无法回复,确认删除?"
@onConfirm="handleDelete(scope.row, scope.$index)"
@confirm="handleDelete(scope.row, scope.$index)"
>
<el-button
slot="reference"
type="text"
size="small"
style="margin-left: 10px"
class="div-table-button--delete"
>删除</el-button
>
<slot name="listBtnbefore"
v-bind:item="scope.row"></slot>
<el-button v-if="infoUrl && infoAuth(scope.row)"
@click="handleWatch(scope.row)"
type="text"
size="small"
class=".div-table-button--detail">查看</el-button>
<el-button v-if="editUrl && editAuth(scope.row)"
@click="handleEdit(scope.row)"
type="text"
size="small"
class="div-table-button--edit">{{ editBtnName(scope.row) }}</el-button>
<el-popconfirm v-if="delUrl && delAuth(scope.row)"
title="删除之后无法回复,确认删除?"
@onConfirm="handleDelete(scope.row, scope.$index)"
@confirm="handleDelete(scope.row, scope.$index)">
<el-button slot="reference"
type="text"
size="small"
style="margin-left: 10px"
class="div-table-button--delete">删除</el-button>
</el-popconfirm>
<slot name="listBtnSup" v-bind:item="scope.row"></slot>
<slot name="listBtnSup"
v-bind:item="scope.row"></slot>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
:total="total"
>
<el-pagination @size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
</div>
</div>
<!-- 修改弹出框 -->
<el-dialog
v-if="formShow"
:visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
:width="editParamsDiv ? '1100px' : '850px'"
top="5vh"
class="dialog-h"
@closed="handleClose"
>
<edit-form
v-if="formShow"
ref="editForm"
:idName="idName"
:formId="formId"
:formType="formType"
:infoUrl="infoUrl"
:addUrl="addUrl"
:editUrl="editUrl"
:editParams="editParams"
:editParamsDiv="editParamsDiv"
:editElseRules="editElseRules"
:editFixedParams="editFixedParams"
:formBtnFixed="formBtnFixed"
:editConfig="editConfig"
@close="handleClose"
@afterEdit="handleEditSuccess"
>
<el-dialog v-if="formShow"
:visible.sync="formShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="formTitle"
:width="editParamsDiv ? '1100px' : '850px'"
top="5vh"
class="dialog-h"
@closed="handleClose">
<edit-form v-if="formShow"
ref="editForm"
:idName="idName"
:formId="formId"
:formType="formType"
:infoUrl="infoUrl"
:addUrl="addUrl"
:editUrl="editUrl"
:editParams="editParams"
:editParamsDiv="editParamsDiv"
:editElseRules="editElseRules"
:editFixedParams="editFixedParams"
:formBtnFixed="formBtnFixed"
:editConfig="editConfig"
@close="handleClose"
@afterEdit="handleEditSuccess">
<template v-slot:bottomSup="{ id, formType, info }">
<slot
name="editBottomSup"
v-bind:id="id"
v-bind:formType="formType"
v-bind:info="info"
></slot>
<slot name="editBottomSup"
v-bind:id="id"
v-bind:formType="formType"
v-bind:info="info"></slot>
</template>
<template v-slot:operateSup="{ id, formType, info }">
<slot
name="editOperateSup"
v-bind:id="id"
v-bind:formType="formType"
v-bind:info="info"
></slot>
<slot name="editOperateSup"
v-bind:id="id"
v-bind:formType="formType"
v-bind:info="info"></slot>
</template>
</edit-form>
</el-dialog>
@ -370,6 +311,10 @@ export default {
type: String,
default: "",
},
qrCodeExportUrl: {
type: String,
default: "",
},
importUrl: {
type: String,
default: "",
@ -438,7 +383,7 @@ export default {
},
},
data() {
data () {
return {
tableData: [],
@ -458,7 +403,7 @@ export default {
},
computed: {
maxTableHeight() {
maxTableHeight () {
const { ref_search_height } = this;
return this.$store.state.inIframe
? this.clientHeight - ref_search_height - 265 + this.iframeHeight
@ -469,7 +414,7 @@ export default {
watch: {},
async mounted() {
async mounted () {
console.log(this.$store.state);
this.user = this.$store.state.user;
@ -483,24 +428,24 @@ export default {
this.computeSearchHeight();
},
activated() {
activated () {
console.log("-------------activated");
this.$refs["ref_table"].doLayout();
},
methods: {
handleSelectionChange(val) {
handleSelectionChange (val) {
console.log(val);
this.multipleSelection = val;
},
computeSearchHeight() {
computeSearchHeight () {
this.ref_search_height = this.$refs["ref_search"].clientHeight;
console.log(this.$refs["ref_search"]);
console.log(this.ref_search_height);
},
iniSearchData() {
iniSearchData () {
const { searchParams } = this;
searchParams.forEach((item, index) => {
if (item.type == "select" || item.type == "cascader") {
@ -516,7 +461,7 @@ export default {
});
},
async getFmOptions(index, url, params, cookFn) {
async getFmOptions (index, url, params, cookFn) {
const { data, code, msg } = await requestPost(url, {
...params,
});
@ -529,19 +474,19 @@ export default {
}
},
handleChangeCascader(vals, item) {
handleChangeCascader (vals, item) {
if (typeof item.handleChangeFn == "function") {
item.handleChangeFn(vals, item);
}
},
handleSearch(val) {
handleSearch (val) {
this.pageNo = 1;
this.getTableData();
},
beforeExcelUpload(file) {
beforeExcelUpload (file) {
console.log("file", file);
const isType = file.type === "application/vnd.ms-excel";
const isTypeComputer =
@ -559,7 +504,7 @@ export default {
return fileType && isLt1M;
},
async uploadHttpRequest(file) {
async uploadHttpRequest (file) {
let { importUrl: url } = this;
if (!url) return;
@ -588,7 +533,7 @@ export default {
});
},
async handleExportModule() {
async handleExportModule () {
let { mubanUrl: url } = this;
if (!url) return;
@ -625,7 +570,7 @@ export default {
});
},
async handleExport() {
async handleExport () {
const { exportUrl: url } = this;
if (!url) return;
@ -662,14 +607,51 @@ export default {
return this.$message.error("网络错误");
});
},
async handleExportQrcode () {
const { qrCodeExportUrl: url } = this;
if (!url) return;
const { pageSize, pageNo } = this;
axios({
url: window.SITE_CONFIG["apiURL"] + url,
method: "post",
data: {
pageSize,
pageNo,
...this.computeFmData(),
},
responseType: "blob",
})
.then((res) => {
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
})
.catch((err) => {
console.log("获取导出情失败", err);
return this.$message.error("网络错误");
});
},
handleAdd() {
handleAdd () {
this.formType = "add";
this.formTitle = "新增";
this.formShow = true;
},
handleWatch(row) {
handleWatch (row) {
const { idName } = this;
this.formType = "watch";
this.formId = row[idName];
@ -677,7 +659,7 @@ export default {
this.formShow = true;
},
handleEdit(row) {
handleEdit (row) {
const { idName } = this;
this.formType = "edit";
this.formId = row[idName];
@ -685,17 +667,17 @@ export default {
this.formShow = true;
},
handleClose() {
handleClose () {
this.formShow = false;
this.getTableData();
},
handleEditSuccess() {
handleEditSuccess () {
this.handleClose();
// this.getTableData();
},
async handleDeleteMultiple() {
async handleDeleteMultiple () {
let { delMultipleUrl: url } = this;
if (!url) return;
@ -713,7 +695,7 @@ export default {
}
},
async handleDelete(rowData, rowIndex) {
async handleDelete (rowData, rowIndex) {
console.log(rowData, rowIndex);
let { delUrl: url } = this;
if (!url) return;
@ -741,7 +723,7 @@ export default {
}
},
computeFmData() {
computeFmData () {
let fmData = {};
this.searchParams.forEach((item) => {
fmData[item.keyName] = item.value;
@ -754,11 +736,11 @@ export default {
return fmData;
},
refresh() {
refresh () {
this.getTableData();
},
async getTableData() {
async getTableData () {
const { tableUrl: url } = this;
if (!url) return;
@ -777,17 +759,17 @@ export default {
}
},
handleSizeChange(val) {
handleSizeChange (val) {
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getTableData();
},
handleCurrentChange(val) {
handleCurrentChange (val) {
this.pageNo = val;
this.getTableData();
},
resetSearch() {
resetSearch () {
console.log("----------------resetSearch", this.searchParams);
this.searchParams.forEach((item) => {
if (typeof item.value == "string") {

108
src/views/modules/shequzhili/tuceng/anquan/xuncha/index.vue

@ -1,33 +1,30 @@
<template>
<div>
<base-page
:searchParams="searchParams"
:tableParams="tableParams"
:tableUrl="tableUrl"
:addUrl="addUrl"
:editUrl="editUrl"
:delUrl="delUrl"
:infoUrl="infoUrl"
:editAuth="editAuth"
:delAuth="delAuth"
:exportUrl="exportUrl"
:importUrl="importUrl"
:mubanUrl="mubanUrl"
:editParams="editParams"
:editElseRules="editElseRules"
:editFixedParams="editFixedParams"
:editParamsDiv="5"
:editBtnName="(item) => (!item.latitude ? '待完善' : '修改')"
:formBtnFixed="false"
idName="enterpriseId"
>
<base-page :searchParams="searchParams"
:tableParams="tableParams"
:tableUrl="tableUrl"
:addUrl="addUrl"
:editUrl="editUrl"
:delUrl="delUrl"
:infoUrl="infoUrl"
:editAuth="editAuth"
:delAuth="delAuth"
:exportUrl="exportUrl"
:qrCodeExportUrl="qrCodeExportUrl"
:importUrl="importUrl"
:mubanUrl="mubanUrl"
:editParams="editParams"
:editElseRules="editElseRules"
:editFixedParams="editFixedParams"
:editParamsDiv="5"
:editBtnName="(item) => (!item.latitude ? '待完善' : '修改')"
:formBtnFixed="false"
idName="enterpriseId">
<template v-slot:editBottomSup="{ id, formType, info }">
<record
v-if="formType != 'add' && id"
:formType="formType"
:enterpriseId="id"
:enterpriseInfo="info"
></record>
<record v-if="formType != 'add' && id"
:formType="formType"
:enterpriseId="id"
:enterpriseInfo="info"></record>
</template>
</base-page>
</div>
@ -41,7 +38,7 @@ export default {
components: { basePage, record },
props: {},
data() {
data () {
return {
searchParams: [
{ field: "场所名称", keyName: "placeOrgName", type: "input" },
@ -57,6 +54,24 @@ export default {
},
optionList: [],
},
{
field: "场所类别",
keyName: "placeCategory",
type: "select",
optionUrl: "",
optionUrlParams: {},
optionList: [
{
value: '0',
label: '九小场所'
},
{
value: '1',
label: '企事业单位'
}
],
},
{
field: "场所类型",
keyName: "placeType",
@ -99,6 +114,7 @@ export default {
{ field: "序号", keyName: "", type: "no" },
{ field: "场所名称", keyName: "placeOrgName", type: "text" },
{ field: "场所地址", keyName: "address", type: "text" },
{ field: "场所类别", keyName: "placeCategoryName", type: "text" },
{ field: "场所类型", keyName: "placeTypeName", type: "text" },
{ field: "规模", keyName: "scaleName", type: "text" },
{ field: "负责人", keyName: "personInCharge", type: "text" },
@ -110,19 +126,41 @@ export default {
mubanUrl: "/gov/org/enterprise/download-tem",
importUrl: "/gov/org/enterprise/import",
exportUrl: "/gov/org/enterprise/export",
qrCodeExportUrl: "/gov/org/enterprise/qrCodeExport",
addUrl: "/gov/org/enterprise/addOrUpdate",
editUrl: "/gov/org/enterprise/addOrUpdate",
infoUrl: "/gov/org/enterprise/detail/",
delUrl: "/gov/org/enterprise/delete/",
editAuth(item) {
editAuth (item) {
return item.agencyId == this.$store.state.user.agencyId;
},
delAuth(item) {
delAuth (item) {
return item.agencyId == this.$store.state.user.agencyId;
},
editParams: [
{
field: "场所类别",
keyName: "placeCategory",
type: "select",
optionUrl: "",
optionUrlParams: {
// dictType: "ic_service_type",
},
optionList: [{
value: '0',
label: '九小场所'
},
{
value: '1',
label: '企事业单位'
}],
editDisabled: true,
rules: [
{ required: true, message: "场所类别不能为空", trigger: "blur" },
],
},
{
field: "场所类型",
keyName: "placeType",
@ -241,7 +279,15 @@ export default {
computed: {},
watch: {},
async mounted() {},
async mounted () {
//45687aa479955f9d06204d415238f7cc
// 3fdd0380deff5b30f45376cdf995d1c1
// 1535072605621841922
let customerId = localStorage.getItem("customerId");
this.qrCodeExportUrl = ''
if (customerId === '45687aa479955f9d06204d415238f7cc' || customerId === '3fdd0380deff5b30f45376cdf995d1c1' || customerId === '1535072605621841922')
this.qrCodeExportUrl = '/gov/org/enterprise/qrCodeExport'
},
methods: {},
};

Loading…
Cancel
Save