张同海 2 years ago
commit b75c3c28c7

@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
/**
* 查询钉钉客服通知群配置
*
* @author Myshipping
*/
export function DjyDingtalkGroupConfigPage (parameter) {
return axios({
url: '/DjyDingtalkGroupConfig/page',
method: 'get',
params: parameter
})
}
/**
* 钉钉客服通知群配置列表
*
* @author Myshipping
*/
export function DjyDingtalkGroupConfigList (parameter) {
return axios({
url: '/DjyDingtalkGroupConfig/list',
method: 'get',
params: parameter
})
}
/**
* 添加钉钉客服通知群配置
*
* @author Myshipping
*/
export function DjyDingtalkGroupConfigAdd (parameter) {
return axios({
url: '/DjyDingtalkGroupConfig/add',
method: 'post',
data: parameter
})
}
/**
* 编辑钉钉客服通知群配置
*
* @author Myshipping
*/
export function DjyDingtalkGroupConfigEdit (parameter) {
return axios({
url: '/DjyDingtalkGroupConfig/edit',
method: 'post',
data: parameter
})
}
/**
* 删除钉钉客服通知群配置
*
* @author Myshipping
*/
export function DjyDingtalkGroupConfigDelete (parameter) {
return axios({
url: '/DjyDingtalkGroupConfig/delete',
method: 'post',
data: parameter
})
}

@ -0,0 +1,90 @@
<template>
<a-modal
title="新增钉钉客服通知群配置"
:width="900"
:visible="visible"
:confirmLoading="confirmLoading"
@ok="handleSubmit"
@cancel="handleCancel">
<a-spin :spinning="confirmLoading">
<a-form :form="form">
<a-form-item label="代码" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input placeholder="请输入代码" v-decorator="['code']" />
</a-form-item>
<a-form-item label="说明" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input placeholder="请输入说明" v-decorator="['desp']" />
</a-form-item>
<a-form-item label="Url" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input placeholder="请输入Url" v-decorator="['url']" />
</a-form-item>
<a-form-item label="关键" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input placeholder="请输入关键" v-decorator="['keyword']" />
</a-form-item>
</a-form>
</a-spin>
</a-modal>
</template>
<script>
import {
DjyDingtalkGroupConfigAdd
} from '@/api/modular/main/DjyDingtalkGroupConfigManage'
export default {
data () {
return {
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 15 }
},
visible: false,
confirmLoading: false,
form: this.$form.createForm(this)
}
},
methods: {
//
add (record) {
this.visible = true
},
/**
* 提交表单
*/
handleSubmit () {
const { form: { validateFields } } = this
this.confirmLoading = true
validateFields((errors, values) => {
if (!errors) {
for (const key in values) {
if (typeof (values[key]) === 'object' && !(values[key]===null)) {
values[key] = JSON.stringify(values[key])
}
}
DjyDingtalkGroupConfigAdd(values).then((res) => {
if (res.success) {
this.$message.success('新增成功')
this.confirmLoading = false
this.$emit('ok', values)
this.handleCancel()
} else {
this.$message.error('新增失败')// + res.message
}
}).finally((res) => {
this.confirmLoading = false
})
} else {
this.confirmLoading = false
}
})
},
handleCancel () {
this.form.resetFields()
this.visible = false
}
}
}
</script>

@ -0,0 +1,98 @@
<template>
<a-modal
title="编辑钉钉客服通知群配置"
:width="900"
:visible="visible"
:confirmLoading="confirmLoading"
@ok="handleSubmit"
@cancel="handleCancel">
<a-spin :spinning="confirmLoading">
<a-form :form="form">
<a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
<a-form-item label="代码" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input placeholder="请输入代码" v-decorator="['code']" />
</a-form-item>
<a-form-item label="说明" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input placeholder="请输入说明" v-decorator="['desp']" />
</a-form-item>
<a-form-item label="Url" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input placeholder="请输入Url" v-decorator="['url']" />
</a-form-item>
<a-form-item label="关键" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input placeholder="请输入关键" v-decorator="['keyword']" />
</a-form-item>
</a-form>
</a-spin>
</a-modal>
</template>
<script>
import {
DjyDingtalkGroupConfigEdit
} from '@/api/modular/main/DjyDingtalkGroupConfigManage'
export default {
data () {
return {
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 15 }
},
visible: false,
confirmLoading: false,
form: this.$form.createForm(this)
}
},
methods: {
//
edit (record) {
this.visible = true
setTimeout(() => {
this.form.setFieldsValue(
{
id: record.id,
code: record.code,
desp: record.desp,
url: record.url,
keyword: record.keyword
}
)
}, 100)
},
handleSubmit () {
const { form: { validateFields } } = this
this.confirmLoading = true
validateFields((errors, values) => {
if (!errors) {
for (const key in values) {
if (typeof (values[key]) === 'object' && !(values[key]===null)) {
values[key] = JSON.stringify(values[key])
}
}
DjyDingtalkGroupConfigEdit(values).then((res) => {
if (res.success) {
this.$message.success('编辑成功')
this.confirmLoading = false
this.$emit('ok', values)
this.handleCancel()
} else {
this.$message.error('编辑失败')// + res.message
}
}).finally((res) => {
this.confirmLoading = false
})
} else {
this.confirmLoading = false
}
})
},
handleCancel () {
this.form.resetFields()
this.visible = false
}
}
}
</script>

