Browse Source

上传代码

master
jiangyuying 5 years ago
parent
commit
8d09f57db6
  1. 1
      epmet-oper-web/.env.development
  2. 2
      epmet-oper-web/src/js/ajax.js
  3. 197
      epmet-oper-web/src/js/columns/code/commitCode.js
  4. 69
      epmet-oper-web/src/js/columns/code/operHistory.js
  5. 40
      epmet-oper-web/src/js/columns/code/temp.js
  6. 7
      epmet-oper-web/src/js/columns/columns.js
  7. 70
      epmet-oper-web/src/js/columns/customer/customer.js
  8. 3
      epmet-oper-web/src/js/service.js
  9. 2
      epmet-oper-web/src/router/index.js
  10. 2
      epmet-oper-web/src/views/components/CForm.vue
  11. 49
      epmet-oper-web/src/views/components/CTable.vue
  12. 83
      epmet-oper-web/src/views/components/CTableNoPage.vue
  13. 217
      epmet-oper-web/src/views/modules/code/CommitForm.vue
  14. 461
      epmet-oper-web/src/views/modules/code/CommitList.vue
  15. 152
      epmet-oper-web/src/views/modules/code/OperHistory.vue
  16. 2
      epmet-oper-web/src/views/modules/code/SubmitForm.vue
  17. 150
      epmet-oper-web/src/views/modules/customer-manage/RegisterList.vue
  18. 5
      epmet-oper-web/vue.config.js

1
epmet-oper-web/.env.development

@ -1,3 +1,4 @@
NODE_ENV=development
VUE_APP_API_SERVER = http://192.168.1.130:8080/api
# VUE_APP_API_SERVER = https://epmet-dev.elinkservice.cn/api
VUE_APP_NODE_ENV=dev

2
epmet-oper-web/src/js/ajax.js

