| | |
| | | } |
| | | }) |
| | | } |
| | | export const selectTy = (hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/selectTy', |
| | | method: 'post', |
| | | params: { |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | export const deletey = (hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/deletey', |
| | | method: 'post', |
| | | params: { |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | export const deletes = (hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/deletes', |
| | | method: 'post', |
| | | params: { |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | export const deleter = (hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/deleter', |
| | | method: 'post', |
| | | params: { |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | export const selectTs = (hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/selectTs', |
| | | method: 'post', |
| | | params: { |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | export const selectTr = (hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/selectTr', |
| | | method: 'post', |
| | | params: { |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const remove = (ids) => { |
| | | return request({ |
| | |
| | | data: row |
| | | }) |
| | | } |
| | | export const instery = (dj, had, ht, ctime, content,hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/instery', |
| | | method: 'post', |
| | | params: { |
| | | dj, |
| | | had, |
| | | ht, |
| | | ctime, |
| | | content, |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | export const insertsr = (category, attributes, developers, had, housetype, content, hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/insertsr', |
| | | method: 'post', |
| | | params: { |
| | | category, |
| | | attributes, |
| | | developers, |
| | | had, |
| | | housetype, |
| | | content, |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | export const updateInfor = (category, attributes, developers, had, housetype, content, hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/updateInfor', |
| | | method: 'post', |
| | | params: { |
| | | category, |
| | | attributes, |
| | | developers, |
| | | had, |
| | | housetype, |
| | | content, |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const updateInfoy = (dj, had, ht, ctime, content,hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/updateInfoy', |
| | | method: 'post', |
| | | params: { |
| | | dj, |
| | | had, |
| | | ht, |
| | | ctime, |
| | | content, |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | export const insertss = (nature, had, motto, ctime, content,hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/insertss', |
| | | method: 'post', |
| | | params: { |
| | | nature, |
| | | had, |
| | | motto, |
| | | ctime, |
| | | content, |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | export const updateInfos = (nature, had, motto, ctime, content,hn) => { |
| | | return request({ |
| | | url: '/api/blade-system/tenant/updateInfoy', |
| | | method: 'post', |
| | | params: { |
| | | nature, |
| | | had, |
| | | motto, |
| | | ctime, |
| | | content, |
| | | hn |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const setting = (ids, form) => { |
| | | return request({ |
| | |
| | | plain |
| | | @click="handleDelete">删 除 |
| | | </el-button> |
| | | <el-button size="small" |
| | | plain |
| | | v-if="userInfo.role_name.includes('administrator')" |
| | | icon="el-icon-setting" |
| | | @click="handleSetting">授权配置 |
| | | </el-button> |
| | | <el-button size="small" |
| | | plain |
| | | v-if="userInfo.role_name.includes('administrator')" |
| | | icon="el-icon-coin" |
| | | @click="handleDatasource">数据源配置 |
| | | </el-button> |
| | | <!-- <el-button size="small"--> |
| | | <!-- plain--> |
| | | <!-- v-if="userInfo.role_name.includes('administrator')"--> |
| | | <!-- icon="el-icon-setting"--> |
| | | <!-- @click="handleSetting">授权配置--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button size="small"--> |
| | | <!-- plain--> |
| | | <!-- v-if="userInfo.role_name.includes('administrator')"--> |
| | | <!-- icon="el-icon-coin"--> |
| | | <!-- @click="handleDatasource">数据源配置--> |
| | | <!-- </el-button>--> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="accountNumber"> |
| | |
| | | slot="expireTime"> |
| | | <el-tag>{{ row.expireTime ? row.expireTime : '不限制' }}</el-tag> |
| | | </template> |
| | | <template slot-scope="{ row }" slot="jfzt"> |
| | | <i class="el-icon-check client-jf" v-if="row.type == '0'"></i> |
| | | <i class="el-icon-close client-qf" v-else-if="row.type == '1'"></i> |
| | | <template slot-scope="{row}" slot="type"> |
| | | <el-tag>{{row.type==='0'?'医院':row.type==='1'?'学校':row.type==='2'?'小区':'未知'}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="租户授权配置" |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import {getList, getDetail, remove, update, add, setting, datasource} from "@/api/system/tenant"; |
| | | import {getList, getDetail, remove, update, add, setting, datasource,instery,updateInfoy,selectTy,insertss,updateInfos,selectTs,insertsr,updateInfor,selectTr,deletey,deletes,deleter} from "@/api/system/tenant"; |
| | | import {mapGetters} from "vuex"; |
| | | import AvueMap from 'avue-plugin-map' |
| | | import website from "@/config/website"; |
| | | |
| | | import {getRoleTree} from "@/api/system/role"; |
| | | import AvueMap from 'avue-plugin-map' |
| | | var that; |
| | | export default { |
| | | |
| | | data() { |
| | | that = this; |
| | | return { |
| | | form: {}, |
| | | selectionList: [], |
| | |
| | | }] |
| | | }, |
| | | { |
| | | label: "用户名称", |
| | | label: "客户名称", |
| | | prop: "tenantName", |
| | | search: true, |
| | | width: 190, |
| | | span: 24, |
| | | span: 12, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入参数名称", |
| | |
| | | width: 150, |
| | | }, |
| | | { |
| | | label: "省份", |
| | | prop: "province", |
| | | search: true, |
| | | searchSpan: 3, |
| | | searchLabelWidth: 45, |
| | | placeholder: "省份", |
| | | type: "select", |
| | | props: { |
| | | label: "name", |
| | | value: "code" |
| | | }, |
| | | cascaderItem: ["city", "district"], |
| | | dicUrl: "/api/blade-system/region/select", |
| | | span: 6, |
| | | className: "cityClass1" |
| | | }, |
| | | { |
| | | label: "地市", |
| | | prop: "city", |
| | | type: "select", |
| | | searchPlaceholder: "地市", |
| | | placeholder: "地市", |
| | | searchLabelWidth: 1, |
| | | searchSpan: 2, |
| | | search: true, |
| | | props: { |
| | | label: "name", |
| | | value: "code" |
| | | }, |
| | | dicUrl: "/api/blade-system/region/select?code={{key}}", |
| | | span: 3, |
| | | labelWidth: "0", |
| | | className: "cityClass2" |
| | | }, |
| | | { |
| | | label: "区县", |
| | | searchSpan: 2, |
| | | searchLabelWidth: 1, |
| | | searchPlaceholder: "区县", |
| | | placeholder: "区县", |
| | | search: true, |
| | | prop: "district", |
| | | type: "select", |
| | | props: { |
| | | label: "name", |
| | | value: "code" |
| | | }, |
| | | dicUrl: "/api/blade-system/region/select?code={{key}}", |
| | | span: 3, |
| | | labelWidth: "0", |
| | | className: "cityClass3" |
| | | }, |
| | | { |
| | | label: '坐标', |
| | | prop: 'map', |
| | | hide: true, |
| | | span: 24, |
| | | component: "AvueMap", |
| | | }, |
| | | { |
| | | label: '经度', |
| | | hide: true, |
| | | addDisplay: false, |
| | | prop: 'jd', |
| | | }, |
| | | { |
| | | label: '纬度', |
| | | hide: true, |
| | | addDisplay: false, |
| | | prop: 'wd', |
| | | }, |
| | | { |
| | | label: "账号额度", |
| | | prop: "accountNumber", |
| | | width: 90, |
| | | slot: true, |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | }, |
| | |
| | | prop: "expireTime", |
| | | width: 180, |
| | | slot: true, |
| | | hide: true, |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | }, |
| | | { |
| | | label: "类型", |
| | | prop: "type", |
| | | width: 80, |
| | | type: "select", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择类型", |
| | | trigger: "blur" |
| | | }], |
| | | dicData: [ |
| | | { |
| | | label: "医院", |
| | | value: "0" |
| | | }, |
| | | { |
| | | label: "学校", |
| | | value: "1" |
| | | }, |
| | | { |
| | | label: "小区", |
| | | value: "2" |
| | | } |
| | | ], |
| | | change: function (value,column) { |
| | | if (value.value == "0") { |
| | | that.option.group = [ |
| | | { |
| | | label: '详细信息', |
| | | prop: 'detailInfo', |
| | | icon: 'el-icon-s-order', |
| | | column: [ |
| | | { |
| | | label: "医院等级", |
| | | prop: "dj", |
| | | hide: true, |
| | | dicData: [], |
| | | props: { |
| | | label: "title", |
| | | value:"" |
| | | }, |
| | | checkStrictly: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入医院等级", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "医院类别", |
| | | prop: "ht", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入医院类别", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "成立时间", |
| | | type: "datetime", |
| | | prop: "ctime", |
| | | format: "yyyy-MM-dd", |
| | | valueFormat: "yyyy-MM-dd", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入成立时间", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "地址", |
| | | prop:"had", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入地址", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "介绍", |
| | | prop: "content", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入介绍", |
| | | trigger: "blur" |
| | | }], |
| | | span:24, |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | else if (value.value=="1"){ |
| | | that.option.group = [ |
| | | { |
| | | label: '详细信息', |
| | | prop: 'dutyInfo', |
| | | icon: 'el-icon-s-custom', |
| | | column: [ |
| | | { |
| | | label: "学校性质", |
| | | prop: "nature", |
| | | hide: true, |
| | | dicData: [], |
| | | props: { |
| | | label: "title", |
| | | value:"" |
| | | }, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入学校性质", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "校训", |
| | | prop: "motto", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入校训", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "创办时间", |
| | | type: "datetime", |
| | | prop: "ctime", |
| | | format: "yyyy-MM-dd", |
| | | valueFormat: "yyyy-MM-dd", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入创办时间" |
| | | }] |
| | | }, |
| | | { |
| | | label: "地址", |
| | | prop:"had", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入地址" |
| | | }] |
| | | }, |
| | | { |
| | | label: "介绍", |
| | | prop: "content", |
| | | span:24, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入介绍" |
| | | }] |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | else if (value.value=="2") { |
| | | that.option.group = [ |
| | | { |
| | | label: '详细信息', |
| | | prop: 'baseInfo', |
| | | icon: 'el-icon-s-solid', |
| | | column: [ |
| | | { |
| | | label: "小区类别", |
| | | prop: "category", |
| | | hide: true, |
| | | dicData: [], |
| | | props: { |
| | | label: "title", |
| | | value:"" |
| | | }, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入小区类别" |
| | | }] |
| | | }, |
| | | { |
| | | label: "小区属性", |
| | | prop: "attributes", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入小区属性" |
| | | }] |
| | | }, |
| | | { |
| | | label: "开发商", |
| | | prop:"developers", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入开发商" |
| | | }] |
| | | }, |
| | | { |
| | | label: "地址", |
| | | prop:"had", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入地址" |
| | | }] |
| | | }, |
| | | { |
| | | label: "户型", |
| | | prop:"housetype", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入户型" |
| | | }] |
| | | }, |
| | | { |
| | | label: "介绍", |
| | | prop: "content", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入介绍" |
| | | }], |
| | | span:24, |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | else { |
| | | that.option.group =[] |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | label: "绑定域名", |
| | | prop: "domain", |
| | | span: 24, |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "系统背景", |
| | |
| | | }, |
| | | ], |
| | | group: [ |
| | | { |
| | | label: '基础信息', |
| | | prop: 'baseInfo', |
| | | icon: 'el-icon-user-solid', |
| | | column: [ |
| | | ] |
| | | }, |
| | | { |
| | | label: '详细信息', |
| | | prop: 'detailInfo', |
| | | icon: 'el-icon-s-order', |
| | | column: [ |
| | | { |
| | | label: "用户昵称", |
| | | prop: "name", |
| | | hide: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入用户昵称", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | { |
| | | label: "用户姓名", |
| | | prop: "realName", |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入用户姓名", |
| | | trigger: "blur" |
| | | }, { |
| | | min: 2, |
| | | max: 5, |
| | | message: '姓名长度在2到5个字符' |
| | | }] |
| | | }, |
| | | { |
| | | label: "手机号码", |
| | | prop: "phone", |
| | | overHidden: true |
| | | }, |
| | | { |
| | | label: "电子邮箱", |
| | | prop: "email", |
| | | hide: true, |
| | | overHidden: true |
| | | }, |
| | | { |
| | | label: "用户性别", |
| | | prop: "sex", |
| | | type: "select", |
| | | dicData: [ |
| | | { |
| | | label: "男", |
| | | value: 1 |
| | | }, |
| | | { |
| | | label: "女", |
| | | value: 2 |
| | | }, |
| | | { |
| | | label: "未知", |
| | | value: 3 |
| | | } |
| | | ], |
| | | hide: true |
| | | }, |
| | | { |
| | | label: "用户生日", |
| | | type: "date", |
| | | prop: "birthday", |
| | | format: "yyyy-MM-dd hh:mm:ss", |
| | | valueFormat: "yyyy-MM-dd hh:mm:ss", |
| | | hide: true |
| | | }, |
| | | { |
| | | label: "账号状态", |
| | | prop: "statusName", |
| | | hide: true, |
| | | display: false |
| | | } |
| | | ] |
| | | }, |
| | | ] |
| | | }, |
| | | data: [], |
| | |
| | | } |
| | | }; |
| | | }, |
| | | watch:{ |
| | | 'form.map':{// form是表单或者表格绑定的数据集,v-model='form' |
| | | handler(val){ |
| | | this.form.jd = val.latitude |
| | | this.form.wd = val.longitude |
| | | }, |
| | | immediate: true |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["userInfo", "permission"]), |
| | | permissionList() { |
| | |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | if (row.type=="0"){ |
| | | instery(row.dj,row.had,row.ht,row.ctime,row.content,row.tenantName); |
| | | } |
| | | else if (row.type=="1"){ |
| | | insertss(row.nature,row.had,row.motto,row.ctime,row.content,row.tenantName); |
| | | } |
| | | else if (row.type=="2") { |
| | | insertsr(row.category, row.attributes, row.developers,row.had, row.housetype, row.content, row.hn) |
| | | } |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | |
| | | }); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | if (row.type=="0"){ |
| | | updateInfoy(row.dj,row.had,row.ht,row.ctime,row.content,row.tenantName); |
| | | } |
| | | else if (row.type=="1"){ |
| | | updateInfos(row.nature,row.had,row.motto,row.ctime,row.content,row.tenantName); |
| | | } |
| | | else if (row.type=="2"){ |
| | | updateInfor(row.category, row.attributes, row.developers,row.had, row.housetype, row.content, row.tenantName) |
| | | } |
| | | update(row).then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | if (row.type=="0"){ |
| | | deletey(row.tenantName) |
| | | } |
| | | else if (row.type=="1"){ |
| | | deletes(row.tenantName) |
| | | } |
| | | else if (row.type=="2"){ |
| | | deleter(row.tenantName) |
| | | } |
| | | return remove(row.id); |
| | | }) |
| | | .then(() => { |
| | |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["view"].includes(type)) { |
| | | if (["edit"].includes(type)) { |
| | | getDetail(this.form.id).then(res => { |
| | | const data = res.data.data; |
| | | if (!(data.accountNumber > 0)) { |
| | | data.accountNumber = "不限制"; |
| | | if (this.form.type=="1"){ |
| | | const data = res.data.data; |
| | | selectTs(this.form.tenantName).then( re=>{ |
| | | const data = res.data.data; |
| | | data.nature=re.data.data[0].nature |
| | | data.motto=re.data.data[0].motto |
| | | data.ctime=re.data.data[0].ctime |
| | | data.had=re.data.data[0].had |
| | | data.content=re.data.data[0].content |
| | | this.form = data; |
| | | }) |
| | | } |
| | | if (!data.expireTime) { |
| | | data.expireTime = "不限制"; |
| | | else if (this.form.type=="0"){ |
| | | selectTy(this.form.tenantName).then( re=>{ |
| | | const data = res.data.data; |
| | | data.dj=re.data.data[0].dj |
| | | data.ht=re.data.data[0].ht |
| | | data.ctime=re.data.data[0].ctime |
| | | data.had=re.data.data[0].had |
| | | data.content=re.data.data[0].content |
| | | this.form = data; |
| | | }) |
| | | } |
| | | this.form = data; |
| | | else if (this.form.type=="2"){ |
| | | selectTr(this.form.tenantName).then( re=>{ |
| | | const data = res.data.data; |
| | | data.category=re.data.data[0].category |
| | | data.attributes=re.data.data[0].attributes |
| | | data.developers=re.data.data[0].developers |
| | | data.had=re.data.data[0].had |
| | | data.housetype=re.data.data[0].housetype |
| | | data.content=re.data.data[0].content |
| | | this.form = data; |
| | | }) |
| | | } |
| | | |
| | | }); |
| | | } |
| | | else if (["view"].includes(type)){ |
| | | getDetail(this.form.id).then(res => { |
| | | if (this.form.type=="1") { |
| | | selectTs(this.form.tenantName).then( re=>{ |
| | | const data = res.data.data; |
| | | data.nature=re.data.data[0].nature |
| | | data.motto=re.data.data[0].motto |
| | | data.ctime=re.data.data[0].ctime |
| | | data.had=re.data.data[0].had |
| | | data.content=re.data.data[0].content |
| | | if (!(data.accountNumber > 0)) { |
| | | data.accountNumber = "不限制"; |
| | | } |
| | | if (!data.expireTime) { |
| | | data.expireTime = "不限制"; |
| | | } |
| | | this.form = data; |
| | | }) |
| | | } |
| | | else if (this.form.type=="0"){ |
| | | selectTy(this.form.tenantName).then( re=>{ |
| | | const data = res.data.data; |
| | | data.dj=re.data.data[0].dj |
| | | data.ht=re.data.data[0].ht |
| | | data.ctime=re.data.data[0].ctime |
| | | data.had=re.data.data[0].had |
| | | data.content=re.data.data[0].content |
| | | if (!(data.accountNumber > 0)) { |
| | | data.accountNumber = "不限制"; |
| | | } |
| | | if (!data.expireTime) { |
| | | data.expireTime = "不限制"; |
| | | } |
| | | this.form = data; |
| | | }) |
| | | } |
| | | else if (this.form.type=="2"){ |
| | | selectTr(this.form.tenantName).then( re=>{ |
| | | const data = res.data.data; |
| | | data.category=re.data.data[0].category |
| | | data.attributes=re.data.data[0].attributes |
| | | data.developers=re.data.data[0].developers |
| | | data.had=re.data.data[0].had |
| | | data.housetype=re.data.data[0].housetype |
| | | data.content=re.data.data[0].content |
| | | if (!(data.accountNumber > 0)) { |
| | | data.accountNumber = "不限制"; |
| | | } |
| | | if (!data.expireTime) { |
| | | data.expireTime = "不限制"; |
| | | } |
| | | this.form = data; |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | done(); |