-
+
@@ -10,9 +10,8 @@
-
-
企业标准
-
{{ $t('workCenter.enStandardRevision.onLineEditing') }}
+
{{ $t('enterpriseStandard') }}
+
{{ $t('workCenter.enStandardRevision.onLineEditing') }}
@@ -257,6 +256,8 @@ import BaseInfoForm from './BaseInfoForm'
import JTable from '@/components/jero/JTable'
import UpdateListModal from './UpdateListModal'
import TextContentModal from '../../../businessSupport/askForAdvice/modules/TextContentModal'
+import { getEnterpriseStandardInfoById } from '../../../../api/enterpriseStandardLibraryApi'
+import { onlineEditor } from '../../../../utils/onlyOfficeUtils'
export default {
name: 'MainDrafterInitBaseInfo',
@@ -432,12 +433,14 @@ export default {
trigger: 'change'
}
]
- }
+ },
+ standardCanOnlineEditFile: '', // 标准文件中本身就可以在线预览的文件
+ onEditFile: '' // 在线编辑的文件id
}
},
methods: {
// 拿到外面传进来的数据初始化,因为套了几层就不在外层初始化数据了
- initData (data) {
+ async initData (data) {
// 给表格赋值,在线编辑不知道要怎么赋值?
this.dataSource = data.list.map(item => {
const uidGenerator = () => {
@@ -448,6 +451,11 @@ export default {
...item
}
})
+ if (!data.onEditFile) {
+ await this.getStandardFile(data.standardId)
+ }
+ // 在线编辑
+ this.onEditFile = data.onEditFile || this.standardCanOnlineEditFile
const formInline = {}
// 更改级别代号
formInline.levelCode = data.levelCode
@@ -475,8 +483,43 @@ export default {
// 给表单赋值
this.$nextTick(() => {
this.$refs.baseInfoForm.initData(data)
+ this.onEditFile = data.onEditFile || ''
})
},
+ // 获取标准本身的文件
+ async getStandardFile (standardId) {
+ await getEnterpriseStandardInfoById({ id: standardId, type: '2' }).then(res => {
+ if (res.success) {
+ // 过程稿件id 发布稿>修改单>报批稿>送审稿>征求意见稿>草稿
+ const fieldArr = ['publish_of_original', 'modification_list', 'draft_for_review', 'draft_for_comment', 'draft']
+ const needSuffixArr = ['doc', 'docx']
+ let fileId = ''
+ for (const item of fieldArr) {
+ if (!fileId) {
+ const fileNameArr = res.result[item + '_dictText'].split(',')
+ for (let i = 0; i < fileNameArr.length; i++) {
+ // 截取文件后缀名
+ const fileSuffix = (fileNameArr[i] ? fileNameArr[i].split('.')[fileNameArr[i].split('.').length - 1] : '').toLowerCase()
+ if (needSuffixArr.includes(fileSuffix)) {
+ // 说明是支持在线编辑的文件格式
+ console.log('支持在线编辑的文件', res.result[item].split(',')[i], res.result[item + '_dictText'].split(',')[i])
+ fileId = res.result[item].split(',')[i]
+ }
+ }
+ }
+ }
+ this.standardCanOnlineEditFile = fileId
+ }
+ })
+ },
+ // 上方表单企标编号修改了
+ async listChange (value) {
+ console.log(value)
+ await this.getStandardFile(value[0].id)
+ // 在线编辑
+ this.onEditFile = this.onEditFile || this.standardCanOnlineEditFile
+ console.log(this.onEditFile)
+ },
// 外层要获取数据
getData () {
// 把数据抛出,在线编辑不知道要不要抛
@@ -486,6 +529,7 @@ export default {
...this.formInline
}
data.dataSource = this.dataSource
+ data.onEditFile = this.onEditFile
return data
},
// 外层获取数据要过校验,返回false表示没有通过校验
@@ -498,6 +542,7 @@ export default {
if (this.dataSource.length > 0) {
data.formInline = { ...formInline, ...this.formInline }
data.dataSource = this.dataSource
+ data.onEditFile = this.onEditFile
} else {
this.$message.warning(this.$t('addAtLeastOneRowOfData'))
data = false
@@ -575,6 +620,20 @@ export default {
// 修改前按钮点击
beforeUpdateClick (record) {
this.$refs.textContentModal.open(record.beforeUpdate)
+ },
+ /**
+ * 跳转在线编辑
+ */
+ toOnlineEditor () {
+ // 获取参数(用于自动生成封面)
+ const params = this.$refs.baseInfoForm.getOnlineEditorParams()
+ // 校验必填字段(最后一个字段是企标编号)
+ const requiredField = ['implementationDate', 'releaseDate', 'standardName', 'standardNumber']
+ const validateResult = this.$refs.baseInfoForm.validateFormByFields(requiredField)
+ if (validateResult) {
+ console.log(this.onEditFile)
+ onlineEditor(params, this.onEditFile)
+ }
}
}
}
diff --git a/src/views/workCenter/enterpriseStandardRevision/modules/CommentObjectEnterBaseInfo.vue b/src/views/workCenter/enterpriseStandardRevision/modules/CommentObjectEnterBaseInfo.vue
index 002398c6..d0c1c9a8 100644
--- a/src/views/workCenter/enterpriseStandardRevision/modules/CommentObjectEnterBaseInfo.vue
+++ b/src/views/workCenter/enterpriseStandardRevision/modules/CommentObjectEnterBaseInfo.vue
@@ -10,9 +10,8 @@