@ -578,7 +578,7 @@ export default {
// 添加服务器端URL
function processUrl (url) {
if (url.indexOf('http://') > -1) {
if (url.indexOf('http://') > -1 || url.indexOf('https://') > -1) {
return url
}
return process.env.VUE_APP_API_SERVER + url

197
epmet-oper-web/src/js/columns/code/commitCode.js

@ -0,0 +1,197 @@
export default {
list: [
{
key: 'customerName',
title: '客户名称',
type: 'select',
rule: [{
required: true,
message: '请选择客户',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
block: true,
width: 120
},
{
key: 'clientType',
title: '类型',
type: 'radio',
rule: [{
required: true,
message: '请选择类型',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
block: true,
width: 120,
format: function (cellValue, index) {
if (cellValue === 'resi') {
return '居民端'
} else if (cellValue === 'work') {
return '工作端'
} else {
return '未知'
}
}
},
{
key: 'appId',
title: 'appId',
type: 'radio',
rule: [{
required: true,
message: '请输入appId',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
block: true,
width: 120
},
{
key: 'version',
title: '版本号',
type: 'input',
rule: [{
required: true,
message: '请输入版本号',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
block: true,
width: 120
},
{
key: 'codeInfo',
title: '代码描述',
type: 'textarea',
rule: [{
required: true,
message: '请输入代码描述',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
block: true
},
{
key: 'status',
title: '状态',
type: 'input',
rule: [{
required: true,
message: '请输入代码描述',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
block: true,
format: function (cellValue, index) {
// 状态 未审核:unaudited;审核中:auditing;审核成功:audit_success;审核被拒绝:audit_failed;已撤回:withdrawn;审核延后:delay;
// 发布成功:release_success;发布失败:release_failed
if (cellValue === 'unaudited') {
return '未审核'
} else if (cellValue === 'auditing') {
return '审核中'
} else if (cellValue === 'audit_success') {
return '审核成功'
} else if (cellValue === 'audit_failed') {
return '审核被拒绝'
} else if (cellValue === 'withdrawn') {
return '已撤回'
} else if (cellValue === 'delay') {
return '审核延后'
} else if (cellValue === 'release_success') {
return '发布成功'
} else if (cellValue === 'release_failed') {
return '发布失败'
} else {
return '未知'
}
}
},
{
key: 'uploadTime',
title: '上传时间',
type: 'input',
rule: [{
required: true,
message: '请输入代码描述',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
block: true
},
{
key: 'auditTime',
title: '提交审核时间',
type: 'input',
rule: [{
required: true,
message: '请输入代码描述',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
block: true
}
],
form: [
{
key: 'customerId',
title: '客户',
type: 'select',
rule: [{
required: true,
message: '请选择客户',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
block: true,
width: 100
},
{
key: 'clientType',
title: '类型',
type: 'radio',
rule: [{
required: true,
message: '请选择类型',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
block: true,
width: 100
},
{
key: 'userVersion',
title: '版本号',
type: 'input',
rule: [{
required: true,
message: '请输入版本号',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
block: true,
width: 100
},
{
key: 'userDesc',
title: '代码描述',
type: 'textarea',
rule: [{
required: true,
message: '请输入代码描述',
trigger: 'blur'
}],
display: ['formA', 'formU', 'model'],
block: true,
width: 120
}
]
}

69
epmet-oper-web/src/js/columns/code/operHistory.js

@ -0,0 +1,69 @@
export default [
{
key: 'operationTime',
title: '操作时间',
type: 'input',
rule: [{
required: true,
message: '请选择版本ID',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: false,
block: true,
width: 120
},
{
key: 'version',
title: '版本',
type: 'input',
rule: [{
required: true,
message: '请输入版本号',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: false,
block: true,
width: 120
},
{
key: 'operation',
title: '操作',
type: 'textarea',
rule: [{
required: true,
message: '请输入代码描述',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
block: true,
format: function (cellValue, index) {
if (cellValue === 'upload') {
return '上传'
} else if (cellValue === 'audit') {
return '审核'
} else if (cellValue === 'undo') {
return '撤回'
} else if (cellValue === 'release') {
return '发布'
} else {
return '未知'
}
}
},
{
key: 'describe',
title: '描述',
type: 'radio',
rule: [{
required: true,
message: '请选择创建时间',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: false,
block: true,
width: 120
}
]

40
epmet-oper-web/src/js/columns/code/temp.js

@ -1,29 +1,15 @@
export default [
{
key: 'client',
title: '客户',
key: 'templateId',
title: '版本ID',
type: 'select',
rule: [{
required: true,
message: '请选择客户',
message: '请选择版本ID',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
block: true,
width: 120
},
{
key: 'type',
title: '类型',
type: 'radio',
rule: [{
required: true,
message: '请选择类型',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
fixed: false,
block: true,
width: 120
},
@ -37,7 +23,7 @@ export default [
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
fixed: false,
block: true,
width: 120
},
@ -50,7 +36,21 @@ export default [
message: '请输入代码描述',
trigger: 'blur'
}],
display: ['formA', 'formU', 'model'],
display: ['formA', 'formU', 'table', 'model'],
block: true
},
{
key: 'createTime',
title: '创建时间',
type: 'radio',
rule: [{
required: true,
message: '请选择创建时间',
trigger: 'blur'
}],
display: ['formA', 'formU', 'table', 'model'],
fixed: false,
block: true,
width: 120
}
]

7
epmet-oper-web/src/js/columns/columns.js

@ -1,8 +1,13 @@
import Temp from './code/temp'
import CommitCode from './code/commitCode'
import OperHistory from './code/operHistory'
import RegisterInfo from './customer/customer'
export default {
Temp: Temp, // 代码上传——上传代码
Temp: Temp, // 代码上传——模板list
CommitCodeList: CommitCode['list'], // 代码上传——已上传的代码列表
CommitCodeForm: CommitCode['form'], // 代码上传——代码form
OperHistory: OperHistory, // 代码上传——操作历史
RegisterInfo: RegisterInfo // 客户管理——客户注册信息

70
epmet-oper-web/src/js/columns/customer/customer.js

@ -3,7 +3,7 @@ export default [
key: 'agencyName',
title: '组织名称',
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
fixed: false,
block: true,
width: 120
},
@ -11,18 +11,45 @@ export default [
key: 'level',
title: '组织级别',
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
fixed: false,
block: true,
width: 120
},
{
key: 'location',
title: '所在地区',
key: 'province',
title: '',
display: ['formA', 'formU', 'table', 'model'],
fixed: true,
fixed: false,
block: true,
width: 120
},
{
key: 'city',
title: '市',
display: ['formA', 'formU', 'table', 'model'],
fixed: false,
block: true,
width: 120
},
{
key: 'district',
title: '区',
display: ['formA', 'formU', 'table', 'model'],
fixed: false,
block: true,
width: 120
},
// {
// key: 'location',
// title: '所在地区',
// display: ['formA', 'formU', 'table', 'model'],
// fixed: false,
// block: true,
// width: 120,
// formatter: function (params) {
// return params.value + '%'
// },
// },
{
key: 'partybranchnum',
title: '党支部数量',
@ -33,18 +60,45 @@ export default [
key: 'resiAuth',
title: '居民端',
display: ['formA', 'formU', 'table', 'model'],
block: true
block: true,
format: function (cellValue, index) {
if (cellValue === 1) {
return '已授权'
} else if (cellValue === 0) {
return '未授权'
} else {
return '未知'
}
}
},
{
key: 'workAuth',
title: '工作端',
display: ['formA', 'formU', 'table', 'model'],
block: true
block: true,
format: function (cellValue, index) {
if (cellValue === 1) {
return '已授权'
} else if (cellValue === 0) {
return '未授权'
} else {
return '未知'
}
}
},
{
key: 'initState',
title: '初始化状态',
display: ['formA', 'formU', 'table', 'model'],
block: true
block: true,
format: function (cellValue, index) {
if (cellValue === 1) {
return '已初始化'
} else if (cellValue === 0) {
return '未初始化'
} else {
return '未知'
}
}
}
]

3
epmet-oper-web/src/js/service.js

@ -60,7 +60,6 @@ export default {
}
col.formatter = rowData => {
// 没有数值
// debugger
if (!rowData[column.key] && rowData[column.key] != '0') return '--'
if (column.format) {
switch (column.format) {
@ -71,7 +70,7 @@ export default {
return Number(rowData[column.key].toFixed(column.num))
break
default:
return rowData[column.key]
return column.format(rowData[column.key])
}
} else {
return rowData[column.key]

2
epmet-oper-web/src/router/index.js

@ -86,6 +86,8 @@ router.beforeEach((to, from, next) => {
}).catch(() => { })
// 获取菜单列表, 添加并全局变量保存
http.get('/oper/access/menu/nav').then(({ data: res }) => {
// eslint-disable-next-line
debugger
if (res.code !== 0) {
Vue.prototype.$message.error(res.msg)
return next({ name: 'login' })

2
epmet-oper-web/src/views/components/CForm.vue

@ -119,7 +119,7 @@
v-model="model[column.key]"
:style="{width:column.itemWidth?column.itemWidth:itemWidth}">
<el-radio v-for="item in optionData[column.key]"
:label="item.label"
:label="item.value"
:key="item.value">
{{item.label}}
</el-radio>

49
epmet-oper-web/src/views/components/CTable.vue

@ -63,13 +63,13 @@
<!--操作列-->
<el-table-column v-if="operations.length && operations.length > 0"
label="操作"
:width="operationWidth"
fixed="right"
header-align="center"
class="operate">
<template slot-scope="scope">
<!--传入的操作按钮属性 lyx 20190411 -->
<el-button v-for="item in operations"
v-show="item.isShow==='show'||item.isShow(scope.row)"
:key="item.lable"
:style=item.style
:type=item.type
@ -92,9 +92,9 @@
@current-change="handleCurrentChange"
@prev-click="handlePrevClick"
@next-click="handleNextClick"
:current-page="page + 1"
:current-page="pageNo"
:page-sizes="tablePageSizes"
:page-size="table.params.size"
:page-size="table.params.pageSize"
layout="jumper, prev, pager, next,sizes, total"
:total="total"></el-pagination>
</el-col>
@ -116,8 +116,8 @@ export default {
table: {
height: this.tableHeight,
params: {
size: this.size, //
page: this.page //
pageSize: this.pageSize, //
pageNo: this.pageNo //
}
},
total: 0,
@ -132,7 +132,6 @@ export default {
}
},
props: {
keyword: {
type: String,
required: true
@ -164,25 +163,25 @@ export default {
return []
}
},
page: {
pageNo: {
type: Number,
default: 0
default: 1
},
size: {
pageSize: {
type: Number,
default: 10
},
tableHeight: {
type: Number
},
pageVisible: Boolean // page lyx 20190411
pageVisible: { // page lyx 20190411
type: Boolean,
default: true
}
},
computed: {
//
operationWidth: function () {
// return this.operations.includes('add')
// ? (this.operations.length - 1) * 80
// : this.operations.length * 80
if (this.operations.includes('add')) {
return (this.operations.length - 1) * 80 // add
} else if (this.operations.includes('analyze')) {
@ -222,14 +221,14 @@ export default {
Object.assign(this.table.params, this.params)
//
window.app.ajax.get(
window.app.ajax.post(
this.url,
this.table.params,
(data, rspMsg) => {
if (data) {
// debugger
this.tableData = data.content
this.total = data.totalElements
this.tableData = data.list
this.total = data.total
}
this.loading = false
},
@ -279,25 +278,25 @@ export default {
// popover
scope._self.$refs[`popover-${scope.$index}`].doClose()
},
handleSizeChange (size) {
this.table.params.size = size
this.table.params.page = 0
handleSizeChange (pageSize) {
this.table.params.pageSize = pageSize
this.table.params.pageNo = 0
this.$nextTick(() => {
this.loadData()
})
},
//
handleCurrentChange (page) {
this.table.params.page = page - 1
handleCurrentChange (pageNo) {
this.table.params.pageNo = pageNo - 1
this.$nextTick(() => {
this.loadData()
})
},
//
handlePrevClick (page) {
handlePrevClick (pageNo) {
},
//
handleNextClick (page) {
handleNextClick (pageNo) {
},
//
@ -325,6 +324,10 @@ export default {
this.handleClearSelection()
this.$refs['table'].toggleRowSelection(row, true)
this.$emit(methodName, row)
},
//
doLayout () {
this.$refs['table'].doLayout()
}
}
}

83
epmet-oper-web/src/views/components/CTableNoPage.vue

@ -91,18 +91,18 @@ export default {
data () {
return {
tableData: [],
tableColumn: app.service.getColumns(this.keyword, 'table'),
tableColumn: window.app.service.getColumns(this.keyword, 'table'),
loading: false,
table: {
height: this.tableHeight,
params: {
size: this.size,//
page: this.page //
size: this.size, //
page: this.page //
}
},
selected: false,
visiblePopover: false,//
visiblePopover: false, //
templateRadio: ''
}
},
@ -155,26 +155,23 @@ export default {
tableHeight: {
type: Number
},
pageVisible: Boolean //page lyx 20190411
pageVisible: Boolean // page lyx 20190411
},
computed: {
//
//
operationWidth: function () {
// return this.operations.includes('add')
// ? (this.operations.length - 1) * 80
// : this.operations.length * 80
// return this.operations.includes('add')
// ? (this.operations.length - 1) * 80
// : this.operations.length * 80
if (this.operations.includes('add')) {
return (this.operations.length - 1) * 80 //add
}
else if (this.operations.includes('analyze')) {
return (this.operations.length + 0.5) * 80 //analyze
}
else {
return (this.operations.length - 1) * 80 // add
} else if (this.operations.includes('analyze')) {
return (this.operations.length + 0.5) * 80 // analyze
} else {
return this.operations.length * 80
}
},
...mapGetters(['resolution'])
},
methods: {
render () {
@ -188,15 +185,13 @@ export default {
}
})
Object.assign(this.table.params, this.params)
//
app.ajax.get(
//
window.app.ajax.post(
this.url,
this.table.params,
(data, rspMsg) => {
if (data) {
//debugger
this.tableData = data
this.tableData = data.list
}
this.loading = false
},
@ -208,43 +203,43 @@ export default {
)
},
handleClearSelection () {
//
//
this.$refs['table'].clearSelection()
},
//
//
handleSelect (selection, row) {
this.$emit('select', selection)
//console.log(selection, row)
// console.log(selection, row)
},
//
//
handleSelectAll (selection) {
this.$emit('selectAll', selection)
},
handleCellClick (row, column, cell, event) { },
handleRowClick (row) {
//
//
this.selected = !this.selected
this.$refs['table'].toggleRowSelection(row, this.selected)
},
handleEdit (index, row) {
// tablerow-clickstop
// tablerow-clickstop
this.handleClearSelection()
this.$refs['table'].toggleRowSelection(row)
this.$emit('update', row)
},
handleAnalyze (index, row) {
this.handleClearSelection() //
this.handleClearSelection() //
this.$refs['table'].toggleRowSelection(row, true)
this.$emit('analyze', row)
},
handleDelete (index, row) {
this.handleClearSelection() //
this.handleClearSelection() //
this.$refs['table'].toggleRowSelection(row, true)
this.$emit('delete', row)
},
handleDeleteCancel (scope) {
// popover
// popover
scope._self.$refs[`popover-${scope.$index}`].doClose()
},
handleSizeChange (size) {
@ -255,35 +250,33 @@ export default {
})
},
//
getRadioRow (index, row) { //
//
getRadioRow (index, row) { //
this.$emit('selectRadioRow', row)
},
//
//
handleOutTable (name) {
app.util.exportExcel(name, '#out-table')
window.app.util.exportExcel(name, '#out-table')
},
exportExcel (tHeader, filterVal) {
require.ensure([], () => {
const { export_json_to_excel } = require('@js/excel/Export2Excel')
// require.ensure([], () => {
// const { export_json_to_excel } = require('@js/excel/Export2Excel')
const list = this.tableData
const data = this.formatJson(filterVal, list)
export_json_to_excel(tHeader, data, '列表excel')
})
// const list = this.tableData
// const data = this.formatJson(filterVal, list)
// export_json_to_excel(tHeader, data, 'excel')
// })
},
formatJson (filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => v[j]))
},
// lyx 20190411
// lyx 20190411
handleMethod (index, row, methodName) {
this.handleClearSelection()
this.$refs['table'].toggleRowSelection(row, true)
this.$emit(methodName, row)
},
},
}
}
}
</script>
<style>

217
epmet-oper-web/src/views/modules/code/CommitForm.vue

@ -3,63 +3,23 @@
<el-card shadow="never"
class="aui-card--fill">
<c-form ref="ref_form_temp"
keyword="Temp"
keyword="CommitCodeForm"
:formWidth="'100%'"
:itemWidth="'400px'"
:method="tempForm.method"
:option-data="tempForm.data"></c-form>
:option-data="optionData"></c-form>
<div class="mod-demo__demo}">
<el-table id="out-table"
ref="table"
:header-cell-style="{color:'#000'}"
:data="tableData"
:style="{width: '100%'}"
border
v-loading="loading"
element-loading-text="正在加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(255, 255, 255, 0.8)">
<!-- <el-table-column type="selection"
header-align="center"
align="center"
width="50"></el-table-column> -->
<el-table-column prop="tempId"
label="模板id"
min-width="100"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="version"
label="版本"
min-width="70"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="desc"
label="描述"
min-width="100"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="createTime"
label="添加时间"
header-align="center"
min-width="100"
align="center"></el-table-column>
<el-table-column label="操作"
fixed="right"
header-align="center"
align="center"
width="150">
<template slot-scope="scope">
<el-button type="text"
size="small"
@click="showSubmitDia(scope.row.tempId)">上传</el-button>
</template>
</el-table-column>
</el-table>
<c-table column-type="index"
:pageVisible="true"
ref="table"
:url="tableUrl"
:params="tableParams"
keyword="Temp"
:operations="operations"
:tableHeight="tableHeight"
@selTemp="selTemp">
</c-table>
</div>
</el-card>
@ -67,126 +27,113 @@
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
import CDialog from '../../components/CDialog'
import CForm from '../../components/CForm'
import CTable from '@c/CTableNoPage'
import CForm from '@c/CForm'
import { mapGetters } from 'vuex'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/demo/demo/page',
getDataListIsPage: true,
deleteURL: '/demo/demo',
deleteIsBatch: true,
exportURL: '/demo/demo/export'
},
loading: false,
tempForm: {
// commitUrl:'/third/code/audit',
commitUrl: 'https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/third/code/audit',
method: 'A',
dataUrl: [], // //url
data: {
client: [
clientType: [
{
value: '01',
label: '市北区'
value: 'resi',
label: '居民端'
},
{
value: '02',
label: '市北区'
}
],
type: [
{
value: '01',
value: 'work',
label: '工作端'
},
{
value: '02',
label: '居民端'
}
]
}
},
dataForm: {
client: '', //
type: '', //
ext: '', //
version: '', //
desc: '' //
//
// tableUrl: '/third/code/templatelist',
tableUrl: 'https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/third/code/templatelist',
tableParams: {
type: Object, // table
default () {
return {}
}
},
//
operations: [
{
lable: '选择', //
size: 'mini',
style: 'margin: 0 6px;',
type: 'text',
slot: '',
plain: false,
methodName: 'selTemp' //
}
],
//
dialog: {
title: '',
visible: false
},
//
optionData:
{
client: [
{
value: '01',
label: '市北区'
},
{
value: '02',
label: '市南区'
}
]
},
//
tableData: [
{
tempId: '001',
version: '1.0.0',
desc: '居民端小程序',
createTime: '2020-07-06 10:00:00'
},
{
tempId: '002',
version: '1.0.0',
desc: '工作端小程序',
createTime: '2020-07-06 10:00:00'
}
]
}
}
},
components: {
CDialog, CForm
CTable, CForm
},
mounted () {
let dataForm = {
type: '工作端'
customerId: '',
clientType: 'resi'
}
this.$nextTick(() => {
this.$refs['ref_form_temp'].assign(dataForm)
})
this.loadData()
},
computed: {
tableHeight () {
return this.clientHeight - 60 - 80 - 80 - 50 - 400
},
...mapGetters(['clientHeight'])
},
props: {
optionData: {
type: Object,
default () {
return {}
}
}
},
methods: {
//
initData (dataForm) {
//
loadData () {
this.$nextTick(() => {
this.$refs['ref_form_temp'].assign(dataForm)
this.$refs.table.loadData() //
})
},
// dialog
showSubmitDia () {
this.dialog.title = '上传代码'
this.dialog.visible = true
},
//
submit () {
},
handleCancel () {
this.dialog.title = ''
this.dialog.visible = false
}
//
selTemp () {
this.$refs['ref_form_temp'].validate((valid) => {
if (valid) {
//
let _data = this.$refs['ref_form_temp'].model
console.log(_data)
window.app.ajax.post(this.tempForm.commitUrl, _data,
(data, rspMsg) => {
this.$message.success('提交审核成功')
this.$emit('commitConfirm')
},
(rspMsg, data) => {
this.$message.error(rspMsg)
})
}
})
}
}
}
</script>

461
epmet-oper-web/src/views/modules/code/CommitList.vue

@ -3,23 +3,24 @@
<el-card shadow="never"
class="aui-card--fill">
<div class="mod-demo__demo}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
:model="tableParams"
@keyup.enter.native="loadData()">
<el-form-item>
<el-select v-model="dataForm.client"
<el-select v-model="tableParams.customerId"
placeholder="客户">
<el-option v-for="item in optionData['client']"
:key="item.value"
:label="item.label"
:value="item.value">
<el-option v-for="item in form.data['client']"
:key="item.customerId"
:label="item.customerName"
:value="item.customerId">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-select v-model="dataForm.type"
<el-select v-model="tableParams.clientType"
placeholder="类型">
<el-option v-for="item in optionData['type']"
<el-option v-for="item in form.data['clientType']"
:key="item.value"
:label="item.label"
:value="item.value">
@ -28,9 +29,9 @@
</el-form-item>
<el-form-item>
<el-select v-model="dataForm.state"
<el-select v-model="tableParams.state"
placeholder="状态">
<el-option v-for="item in optionData['state']"
<el-option v-for="item in form.data['state']"
:key="item.value"
:label="item.label"
:value="item.value">
@ -38,7 +39,7 @@
</el-select>
</el-form-item>
<!-- <el-form-item>
<el-date-picker v-model="dataForm.commitDate"
<el-date-picker v-model="tableParams.commitDate"
type="daterange"
range-separator="至"
start-placeholder="发布开始日期"
@ -47,8 +48,8 @@
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item> -->
<el-form-item>
<el-date-picker v-model="dataForm.submitDate"
<!-- <el-form-item>
<el-date-picker v-model="tableParams.submitDate"
type="daterange"
range-separator="至"
start-placeholder="审核开始日期"
@ -56,119 +57,40 @@
:default-value="new Date()"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-form-item> -->
<el-form-item>
<el-button @click="getDataList()">查询</el-button>
<el-button @click="loadData()">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary"
@click="commitCode()">上传代码</el-button>
</el-form-item>
</el-form>
<el-table id="out-table"
ref="table"
:height="tableHeight"
:header-cell-style="{color:'#000'}"
:data="tableData"
:style="{width: '100%'}"
border
v-loading="loading"
element-loading-text="正在加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(255, 255, 255, 0.8)">
<!-- <el-table-column type="selection"
header-align="center"
align="center"
width="50"></el-table-column> -->
<el-table-column prop="client"
label="客户"
min-width="100"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="type"
label="类型"
min-width="50"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="appId"
label="appId"
min-width="100"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="version"
label="当前版本"
min-width="70"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="desc"
label="描述"
min-width="130"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="stateShow"
label="状态"
min-width="70"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="commitDate"
label="上传时间"
header-align="center"
min-width="100"
align="center"></el-table-column>
<el-table-column prop="submitDate"
label="提交审核时间"
min-width="100"
header-align="center"
align="center"></el-table-column>
<el-table-column label="操作"
fixed="right"
header-align="center"
align="center"
width="300">
<template slot-scope="scope">
<el-button v-if="scope.row.state=='01'"
type="text"
size="small"
@click="submitCode(scope.row.id)">提交审核</el-button>
<el-button v-if="scope.row.state=='01'"
type="text"
size="small"
@click="showQRCode(scope.row.id)">二维码</el-button>
<el-button v-if="scope.row.state=='02'"
type="text"
size="small"
@click="submitRecall(scope.row.id)">审核撤回</el-button>
<el-button v-if="scope.row.state=='03'"
type="text"
size="small"
@click="issueCode(scope.row.id)">发布</el-button>
<el-button v-if="scope.row.state=='04'"
type="text"
size="small"
@click="submitFailReason(scope.row.id)">审核失败原因</el-button>
<el-button type="text"
size="small"
@click="operHistory(scope.row.id)">操作历史</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination :current-page="page"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle">
</el-pagination>
<c-table column-type="index"
ref="table"
:url="tableUrl"
:params="tableParams"
keyword="CommitCodeList"
:operations="operations"
:tableHeight="tableHeight"
@submitCode="submitCode"
@showQRCode="showQRCode"
@submitRecall="submitRecall"
@issueCode="issueCode"
@submitFailReason="submitFailReason"
@operHistory="operHistory">
</c-table>
-
</div>
</el-card>
<c-dialog :title="commitDia.title"
:visible="commitDia.visible"
:showConfirm="false"
@cancel="commitDiaCancel">
<commit-form ref="ref_commit_form"></commit-form>
<commit-form ref="ref_commit_form"
:optionData="optionData"
@commitConfirm="commitConfirm"></commit-form>
</c-dialog>
<c-dialog :title="submitDia.title"
@ -188,37 +110,126 @@
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
import CDialog from '../../components/CDialog'
import CDialog from '@c/CDialog'
import CTable from '@c/CTable'
import SubmitForm from './SubmitForm'
import CommitForm from './CommitForm'
import OperHistory from './OperHistory'
import { mapGetters } from 'vuex'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/demo/demo/page',
getDataListIsPage: true,
deleteURL: '/demo/demo',
deleteIsBatch: true,
exportURL: '/demo/demo/export'
},
loading: false,
dataForm: {
client: '', //
type: '', //
//
tableParams: {
customerId: '', //
clientType: '', //
state: '', //
commitDate: '', //
submitDate: '' //
},
//
// tableUrl: '/third/code/uploadlist',
tableUrl: 'https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/third/code/uploadlist',
//
operations: [
{
lable: '提交审核', //
size: 'mini',
style: 'margin: 0 6px;',
type: 'text',
slot: '',
plain: false,
methodName: 'submitCode', //
isShow: function (row) {
if (row.status === 'unaudited' || row.status === 'audit_failed' || row.status === 'withdrawn') {
return true
} else {
return false
}
}
},
{
lable: '二维码', //
size: 'mini',
style: 'margin: 0 6px;',
type: 'text',
slot: '',
plain: false,
methodName: 'showQRCode', //
isShow: function (row) {
if (row.status === 'unaudited') {
return true
} else {
return false
}
}
},
{
lable: '审核撤回', //
size: 'mini',
style: 'margin: 0 6px;',
type: 'text',
slot: '',
plain: false,
methodName: 'submitRecall', //
isShow: function (row) {
if (row.status === 'auditing') {
return true
} else {
return false
}
}
},
{
lable: '发布', //
size: 'mini',
style: 'margin: 0 6px;',
type: 'text',
slot: '',
plain: false,
methodName: 'issueCode', //
isShow: function (row) {
if (row.status === 'audit_success' || row.status === 'release_failed') {
return true
} else {
return false
}
}
},
{
lable: '审核失败原因', //
size: 'mini',
style: 'margin: 0 6px;',
type: 'text',
slot: '',
plain: false,
methodName: 'submitFailReason', //
isShow: function (row) {
if (row.status === 'audit_failed') {
return true
} else {
return false
}
}
},
{
lable: '操作历史', //
size: 'mini',
style: 'margin: 0 6px;',
type: 'text',
slot: '',
plain: false,
methodName: 'operHistory',
isShow: 'show'
}
],
//
commitDia: {
title: '',
visible: false
},
optionData: Object,
//
submitDia: {
title: '',
@ -230,115 +241,59 @@ export default {
visible: false
},
//
optionData:
{
client: [
{
value: '01',
label: '市北区政府'
},
{
value: '02',
label: '市南区政府'
}
],
type: [
{
value: '01',
label: '居民端'
},
{
value: '02',
label: '工作端'
}
],
state: [
{
value: '01',
label: '提交未审核'
},
{
value: '02',
label: '审核中'
},
{
value: '03',
label: '审核成功'
},
{
value: '04',
label: '审核失败'
},
{
value: '05',
label: '已发布'
}
]
},
//
tableData: [
{
client: '市北区政府',
type: '居民端',
appId: '100',
version: '1.0.0',
desc: '市北区政府居民端小程序',
state: '01',
stateShow: '提交未审核',
commitDate: '2020-07-06',
submitDate: ''
},
{
client: '市北区政府',
type: '工作端',
appId: '200',
version: '1.0.0',
desc: '市北区政府工作端小程序',
state: '02',
stateShow: '审核中',
commitDate: '2020-07-06',
submitDate: '2020-07-07'
},
{
client: '市南区政府',
type: '居民端',
appId: '300',
version: '1.0.0',
desc: '市南区政府居民端小程序',
state: '03',
stateShow: '审核成功',
commitDate: '2020-07-06',
submitDate: '2020-07-07'
},
{
client: '市南区政府',
type: '工作端',
appId: '400',
version: '1.0.0',
desc: '市南区政府工作端小程序',
state: '04',
stateShow: '审核失败',
commitDate: '2020-07-06',
submitDate: '2020-07-07'
},
{
client: '李沧区政府',
type: '工作端',
appId: '500',
version: '1.0.0',
desc: '李沧区政府居民端小程序',
state: '05',
stateShow: '已发布',
commitDate: '2020-07-06',
submitDate: '2020-07-07'
form: {
dataUrl: [], // //url
data: { //
clientType: [
{
value: 'resi',
label: '居民端'
},
{
value: 'work',
label: '工作端'
}
],
state: [
{
value: 'unaudited',
label: '未审核'
},
{
value: 'auditing',
label: '审核中'
},
{
value: 'audit_success',
label: '审核成功'
},
{
value: 'audit_failed',
label: '审核被拒绝'
},
{
value: 'withdrawn',
label: '已撤回'
},
{
value: 'delay',
label: '审核延后'
},
{
value: 'release_success',
label: '发布成功'
},
{
value: 'release_failed',
label: '发布失败'
}
]
}
]
}
}
},
components: {
CDialog, SubmitForm, CommitForm, OperHistory
CDialog, SubmitForm, CommitForm, OperHistory, CTable
},
activated () {
this.$nextTick(() => {
@ -353,14 +308,16 @@ export default {
this.commitDia.visible = true
let dataForm = {
type: '工作端',
clientType: '工作端',
client: params.name
}
this.$nextTick(() => {
this.$refs['ref_commit_form'].initData(dataForm)
})
}
this.renderSelData()
this.loadData()
},
computed: {
tableHeight () {
@ -369,8 +326,16 @@ export default {
...mapGetters(['clientHeight'])
},
methods: {
//
loadData () {
this.$nextTick(() => {
this.$refs.table.loadData() //
})
},
//
commitCode (id) {
this.form.data['customerId'] = this.form.data['client']
this.optionData = this.form.data
this.commitDia.title = '上传代码'
this.commitDia.visible = true
},
@ -404,6 +369,11 @@ export default {
this.operDia.title = '操作历史'
this.operDia.visible = true
},
//
commitConfirm () {
this.commitDia.visible = false
this.loadData()
},
commitDiaCancel () {
this.commitDia.title = ''
this.commitDia.visible = false
@ -411,6 +381,29 @@ export default {
operDiaCancel () {
this.operDia.title = ''
this.operDia.visible = false
},
renderSelData () { // //
this.form.dataUrl = []
this.form.dataUrl.push({ //
key: 'client', // bean.jskey
url: '/oper/crm/customer/getvalidcustomerlist',
params: {}
})
window.app.ajax.all( //
this.form.dataUrl,
data => {
data.forEach((oneData, index) => { //
var key = this.form.dataUrl[index].key
this.form.data[key] = oneData
})
this.form.data['client'].forEach((oneData, index) => { //
oneData.value = oneData.customerId
oneData.label = oneData.customerName
})
this.$forceUpdate()
}
)
}
}

152
epmet-oper-web/src/views/modules/code/OperHistory.vue

@ -4,55 +4,15 @@
class="aui-card--fill">
<div class="mod-demo__demo}">
<el-table id="out-table"
ref="table"
:header-cell-style="{color:'#000'}"
:data="tableData"
:style="{width: '100%'}"
border
v-loading="loading"
element-loading-text="正在加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(255, 255, 255, 0.8)">
<!-- <el-table-column type="selection"
header-align="center"
align="center"
width="50"></el-table-column> -->
<el-table-column prop="time"
label="时间"
min-width="100"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="version"
label="版本"
min-width="50"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="oper"
label="操作类型"
min-width="100"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="desc"
label="描述"
min-width="100"
header-align="center"
align="center"></el-table-column>
<!-- <el-table-column label="操作"
fixed="right"
header-align="center"
align="center"
width="150">
<template slot-scope="scope">
<el-button v-if="scope.row.state=='01'"
type="text"
size="small"
@click="submitCode(scope.row.id)">提交审核</el-button>
</template>
</el-table-column> -->
</el-table>
<c-table column-type="index"
:pageVisible="true"
ref="table"
:url="tableUrl"
:params="tableParams"
keyword="OperHistory"
:operations="operations"
:tableHeight="tableHeight">
</c-table>
</div>
</el-card>
@ -60,95 +20,45 @@
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
import CDialog from '../../components/CDialog'
import SubmitForm from './SubmitForm'
import CommitForm from './CommitForm'
import CTable from '@c/CTableNoPage'
import { mapGetters } from 'vuex'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/demo/demo/page',
getDataListIsPage: true,
deleteURL: '/demo/demo',
deleteIsBatch: true,
exportURL: '/demo/demo/export'
},
loading: false,
dataForm: {
client: '', //
type: '', //
state: '', //
commitDate: '', //
submitDate: '' //
},
//
tableData: [
{
time: '2019-10-10 10:00:00',
version: '1.0.0',
oper: '上传',
desc: ''
},
{
time: '2019-10-10 11:00:00',
version: '1.0.0',
oper: '提交审核',
desc: ''
},
{
time: '2019-10-10 12:00:00',
version: '1.0.0',
oper: '审核失败',
desc: '类目不满足'
},
{
time: '2019-10-11 8:00:00',
version: '1.0.1',
oper: '上传',
desc: ''
},
{
time: '2019-10-11 9:00:00',
version: '1.0.1',
oper: '审核',
desc: ''
},
{
time: '2019-10-11 10:00:00',
version: '1.0.1',
oper: '审核撤回',
desc: ''
},
{
time: '2019-10-11 11:00:00',
version: '1.0.1',
oper: '审核',
desc: ''
},
{
time: '2019-10-11 12:00:00',
version: '1.0.1',
oper: '发布',
desc: ''
//
// tableUrl: '/third/code/history',
tableUrl: 'https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/third/code/history',
tableParams: {
type: Object, // table
default () {
return {}
}
]
},
//
operations: []
}
},
components: {
CDialog, SubmitForm, CommitForm
CTable
},
mounted () {
this.$refs.table.loadData() //
},
methods: {
//
submitCode (id) {
this.submitDia.title = '提交审核'
this.submitDia.visible = true
}
},
computed: {
tableHeight () {
return this.clientHeight - 60 - 80 - 80 - 50 - 400
},
...mapGetters(['clientHeight'])
}
}
</script>

2
epmet-oper-web/src/views/modules/code/SubmitForm.vue

@ -122,7 +122,7 @@
<script>
import mixinViewModule from '@/mixins/view-module'
import CDialog from '../../components/CDialog'
import CDialog from '@c/CDialog'
import CommitForm from './CommitForm'
import { mapGetters } from 'vuex'
export default {

150
epmet-oper-web/src/views/modules/customer-manage/RegisterList.vue

@ -5,7 +5,7 @@
<div class="mod-demo__demo}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="loadData()">
<el-form-item>
<el-input v-model="dataForm.name"
placeholder="组织名称">
@ -14,94 +14,19 @@
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">查询</el-button>
<el-button @click="loadData()">查询</el-button>
</el-form-item>
</el-form>
<!-- <div style=" height:100px;overflow-y:auto"> -->
<el-table id="out-table"
ref="table"
:height="tableHeight"
:header-cell-style="{color:'#000'}"
:data="tableData"
:style="{width: '100%'}"
border
v-loading="loading"
element-loading-text="正在加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(255, 255, 255, 0.8)">
<!-- <el-table-column type="selection"
header-align="center"
align="center"
width="50"></el-table-column> -->
<el-table-column prop="agencyName"
label="组织名称"
min-width="100"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="level"
label="组织级别"
min-width="50"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="location"
label="所在地区"
min-width="100"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="partybranchnum"
label="党支部数量"
min-width="50"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="resiAuth"
label="居民端"
min-width="60"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="workAuth"
label="工作端"
min-width="60"
header-align="center"
align="center"></el-table-column>
<el-table-column label="操作"
fixed="right"
header-align="center"
align="center"
width="150">
<template slot-scope="scope">
<el-button type="text"
size="small"
@click="init(scope.row.id)">初始化
</el-button>
<el-button type="text"
size="small"
@click="commitCode(scope.row.id)">上传代码
</el-button>
</template>
</el-table-column>
</el-table>
<!-- </div> -->
<el-pagination :current-page="page"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle">
</el-pagination>
<!-- <c-table column-type="index"
ref="table_dic"
:url="this.url"
<c-table column-type="index"
ref="table"
:url="tableUrl"
:params="tableParams"
keyword="RegisterInfo"
:operations="operations"
:tableHeight="tableHeight"
@commitCode="commitCode">
</c-table> -->
</c-table>
</div>
</el-card>
@ -110,25 +35,18 @@
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
import CTable from '../../components/CTable'
import CTable from '@c/CTable'
import { mapGetters } from 'vuex'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/demo/demo/page',
getDataListIsPage: true,
deleteURL: '/demo/demo',
deleteIsBatch: true,
exportURL: '/demo/demo/export'
},
loading: false,
dataForm: {
name: '' //
},
//
tableUrl: '/third/pacustomer/registerinfo',
// tableUrl: 'https://nei.netease.com/api/apimock-v2/e3b1d0eb88e905f6c7ee559b2d6bb7ad/third/pacustomer/registerinfo',
tableParams: {
type: Object, // table
default () {
@ -136,12 +54,40 @@ export default {
}
},
//
operations: {
label: '上传代码',
style: 'margin: 0 6px;',
size: 'mini',
methodName: 'commitCode'
},
operations: [
{
lable: '初始化', //
size: 'mini',
style: 'margin: 0 6px;',
type: 'text',
slot: '',
plain: false,
methodName: 'init', //
isShow: function (row) {
if (row.initState === 0) {
return true
} else {
return false
}
}
},
{
lable: '上传代码', //
size: 'mini',
style: 'margin: 0 6px;',
type: 'text',
slot: '',
plain: false,
methodName: 'commitCode', //
isShow: function (row) {
if (row.resiAuth === 1 && row.workAuth === 1) {
return true
} else {
return false
}
}
}
],
//
optionData:
{
@ -204,7 +150,7 @@ export default {
})
},
mounted () {
this.loadData()
},
computed: {
tableHeight () {
@ -213,7 +159,11 @@ export default {
...mapGetters(['clientHeight'])
},
methods: {
//
//
loadData () {
this.$refs.table.loadData()
},
//
init (id) {
},

5
epmet-oper-web/vue.config.js

@ -4,9 +4,6 @@
module.exports = {
baseUrl: process.env.NODE_ENV === 'production' ? '' : '/epmet-oper',
chainWebpack: (config) => {
// config.resolve.alias
// .set('@c', resolve('@/components'))
// .set('style', resolve('src/assets/style'))
const svgRule = config.module.rule('svg')
svgRule.uses.clear()
svgRule
@ -37,7 +34,7 @@ module.exports = {
// /node_modules/@vue/cli-service/lib/config/base.js中已经配好的@路径,所以这里可以直接使用@
alias: {
'@js': '@/js',
'@c': '@/components',
'@c': '@/views/components',
'@v': '@/views',
'@m': '@/img',
},

Loading…
Cancel
Save