@ -0,0 +1,158 @@
<template>
<div>
<a-card :bordered="false" :bodyStyle="tstyle">
<div class="table-page-search-wrapper" v-if="hasPerm('DjyDingtalkGroupConfig:page')">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="代码">
<a-input v-model="queryParam.code" allow-clear placeholder="请输入代码"/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
<a-form-item label="说明">
<a-input v-model="queryParam.desp" allow-clear placeholder="请输入说明"/>
</a-form-item>
</a-col><template v-if="advanced">
<a-col :md="8" :sm="24">
<a-form-item label="关键">
<a-input v-model="queryParam.keyword" allow-clear placeholder="请输入关键"/>
</a-form-item>
</a-col> </template>
<a-col :md="8" :sm="24" >
<span class="table-page-search-submitButtons">
<a-button type="primary" @click="$refs.table.refresh(true)" >查询</a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '收起' : '展开' }}
<a-icon :type="advanced ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</a-row>
</a-form>
</div>
</a-card>
<a-card :bordered="false">
<s-table
ref="table"
:columns="columns"
:data="loadData"
:alert="true"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
<template class="table-operator" slot="operator" v-if="hasPerm('DjyDingtalkGroupConfig:add')" >
<a-button type="primary" v-if="hasPerm('DjyDingtalkGroupConfig:add')" icon="plus" @click="$refs.addForm.add()"></a-button>
</template>
<span slot="action" slot-scope="text, record">
<a v-if="hasPerm('DjyDingtalkGroupConfig:edit')" @click="$refs.editForm.edit(record)"></a>
<a-divider type="vertical" v-if="hasPerm('DjyDingtalkGroupConfig:edit') & hasPerm('DjyDingtalkGroupConfig:delete')"/>
<a-popconfirm v-if="hasPerm('DjyDingtalkGroupConfig:delete')" placement="topRight" title="确认删除?" @confirm="() => DjyDingtalkGroupConfigDelete(record)">
<a>删除</a>
</a-popconfirm>
</span>
</s-table>
<add-form ref="addForm" @ok="handleOk" />
<edit-form ref="editForm" @ok="handleOk" />
</a-card>
</div>
</template>
<script>
import { STable } from '@/components'
import { DjyDingtalkGroupConfigPage, DjyDingtalkGroupConfigDelete } from '@/api/modular/main/DjyDingtalkGroupConfigManage'
import addForm from './addForm.vue'
import editForm from './editForm.vue'
export default {
components: {
STable,
addForm,
editForm
},
data () {
return {
advanced: false, // /
queryParam: {},
columns: [
{
title: '代码',
align: 'center',
dataIndex: 'code'
},
{
title: '说明',
align: 'center',
dataIndex: 'desp'
},
{
title: 'Url',
align: 'center',
dataIndex: 'url'
},
{
title: '关键',
align: 'center',
dataIndex: 'keyword'
}
],
tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
// Promise
loadData: parameter => {
return DjyDingtalkGroupConfigPage(Object.assign(parameter, this.queryParam)).then((res) => {
return res.data
})
},
selectedRowKeys: [],
selectedRows: []
}
},
created () {
if (this.hasPerm('DjyDingtalkGroupConfig:edit') || this.hasPerm('DjyDingtalkGroupConfig:delete')) {
this.columns.push({
title: '操作',
width: '150px',
dataIndex: 'action',
scopedSlots: { customRender: 'action' }
})
}
},
methods: {
/**
* 查询参数组装
*/
switchingDate () {
const obj = JSON.parse(JSON.stringify(this.queryParam))
return obj
},
DjyDingtalkGroupConfigDelete (record) {
DjyDingtalkGroupConfigDelete(record).then((res) => {
if (res.success) {
this.$message.success('删除成功')
this.$refs.table.refresh()
} else {
this.$message.error('删除失败') // + res.message
}
})
},
toggleAdvanced () {
this.advanced = !this.advanced
},
handleOk () {
this.$refs.table.refresh()
},
onSelectChange (selectedRowKeys, selectedRows) {
this.selectedRowKeys = selectedRowKeys
this.selectedRows = selectedRows
}
}
}
</script>
<style lang="less">
.table-operator {
margin-bottom: 18px;
}
button {
margin-right: 8px;
}
</style>
Loading…
Cancel
Save