170 lines
4.8 KiB
Vue
170 lines
4.8 KiB
Vue
<template>
|
|
<div>
|
|
<base-info-form ref="baseInfoForm" :disabled="true"></base-info-form>
|
|
|
|
<div>
|
|
<j-table
|
|
:can-drag="true"
|
|
:scroll="{x: '100%'}"
|
|
ref="table"
|
|
:rowKey="(record, index) => {return index}"
|
|
:columns="columns"
|
|
:dataSource="dataSource"
|
|
:pagination="false"
|
|
:loading="loading">
|
|
|
|
<!-- 修改前 -->
|
|
<template v-slot:beforeUpdate="{text, record}">
|
|
<a-button type="primary" @click="beforeUpdateClick(record)">{{ $t('workCenter.enStandardChange.lookUpdateBeforeContent') }}</a-button>
|
|
</template>
|
|
|
|
</j-table>
|
|
</div>
|
|
<!-- 标准文本 -->
|
|
<div class="box-title-text form-flex-item">
|
|
<div class="title-text">
|
|
<span class="title-text-text" :title="$t('workCenter.enStandardRevision.standardText')">
|
|
{{ $t('workCenter.enStandardRevision.standardText') }}
|
|
</span>
|
|
</div>
|
|
<a-form-model-item class="item-model">
|
|
<div class="online-edit-wrapper">
|
|
<!-- todo: 还不确定这里展示的是什么 -->
|
|
<p>企业标准</p>
|
|
<a-button type="primary">{{ $t('workCenter.enStandardRevision.onLineEditing') }}</a-button>
|
|
</div>
|
|
</a-form-model-item>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import BaseInfoForm from './BaseInfoForm'
|
|
import JTable from '@/components/jero/JTable'
|
|
|
|
export default {
|
|
name: 'ApproveBaseInfo',
|
|
components: { BaseInfoForm, JTable },
|
|
props: {
|
|
disabled: {
|
|
type: Boolean,
|
|
required: false,
|
|
default: false
|
|
}
|
|
},
|
|
data () {
|
|
return {
|
|
columns: [
|
|
{
|
|
title: this.$t('serialNumber'),
|
|
dataIndex: '',
|
|
key: 'rowIndex',
|
|
align: 'center',
|
|
width: 80,
|
|
customRender: function (t, r, index) {
|
|
return parseInt(index) + 1
|
|
}
|
|
},
|
|
{ // 条款号
|
|
title: this.$t('workCenter.enStandardRevision.clauseNumber'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'clauseNumber',
|
|
scopedSlots: { customRender: 'text' }
|
|
},
|
|
{ // 条款名称
|
|
title: this.$t('workCenter.enStandardRevision.clauseName'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'clauseName',
|
|
scopedSlots: { customRender: 'text' }
|
|
},
|
|
{ // 修改意见内容
|
|
title: this.$t('workCenter.enStandardChange.revisedOpinionContent'),
|
|
children: [
|
|
{ // 修改前
|
|
title: this.$t('workCenter.enStandardChange.beforeUpdate'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'beforeUpdate',
|
|
scopedSlots: { customRender: 'beforeUpdate' }
|
|
},
|
|
{ // 修改后
|
|
title: this.$t('workCenter.enStandardChange.afterUpdate'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'afterUpdate',
|
|
scopedSlots: { customRender: 'text' }
|
|
},
|
|
{ // 修改理由
|
|
title: this.$t('workCenter.enStandardChange.updateReason'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'updateReason',
|
|
scopedSlots: { customRender: 'text' }
|
|
}
|
|
]
|
|
},
|
|
{ // 提出部门
|
|
title: this.$t('workCenter.enStandardChange.proposingDepartment'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'createUnit_dictText',
|
|
scopedSlots: { customRender: 'text' }
|
|
},
|
|
{ // 提出人
|
|
title: this.$t('workCenter.enStandardChange.introducer'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'createUser_dictText',
|
|
scopedSlots: { customRender: 'text' }
|
|
}
|
|
],
|
|
dataSource: [],
|
|
loading: false
|
|
}
|
|
},
|
|
methods: {
|
|
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
|
|
initData (data) {
|
|
// 给表格赋值,在线编辑不知道要怎么赋值?
|
|
this.dataSource = data.list
|
|
// 给表单赋值
|
|
this.$nextTick(() => {
|
|
this.$refs.baseInfoForm.initData(data)
|
|
})
|
|
},
|
|
// 外层要获取数据
|
|
getData () {
|
|
// 把数据抛出,在线编辑不知道要不要抛
|
|
const data = {}
|
|
data.formInline = this.$refs.baseInfoForm.getData()
|
|
data.dataSource = this.dataSource
|
|
return data
|
|
},
|
|
// 修改前按钮点击
|
|
beforeUpdateClick (record) {
|
|
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="less">
|
|
@import '~@assets/less/common.less';
|
|
|
|
.online-edit-wrapper {
|
|
height: 100%;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
p {
|
|
margin-bottom: 0;
|
|
height: 100%;
|
|
}
|
|
.ant-btn {
|
|
margin-right: 20px;
|
|
}
|
|
}
|
|
</style>
|