From 9854eeb9acb024b9868c970d5e9a9d440ec70516 Mon Sep 17 00:00:00 2001 From: YuleiLan Date: Fri, 28 Aug 2020 10:53:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=B1=82=E9=9D=A2=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E5=8F=AF=E5=86=99=E3=80=81=E9=9A=90=E8=97=8F=E6=A8=A1?= =?UTF-8?q?=E7=89=88=E6=95=B0=E6=8D=AE=E7=9A=84=E6=9B=B4=E6=96=B0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/handle.go | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/pkg/service/handle.go b/pkg/service/handle.go index 242e4c4..433080e 100644 --- a/pkg/service/handle.go +++ b/pkg/service/handle.go @@ -629,16 +629,46 @@ func (h *Handle) HandleWorkOrder( // 更新表单数据 for _, t := range tpls { - var tplValue []byte + var ( + tplValue []byte + ) tplValue, err = json.Marshal(t["tplValue"]) if err != nil { h.tx.Rollback() return } - err = h.tx.Model(&process.TplData{}).Where("id = ?", t["tplDataId"]).Update("form_data", tplValue).Error - if err != nil { - h.tx.Rollback() - return + + // 是否可写,只有可写的模版可以更新数据 + updateStatus := false + if writeTplList, writeOK := h.stateValue["writeTpls"]; writeOK { + tplListTag: + for _, writeTplId := range writeTplList.([]interface{}) { + if writeTplId == t["tplId"] { // 可写 + // 是否隐藏,隐藏的模版无法修改数据 + if hideTplList, hideOK := h.stateValue["hideTpls"]; hideOK { + for _, hideTplId := range hideTplList.([]interface{}) { + if hideTplId == t["tplId"] { // 隐藏的 + updateStatus = false + break tplListTag + } else { + updateStatus = true + } + } + } else { + updateStatus = true + } + } + } + } else { + // 不可写 + updateStatus = false + } + if updateStatus { + err = h.tx.Model(&process.TplData{}).Where("id = ?", t["tplDataId"]).Update("form_data", tplValue).Error + if err != nil { + h.tx.Rollback() + return + } } }