diff --git a/src/pages/page1/saicComponents/Init.vue b/src/pages/page1/saicComponents/Init.vue
index b97716e..ec9f04f 100644
--- a/src/pages/page1/saicComponents/Init.vue
+++ b/src/pages/page1/saicComponents/Init.vue
@@ -34,11 +34,16 @@
目次
-
+
前言(新制定标准)
前言(修订标准)
+
+ 添加发布章
+ 插入签审信息
+
+
{
- clearTimeout(timer)
- timer = null
// 初始化前言,只有前言标题的版本
this.initForeword()
+ clearTimeout(timer)
+ timer = null
}, 500)
},
@@ -1947,7 +1961,6 @@ export default {
const AllContentControls = oDocument.GetAllContentControls()
let flag = false
for (let i = 0; i < AllContentControls.length; i++) {
- console.log(AllContentControls[i].GetAlias())
// 避免重复创建参考文献
if (AllContentControls[i].GetAlias() === 'sinotruk.references') {
flag = true
@@ -2001,6 +2014,258 @@ export default {
console.log(e)
}
})
+ },
+
+ /**
+ * 添加发布章
+ */
+ addPublicationChapter () {
+ this.ctx.callCommand(() => {
+ try {
+ const oDocument = Api.GetDocument()
+ const GetAllDrawingObjects = oDocument.GetAllShapes()
+ // 获取在封面预留的添加发布章的区域
+ let oDocContentOne
+ for (let i = 0; i < GetAllDrawingObjects.length; i++) {
+ if (GetAllDrawingObjects[i].GetLockValue('noSelect')) {
+ oDocContentOne = GetAllDrawingObjects[i].GetDocContent()
+ break
+ }
+ }
+ oDocContentOne.RemoveAllElements()
+ const paragraph = Api.CreateParagraph()
+ paragraph.AddText('受 控')
+ paragraph.SetFontSize(48)
+ paragraph.SetColor(255, 0, 13, false)
+ paragraph.SetJc('center')
+ paragraph.SetBold(true)
+ paragraph.SetSpacingAfter(100)
+ // 创建图形
+ const rectParagraph = Api.CreateParagraph()
+ const stroke = Api.CreateStroke(24000, Api.CreateSolidFill(Api.CreateRGBColor(255, 0, 13)))
+ const oDrawing = Api.CreateShape('rect', 1518483, 708475, null, stroke)
+ rectParagraph.AddDrawing(oDrawing)
+ rectParagraph.SetJc('center')
+ const rectDocContent = oDrawing.GetContent()
+ const rectTextParagh = rectDocContent.GetElement(0)
+ rectTextParagh.AddText('正 本')
+ rectTextParagh.SetFontSize(68)
+ rectTextParagh.SetColor(255, 0, 13, false)
+ rectTextParagh.SetBold(true)
+ rectTextParagh.SetSpacingBefore(0)
+ rectTextParagh.SetSpacingAfter(0)
+ oDocContentOne.AddElement(paragraph)
+ oDocContentOne.Push(paragraph)
+ oDocContentOne.AddElement(rectParagraph)
+ oDocContentOne.Push(rectParagraph)
+ } catch (e) {
+ console.log(e)
+ }
+ })
+ },
+
+ /**
+ * 插入签审信息
+ */
+ async insertSignatureInfo () {
+ Asc.scope.signatureInfo = await this.getSignatureInfo()
+ Asc.scope.standCode = this.form.standCode
+ Asc.scope.standCNName = this.form.standName
+ Asc.scope.downloadUrl = window._CONFIG.downloadUrl
+ this.ctx.callCommand(() => {
+ try {
+ const oDocument = Api.GetDocument()
+ // 签审信息只创建一次
+ const AllContentControls = oDocument.GetAllContentControls()
+ let flag = false
+ for (let i = 0; i < AllContentControls.length; i++) {
+ if (AllContentControls[i].GetAlias() === 'sinotruk.signatureInfo') {
+ flag = true
+ break
+ }
+ }
+ if (flag) {
+ return
+ }
+ const count = oDocument.GetElementsCount()
+ let coverEndParagraph, paragraphIndex
+ for (let i = 0; i < count; i++) {
+ const element = oDocument.GetElement(i)
+ if ('paragraph' === element.GetClassType() && element.GetText().indexOf('中国重型汽车集团有限公司') !== -1 && element.GetText().indexOf('发布') !== -1) {
+ paragraphIndex = i + 1
+ coverEndParagraph = element
+ }
+ }
+ if (!coverEndParagraph) {
+ return
+ }
+ const emptyParagraph = Api.CreateParagraph()
+ oDocument.AddElement(paragraphIndex, emptyParagraph)
+
+ // 最上面的黑体标题
+ const oRunSubTitle = Api.CreateRun()
+ const oParagraphSubTitle = Api.CreateParagraph()
+ oRunSubTitle.AddText('中国重型汽车集团有限公司企业标准')
+ const oInlineLvlSdtSubTitle = Api.CreateInlineLvlSdt()
+ oInlineLvlSdtSubTitle.SetAlias('sinotruk.signatureInfo')
+ oInlineLvlSdtSubTitle.AddElement(oRunSubTitle, 0)
+ oParagraphSubTitle.AddInlineLvlSdt(oInlineLvlSdtSubTitle)
+ // oParagraphSubTitle.AddText(Asc.scope.standCNName);
+ oParagraphSubTitle.SetFontSize(32)
+ oParagraphSubTitle.SetSpacingBefore(300)
+ oParagraphSubTitle.SetSpacingAfter(300)
+ oParagraphSubTitle.SetFontFamily('黑体')
+ oParagraphSubTitle.SetColor(0, 0, 0)
+ oParagraphSubTitle.SetJc('center')
+ oParagraphSubTitle.SetBold(false)
+ emptyParagraph.InsertParagraph(oParagraphSubTitle, 'after')
+
+ // 责任签署的大标题
+ const oParagraphLargeTitle = Api.CreateParagraph()
+ oParagraphLargeTitle.AddText('责任签署')
+ oParagraphLargeTitle.SetFontSize(96)
+ oParagraphLargeTitle.SetSpacing(6)
+ oParagraphLargeTitle.SetSpacingAfter(300)
+ oParagraphLargeTitle.SetFontFamily('宋体')
+ oParagraphLargeTitle.SetColor(0, 0, 0)
+ oParagraphLargeTitle.SetJc('center')
+ oParagraphSubTitle.InsertParagraph(oParagraphLargeTitle, 'after')
+
+ // 计划编号
+ const oParagraphPlanNum = Api.CreateParagraph()
+ oParagraphPlanNum.AddText('计划编号:')
+ oParagraphPlanNum.SetFontFamily('宋体')
+ oParagraphPlanNum.SetFontSize(21)
+ oParagraphPlanNum.SetJc('left')
+ oParagraphPlanNum.SetSpacingAfter(0)
+ oParagraphPlanNum.SetSpacingBefore(0)
+ oParagraphPlanNum.SetColor(0, 0, 0)
+ oParagraphPlanNum.SetSpacingLine(1.5 * 240, 'auto')
+ oParagraphLargeTitle.InsertParagraph(oParagraphPlanNum, 'after')
+
+ // 标准名称
+ const oParagraphStandardName = Api.CreateParagraph()
+ oParagraphStandardName.AddText('标准名称:' + Asc.scope.standCode + ' ' + Asc.scope.standCNName)
+ oParagraphStandardName.SetFontFamily('宋体')
+ oParagraphStandardName.SetFontSize(21)
+ oParagraphStandardName.SetJc('left')
+ oParagraphStandardName.SetSpacingAfter(0)
+ oParagraphStandardName.SetSpacingBefore(0)
+ oParagraphStandardName.SetColor(0, 0, 0)
+ oParagraphStandardName.SetSpacingLine(1.5 * 240, 'auto')
+ oParagraphPlanNum.InsertParagraph(oParagraphStandardName, 'after')
+
+ // 横线
+ const oParagraphLine = Api.CreateParagraph()
+ const oFill = Api.CreateSolidFill(Api.CreateRGBColor(0, 0, 0))
+ const oStroke = Api.CreateStroke(0, Api.CreateNoFill())
+ const oDrawing = Api.CreateShape('rect', 6110900, 9000, oFill, oStroke)
+ oDrawing.SetWrappingStyle('inline')
+ oParagraphLine.AddDrawing(oDrawing)
+ oDrawing.SetDistances(0, 541, 0, 0)
+ oParagraphStandardName.InsertParagraph(oParagraphLine, 'after')
+
+ // 签章信息部分
+ const oParagraphBox = Api.CreateParagraph()
+ oParagraphBox.SetSpacingBefore(400)
+ const oStrokeBox = Api.CreateStroke(0, Api.CreateSolidFill(Api.CreateRGBColor(255, 0, 13)))
+ const oDrawingBox = Api.CreateShape('rect', 6110900, 6120900, null, oStrokeBox)
+ oDrawingBox.SetVerticalTextAlign('top')
+ oParagraphBox.AddDrawing(oDrawingBox)
+ oParagraphLine.InsertParagraph(oParagraphBox, 'after')
+
+ const signatureInfo = Asc.scope.signatureInfo
+ if (signatureInfo) {
+ // 内部的信息及手写章等内容
+ const oDocContent = oDrawingBox.GetDocContent()
+ const labelList = Object.keys(signatureInfo)
+ for (const key of labelList) {
+ const oParagraphLineOne = Api.CreateParagraph()
+ const oRunLabel = Api.CreateRun()
+ oRunLabel.AddText(key)
+ oRunLabel.SetPosition(48)
+ if (key.length === 4) {
+ oRunLabel.SetSpacing(80)
+ } else {
+ oRunLabel.SetSpacing(20)
+ }
+ oParagraphLineOne.AddElement(oRunLabel)
+ const oRunSymbol = Api.CreateRun()
+ oRunSymbol.AddText(':')
+ oRunSymbol.SetPosition(48)
+ oParagraphLineOne.AddElement(oRunSymbol)
+ const userList = signatureInfo[key] || []
+ for (let i = 0; i < userList.length; i++) {
+ const user = userList[i]
+ // 姓名工号
+ const oRunUserName = Api.CreateRun()
+ oRunUserName.AddText(user.userName + ' ')
+ oRunUserName.SetPosition(48)
+ // 手写章图片
+ const oRunImage = Api.CreateRun()
+ const url = `${Asc.scope.downloadUrl}/laws-sinotruk/sys/common/downloadWithoutToken/${user.avatarFileId}`
+ const oDrawingImg = Api.CreateImage(url, 53 * 36000, 18.4 * 36000)
+ oRunImage.AddDrawing(oDrawingImg)
+ // 签署日期
+ const oRunTime = Api.CreateRun()
+ oRunTime.AddText(' 签署日期:' + user.signTime)
+ oRunTime.SetPosition(48)
+ if (i === 0) {
+ oParagraphLineOne.AddElement(oRunUserName)
+ oParagraphLineOne.AddElement(oRunImage)
+ oParagraphLineOne.AddElement(oRunTime)
+ oParagraphLineOne.GetElement(0)
+ oDocContent.AddElement(oParagraphLineOne)
+ oDocContent.Push(oParagraphLineOne)
+ } else {
+ const oParagraphLine = Api.CreateParagraph()
+ oParagraphLine.AddElement(oRunUserName)
+ oParagraphLine.AddElement(oRunImage)
+ oParagraphLine.AddElement(oRunTime)
+ oParagraphLine.SetIndLeft(1388)
+ oDocContent.AddElement(oParagraphLine)
+ oDocContent.Push(oParagraphLine)
+ }
+ }
+
+ }
+ }
+
+ // 中国重型汽车集团有限公司
+ const oParagraphPageEnd = Api.CreateParagraph()
+ oParagraphPageEnd.AddText('中国重型汽车集团有限公司')
+ oParagraphPageEnd.SetFontSize(48)
+ oParagraphPageEnd.SetSpacingBefore(300)
+ oParagraphPageEnd.SetSpacingAfter(0)
+ oParagraphPageEnd.SetFontFamily('宋体')
+ oParagraphPageEnd.SetColor(0, 0, 0)
+ oParagraphPageEnd.SetJc('center')
+ oParagraphPageEnd.SetBold(false)
+ oParagraphPageEnd.SetSpacing(1.8)
+ oParagraphBox.InsertParagraph(oParagraphPageEnd, 'after')
+ } catch (e) {
+ console.log(e)
+ }
+ })
+ },
+ getSignatureInfo () {
+ return new Promise(resolve => {
+ let result = false
+ const params = {
+ processInstanceId: this.form.processId
+ }
+ _axios({
+ url: '/laws-sinotruk/process/es/revision/getSignInfo',
+ method: 'get',
+ params: params
+ }).then(res => {
+ if (res.success) {
+ result = res.result
+ }
+ }).finally(() => {
+ resolve(result)
+ })
+ })
}
},
created () {
diff --git a/vue.config.js b/vue.config.js
index 3a5f248..ff303bb 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -43,7 +43,7 @@ module.exports = {
headers: { 'Access-Control-Allow-Origin': '*' },
proxy: {
'/laws-sinotruk': {
- target: 'http://139.9.235.66:8184',
+ target: 'http://10.0.1.19:8184',
ws: false,
changeOrigin: true,
pathRewrite: {