Commit 084d3990 by zhuzhequan

修改状态查询

parent 0001c842
...@@ -37,3 +37,7 @@ export function deleteData(ids) { ...@@ -37,3 +37,7 @@ export function deleteData(ids) {
params: { ids }, params: { ids },
}) })
} }
export function getStatusSelect() {
return axios.get('/sys/domain/getErpStatusList')
}
\ No newline at end of file
<template> <template>
<div class="saas-manage card"> <div class="saas-manage card">
<div class="search"> <div class="search">
<el-form <el-form :model="searchForm" size="small" :inline="true">
:model="searchForm"
size="small"
:inline="true"
>
<el-form-item label=""> <el-form-item label="">
<el-select <el-select
style="width: 80px" style="width: 80px"
v-model="searchForm.timeProp" v-model="searchForm.timeProp"
placeholder="请选择" placeholder="请选择">
> <el-option label="创建时间" value="createTime"></el-option>
<el-option <el-option label="过期时间" value=""></el-option>
label="创建时间"
value="createTime"
></el-option>
<el-option
label="过期时间"
value=""
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -30,68 +19,67 @@ ...@@ -30,68 +19,67 @@
value-format="yyyy-MM-dd HH:ss:mm" value-format="yyyy-MM-dd HH:ss:mm"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"></el-date-picker>
>
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="域名"> <el-form-item label="域名">
<el-input <el-input
size="small" size="small"
style="width: 160px" style="width: 160px"
v-model.trim="searchForm.domain" v-model.trim="searchForm.domain"
placeholder="请输入域名" placeholder="请输入域名"></el-input>
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="状态"> <el-form-item label="状态">
<el-input <el-select
v-model="searchForm.status"
style="width: 160px" style="width: 160px"
size="small" v-model="searchForm.status"
placeholder="请选择状态" placeholder="请选择">
></el-input> <el-option
v-for="(it, i) in statusList"
:key="i"
:label="it.value"
:value="it.key"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="公司名称"> <el-form-item label="公司名称">
<el-input <el-input
size="small" size="small"
style="width: 160px" style="width: 160px"
v-model="searchForm.companyName" v-model="searchForm.companyName"
placeholder="请输入公司名称" placeholder="请输入公司名称"></el-input>
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="负责人"> <el-form-item label="负责人">
<el-input <el-input
size="small" size="small"
style="width: 160px" style="width: 160px"
v-model="searchForm.headName" v-model="searchForm.headName"
placeholder="请输入负责人" placeholder="请输入负责人"></el-input>
></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button
type="primary" type="primary"
size="small" size="small"
icon="el-icon-search" icon="el-icon-search"
@click="search" @click="search">
>查询</el-button 查询
> </el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button
type="success" type="success"
size="small" size="small"
icon="el-icon-plus" icon="el-icon-plus"
@click="addData" @click="addData">
>开通erp</el-button 开通erp
> </el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button
type="danger" type="danger"
size="small" size="small"
icon="el-icon-delete" icon="el-icon-delete"
@click="deleteData" @click="deleteData">
>删除</el-button 删除
> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -105,34 +93,26 @@ ...@@ -105,34 +93,26 @@
:highlight-current-row="true" :highlight-current-row="true"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@row-click="rowClick" @row-click="rowClick"
header-row-class-name="header-row-class-name" header-row-class-name="header-row-class-name">
>
<el-table-column <el-table-column
type="selection" type="selection"
width="55" width="55"
header-align="center" header-align="center"
align="center" align="center"></el-table-column>
>
</el-table-column>
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
width="50" width="50"
align="center" align="center"
header-align="center" header-align="center"></el-table-column>
>
</el-table-column>
<el-table-column <el-table-column
label="域名" label="域名"
prop="domain" prop="domain"
min-width="160" min-width="160"
header-align="center" header-align="center"
:show-overflow-tooltip="true" :show-overflow-tooltip="true">
>
<template slot-scope="scope"> <template slot-scope="scope">
<a :href="scope.row.domain">{{ <a :href="scope.row.domain">{{ scope.row.domain }}</a>
scope.row.domain
}}</a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -141,85 +121,68 @@ ...@@ -141,85 +121,68 @@
header-align="center" header-align="center"
align="center" align="center"
width="180" width="180"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"></el-table-column>
></el-table-column>
<el-table-column <el-table-column
label="负责人" label="负责人"
prop="headName" prop="headName"
header-align="center" header-align="center"
align="center" align="center"
width="80" width="80"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"></el-table-column>
></el-table-column>
<el-table-column <el-table-column
label="联系电话" label="联系电话"
prop="contactPhone" prop="contactPhone"
header-align="center" header-align="center"
align="center" align="center"
width="120" width="120"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"></el-table-column>
></el-table-column>
<el-table-column <el-table-column
label="套餐" label="套餐"
prop="packages" prop="packages"
header-align="center" header-align="center"
align="center" align="center"
width="120" width="120"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"></el-table-column>
></el-table-column>
<el-table-column <el-table-column
label="资费" label="资费"
prop="charges" prop="charges"
header-align="center" header-align="center"
align="center" align="center"
width="120" width="120"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"></el-table-column>
></el-table-column>
<el-table-column <el-table-column
label="状态" label="状态"
header-align="center" header-align="center"
align="center" align="center"
width="80" prop="statusTxt"
:show-overflow-tooltip="true" width="150"
> :show-overflow-tooltip="true" />
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"
disabled
active-color="#13ce66"
inactive-color="#ff4949"
></el-switch>
</template>
</el-table-column>
<el-table-column <el-table-column
label="创建时间" label="创建时间"
prop="createTime" prop="createTime"
header-align="center" header-align="center"
align="center" align="center"
width="160" width="160"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"></el-table-column>
></el-table-column>
<el-table-column <el-table-column
label="过期时间" label="过期时间"
prop="expireTime" prop="expireTime"
header-align="center" header-align="center"
align="center" align="center"
width="160" width="160"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"></el-table-column>
></el-table-column>
<el-table-column <el-table-column
label="操作" label="操作"
header-align="center" header-align="center"
align="center" align="center"
width="55" width="55"
fixed="right" fixed="right">
>
<template slot-scope="scope"> <template slot-scope="scope">
<i <i
class="el-icon-edit" class="el-icon-edit"
style="cursor: pointer" style="cursor: pointer"
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"></i>
></i>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -232,31 +195,24 @@ ...@@ -232,31 +195,24 @@
:page-size="pageSize" :page-size="pageSize"
:current-page="currentPage" :current-page="currentPage"
@size-change="sizeChange" @size-change="sizeChange"
@current-change="onCurrentChange" @current-change="onCurrentChange"></el-pagination>
>
</el-pagination>
</div> </div>
<el-dialog <el-dialog
:title="editId ? '编辑' : '新增'" :title="editId ? '编辑' : '新增'"
:visible.sync="addVisible" :visible.sync="addVisible"
:close-on-click-modal="false" :close-on-click-modal="false"
width="700px" width="700px">
>
<el-form <el-form
:model="editForm" :model="editForm"
size="small" size="small"
ref="form" ref="form"
:inline="true" :inline="true"
label-width="110px" label-width="110px"
label-position="right" label-position="right">
>
<el-form-item <el-form-item
label="域名" label="域名"
prop="domain" prop="domain"
:rules="[ :rules="[{ required: true, message: '请输入域名' }]">
{ required: true, message: '请输入域名' },
]"
>
<el-input <el-input
style="width: 200px" style="width: 200px"
v-model.trim="editForm.domain" v-model.trim="editForm.domain"
...@@ -264,76 +220,47 @@ ...@@ -264,76 +220,47 @@
:disabled="!!editId" :disabled="!!editId"
clearable clearable
@change="onChange" @change="onChange"
placeholder="请输入域名" placeholder="请输入域名">
> <template slot="append">{{ baseDomain }}</template>
<template slot="append">{{
baseDomain
}}</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item
label="状态"
prop="status"
:rules="[
{ required: true, message: '请选择状态' },
]"
>
<el-radio v-model="editForm.status" :label="true"
>启用</el-radio
>
<el-radio v-model="editForm.status" :label="false"
>禁用</el-radio
>
</el-form-item>
<el-form-item <el-form-item
label="公司名称" label="公司名称"
prop="companyName" prop="companyName"
:rules="[ :rules="[{ required: true, message: '请输入公司名称' }]">
{ required: true, message: '请输入公司名称' },
]"
>
<el-input <el-input
style="width: 200px" style="width: 200px"
v-model="editForm.companyName" v-model="editForm.companyName"
size="small" size="small"
placeholder="请输入公司名称" placeholder="请输入公司名称" />
/>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="套餐" label="套餐"
prop="packages" prop="packages"
:rules="[ :rules="[{ required: true, message: '请选择套餐' }]">
{ required: true, message: '请选择套餐' },
]"
>
<el-select <el-select
style="width: 200px" style="width: 200px"
v-model="editForm.packages" v-model="editForm.packages"
size="small" size="small"
@change="changeCharges" @change="changeCharges"
placeholder="请选择套餐" placeholder="请选择套餐">
>
<el-option <el-option
v-for="item in paymentPackages" v-for="item in paymentPackages"
:key="item.id" :key="item.id"
:value="item.key" :value="item.key"
:label="item.name" :label="item.name"></el-option>
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="负责人" label="负责人"
prop="headName" prop="headName"
:rules="[ :rules="[{ required: true, message: '请输入负责人' }]">
{ required: true, message: '请输入负责人' },
]"
>
<el-input <el-input
style="width: 200px" style="width: 200px"
v-model="editForm.headName" v-model="editForm.headName"
size="small" size="small"
placeholder="负责人" placeholder="负责人" />
/>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="联系电话" label="联系电话"
...@@ -343,56 +270,41 @@ ...@@ -343,56 +270,41 @@
{ {
pattern: /^1[3-9]\d{9}$/, pattern: /^1[3-9]\d{9}$/,
message: '请输入正确的电话号码格式', message: '请输入正确的电话号码格式',
trigger: 'blur', trigger: 'blur'
}, }
]" ]">
>
<el-input <el-input
style="width: 200px" style="width: 200px"
v-model="editForm.contactPhone" v-model="editForm.contactPhone"
size="small" size="small"
placeholder="请输入联系电话" placeholder="请输入联系电话" />
/>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="资费" label="资费"
prop="charges" prop="charges"
:rules="[ :rules="[{ required: true, message: '请输入资费' }]">
{ required: true, message: '请输入资费' },
]"
>
<el-input <el-input
disabled disabled
style="width: 200px" style="width: 200px"
v-model="editForm.charges" v-model="editForm.charges"
size="small" size="small"
placeholder="请输入资费" placeholder="请输入资费" />
/>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="过期时间" label="过期时间"
prop="expireTime" prop="expireTime"
:rules="[ :rules="[{ required: true, message: '请选择过期时间' }]">
{ required: true, message: '请选择过期时间' },
]"
>
<el-date-picker <el-date-picker
style="width: 200px" style="width: 200px"
v-model="editForm.expireTime" v-model="editForm.expireTime"
type="datetime" type="datetime"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期" placeholder="选择日期"></el-date-picker>
>
</el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer"> <span slot="footer">
<el-button @click="addVisible = false" size="small" <el-button @click="addVisible = false" size="small">取消</el-button>
>取消</el-button <el-button @click="save" type="primary" size="small">保存</el-button>
>
<el-button @click="save" type="primary" size="small"
>保存</el-button
>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
...@@ -400,10 +312,11 @@ ...@@ -400,10 +312,11 @@
<script> <script>
import { import {
getManageData, getManageData,
getStatusSelect,
addManageData, addManageData,
updateManageData, updateManageData,
getDataById, getDataById,
deleteData, deleteData
} from '@/common/api/manage/index' } from '@/common/api/manage/index'
export default { export default {
name: 'saasManage', name: 'saasManage',
...@@ -418,7 +331,7 @@ export default { ...@@ -418,7 +331,7 @@ export default {
key: 'INNERBATE', key: 'INNERBATE',
o: 0.2, o: 0.2,
oName: '0', oName: '0',
orders: 10000, orders: 10000
}, },
{ {
id: 1, id: 1,
...@@ -428,7 +341,7 @@ export default { ...@@ -428,7 +341,7 @@ export default {
key: 'PAYBASE', key: 'PAYBASE',
o: 0.2, o: 0.2,
oName: '0.2元/单', oName: '0.2元/单',
orders: 50000, orders: 50000
}, },
{ {
id: 2, id: 2,
...@@ -438,7 +351,7 @@ export default { ...@@ -438,7 +351,7 @@ export default {
key: 'PAYADVANCED', key: 'PAYADVANCED',
o: 0.16, o: 0.16,
oName: '0.16元/单', oName: '0.16元/单',
orders: 187500, orders: 187500
}, },
{ {
id: 3, id: 3,
...@@ -449,7 +362,7 @@ export default { ...@@ -449,7 +362,7 @@ export default {
key: 'PAYXVCVT', key: 'PAYXVCVT',
month: 1, month: 1,
oName: '9800元/月', oName: '9800元/月',
m: '按月收费', m: '按月收费'
}, },
{ {
id: 4, id: 4,
...@@ -460,39 +373,40 @@ export default { ...@@ -460,39 +373,40 @@ export default {
key: 'PAYULTIMATE', key: 'PAYULTIMATE',
month: 1, month: 1,
oName: '29800元/月', oName: '29800元/月',
m: '按月收费', m: '按月收费'
}, }
], ],
period: [], period: [],
manageData: [], manageData: [],
searchForm: {}, searchForm: {},
editId: undefined, editId: undefined,
editForm: { editForm: {
domain: '', domain: ''
status: true,
}, },
total: 0, total: 0,
pageSize: 50, pageSize: 50,
currentPage: 1, currentPage: 1,
addVisible: false, addVisible: false,
selection: [], selection: [],
statusList: [],
cloneEditForm: {}, cloneEditForm: {},
loading: false, loading: false,
baseDomain: '.jomalls.com', baseDomain: '.jomalls.com'
} }
}, },
async created() { async created() {
this.cloneEditForm = JSON.parse( this.cloneEditForm = JSON.parse(JSON.stringify(this.editForm))
JSON.stringify(this.editForm),
)
this.getList() this.getList()
this.getStatusList()
}, },
methods: { methods: {
async getStatusList() {
const { data } = await getStatusSelect()
this.statusList = data
},
changeCharges(v) { changeCharges(v) {
if (!v) return if (!v) return
const charges = this.paymentPackages.find( const charges = this.paymentPackages.find((item) => item.key === v)
(item) => item.key === v,
)
if (charges) { if (charges) {
this.$set(this.editForm, 'charges', charges.oName) this.$set(this.editForm, 'charges', charges.oName)
} }
...@@ -508,10 +422,10 @@ export default { ...@@ -508,10 +422,10 @@ export default {
{ {
...this.searchForm, ...this.searchForm,
beginDate: this.period && this.period[0], beginDate: this.period && this.period[0],
endDate: this.period && this.period[1], endDate: this.period && this.period[1]
}, },
this.currentPage, this.currentPage,
this.pageSize, this.pageSize
) )
this.manageData = res.data.records this.manageData = res.data.records
this.total = res.data.total this.total = res.data.total
...@@ -527,9 +441,7 @@ export default { ...@@ -527,9 +441,7 @@ export default {
addData() { addData() {
this.addVisible = true this.addVisible = true
this.editId = undefined this.editId = undefined
this.editForm = JSON.parse( this.editForm = JSON.parse(JSON.stringify(this.cloneEditForm))
JSON.stringify(this.cloneEditForm),
)
this.baseDomain = '.jomalls.com' this.baseDomain = '.jomalls.com'
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.form.clearValidate() this.$refs.form.clearValidate()
...@@ -538,13 +450,11 @@ export default { ...@@ -538,13 +450,11 @@ export default {
async handleEdit(row) { async handleEdit(row) {
this.editId = row.id this.editId = row.id
const l = this.$loading({ const l = this.$loading({
background: 'rgba(0, 0, 0, 0.3)', background: 'rgba(0, 0, 0, 0.3)'
}) })
try { try {
const res = await getDataById(row.id) const res = await getDataById(row.id)
const parts = /^(.*)(\.(([^.]+)\.([^.]+)))$/.exec( const parts = /^(.*)(\.(([^.]+)\.([^.]+)))$/.exec(res.data.domain)
res.data.domain,
)
if (parts) { if (parts) {
const name = parts[1] const name = parts[1]
const tld = '.' + parts[3] const tld = '.' + parts[3]
...@@ -566,7 +476,7 @@ export default { ...@@ -566,7 +476,7 @@ export default {
return return
} }
const l = this.$loading({ const l = this.$loading({
background: 'rgba(0, 0, 0, 0.3)', background: 'rgba(0, 0, 0, 0.3)'
}) })
let databaseName let databaseName
if (!this.editId) { if (!this.editId) {
...@@ -578,7 +488,7 @@ export default { ...@@ -578,7 +488,7 @@ export default {
const res = await updateManageData({ const res = await updateManageData({
...this.editForm, ...this.editForm,
domain: domain, domain: domain,
databaseName: databaseName, databaseName: databaseName
}) })
if (res.code === 200) { if (res.code === 200) {
this.$message.success(res.message) this.$message.success(res.message)
...@@ -589,7 +499,7 @@ export default { ...@@ -589,7 +499,7 @@ export default {
const res = await addManageData({ const res = await addManageData({
...this.editForm, ...this.editForm,
domain: domain, domain: domain,
databaseName: databaseName, databaseName: databaseName
}) })
if (res.code === 200) { if (res.code === 200) {
this.$message.success(res.message) this.$message.success(res.message)
...@@ -612,7 +522,7 @@ export default { ...@@ -612,7 +522,7 @@ export default {
ids = this.selection.map((item) => item.id) ids = this.selection.map((item) => item.id)
ids = ids.join() ids = ids.join()
const l = this.$loading({ const l = this.$loading({
background: 'rgba(0, 0, 0, 0.3)', background: 'rgba(0, 0, 0, 0.3)'
}) })
try { try {
await deleteData(ids) await deleteData(ids)
...@@ -635,10 +545,7 @@ export default { ...@@ -635,10 +545,7 @@ export default {
this.getList() this.getList()
}, },
rowClick(row) { rowClick(row) {
if ( if (this.selection.length === 1 && this.selection[0] === row) {
this.selection.length === 1 &&
this.selection[0] === row
) {
this.selection = [] this.selection = []
this.$refs.table.clearSelection() this.$refs.table.clearSelection()
} else { } else {
...@@ -646,8 +553,8 @@ export default { ...@@ -646,8 +553,8 @@ export default {
this.$refs.table.clearSelection() this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(row, true) this.$refs.table.toggleRowSelection(row, true)
} }
}, }
}, }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment