城阳运营端pc前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

183 lines
4.5 KiB

<template>
<div>
<c-dialog :title="'上传代码'"
:visible="diaVisible"
@ok="commitCode"
@cancel="diaCancel">
<el-card shadow="never"
class="aui-card--fill">
<c-form ref="ref_form_temp"
keyword="CommitCodeForm"
:itemWidth="'300px'"
:method="tempForm.method"
:option-data="optionData"></c-form>
<div class="mod-demo__demo}">
<c-table column-type="radio"
:pageVisible="true"
ref="table"
:url="tableUrl"
:params="tableParams"
keyword="Temp"
:operations="operations"
@selectRadioRow="selectRadioRow">
</c-table>
</div>
</el-card>
</c-dialog>
</div>
</template>
<script>
/* eslint-disable */
import CTable from '@c/CTableNoPage'
import CDialog from '@c/CDialog'
import CForm from '@c/CForm'
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // 引入Loading服务
let loading // 加载动画
export default {
data () {
return {
params: {},//父组件传来的
tempForm: {
commitUrl: 'https://epmet-cloud.elinkservice.cn/api/third/code/upload',
// commitUrl: '/third/code/upload',
method: 'A',
dataUrl: [], // 下拉框/单选框/复选框等获取数据的url
data: {
clientType: [
{
value: 'resi',
label: '居民端'
},
{
value: 'work',
label: '工作端'
}
]
}
},
optionData: {},
// 模板列表
selTempId: '',
tableUrl: 'https://epmet-cloud.elinkservice.cn/api/third/code/templatelist',
tableParams: {
type: Object, // table的查询参数
default () {
return {}
}
},
// 列表操作栏的操作项数组
operations: [
],
// 弹出框相关
diaVisible: false
}
},
components: {
CTable, CForm, CDialog
},
mounted () {
},
computed: {
tableHeight () {
return this.clientHeight - 60 - 80 - 80 - 50 - 400
},
...mapGetters(['clientHeight'])
},
props: {
// optionData: {
// type: Object,
// default () {
// return {}
// }
// }
},
methods: {
// eslint-disable-next-line
initData (params, optionData) {
this.diaVisible = true
this.optionData = optionData
this.params = params
this.$nextTick(() => {
this.$refs['ref_form_temp'].assign(params)
this.loadTableData()
})
},
// 获取列表数据
loadTableData () {
this.$nextTick(() => {
this.$refs.table.loadData() // 获取表格数据
})
},
selectRadioRow (row) {
this.selTempId = row.id
let dataForm = {
customerId: this.params.customerId,
clientType: this.params.clientType,
userVersion: row.userVersion,
userDesc: row.userDesc,
}
this.$refs['ref_form_temp'].assign(dataForm)
},
resetData () {
this.selTempId = ''
this.$refs['ref_form_temp'].resetForm()
},
commitCode () {
this.$refs['ref_form_temp'].validate((valid) => {
if (valid) {
if (this.selTempId === '') {
this.$message.warning('请选择模板')
return
}
this.startLoading()
// 表单对象
let _data = this.$refs['ref_form_temp'].model
_data.templateId = this.selTempId
window.app.ajax.post(this.tempForm.commitUrl, _data,
(data, rspMsg) => {
this.endLoading()
this.$message.success('上传成功')
this.diaCancel()
this.$emit('refresh')
},
(rspMsg, data) => {
this.endLoading()
this.$message.error(rspMsg)
})
}
})
},
diaCancel () {
this.resetData()
this.diaVisible = false
},
// 开启加载动画
startLoading () {
loading = Loading.service({
lock: true, // 是否锁定
text: '正在加载……', // 加载中需要显示的文字
background: 'rgba(0,0,0,.7)' // 背景颜色
})
},
// 结束加载动画
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
}
}
</script>