Accept Merge Request #868: (feature/前端样式修改 -> develop)
Merge Request: 修改,增加强制必填字段方法 Created By: @黄焱 Reviewed By: @马广威 Approved By: @马广威 Accepted By: @黄焱 URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/868?initial=true
This commit is contained in:
@@ -30,7 +30,7 @@ patch(FormStatusIndicator.prototype, 'jikimo_frontend.FormStatusIndicator', {
|
|||||||
await this.props.discard();
|
await this.props.discard();
|
||||||
},
|
},
|
||||||
|
|
||||||
_confirmDiscardChange(){
|
_confirmDiscardChange() {
|
||||||
var self = this;
|
var self = this;
|
||||||
var def = new Promise(function (resolve, reject) {
|
var def = new Promise(function (resolve, reject) {
|
||||||
var message = _t("请确认是否要舍弃之前的更改?");
|
var message = _t("请确认是否要舍弃之前的更改?");
|
||||||
@@ -44,32 +44,33 @@ patch(FormStatusIndicator.prototype, 'jikimo_frontend.FormStatusIndicator', {
|
|||||||
return def;
|
return def;
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
$(function (){
|
$(function () {
|
||||||
document.addEventListener('click', function () {
|
document.addEventListener('click', function () {
|
||||||
const dom = $('.o_form_status_indicator_buttons ')
|
const dom = $('.o_form_status_indicator_buttons ')
|
||||||
if(dom) {
|
if (dom) {
|
||||||
const dom1 = dom.children().eq(0)
|
const dom1 = dom.children().eq(0)
|
||||||
const dom2 = dom.children().eq(1)
|
const dom2 = dom.children().eq(1)
|
||||||
if(!dom1.text()) {
|
if (!dom1.text()) {
|
||||||
dom1.append('保存')
|
dom1.append('保存')
|
||||||
dom2.append('取消')
|
dom2.append('取消')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
function customRequired() {
|
function customRequired() {
|
||||||
let timer = null
|
let timer = null
|
||||||
let timer_count = 0
|
let timer_count = 0
|
||||||
clearInterval(timer)
|
clearInterval(timer)
|
||||||
timer = setInterval(() => {
|
timer = setInterval(() => {
|
||||||
timer_count ++
|
timer_count++
|
||||||
const dom = $('.custom_required')
|
const dom = $('.custom_required')
|
||||||
let tableDom = $('.table_custom_required')
|
let tableDom = $('.table_custom_required')
|
||||||
if(tableDom.length) {
|
if (tableDom.length) {
|
||||||
tableDom = tableDom.eq(0).parents('tr').children('.table_custom_required')
|
tableDom = tableDom.eq(0).parents('tr').children('.table_custom_required')
|
||||||
tableDom.each(function (){
|
tableDom.each(function () {
|
||||||
const i = $(this).index()
|
const i = $(this).index()
|
||||||
const requiredDom = $(this).parents('table').find('thead').find('th').eq(i).find('span').eq(0)
|
const requiredDom = $(this).parents('table').find('thead').find('th').eq(i).find('span').eq(0)
|
||||||
const t = requiredDom.text().replace('*', '')
|
const t = requiredDom.text().replace('*', '')
|
||||||
@@ -77,29 +78,75 @@ $(function (){
|
|||||||
})
|
})
|
||||||
clearInterval(timer)
|
clearInterval(timer)
|
||||||
}
|
}
|
||||||
if(dom.length) {
|
if (dom.length) {
|
||||||
dom.each(function (){
|
dom.each(function () {
|
||||||
const requiredDom = $(this).parent().prev().find('label')
|
const requiredDom = $(this).parent().prev().find('label')
|
||||||
let t = requiredDom.html()
|
let t = requiredDom.html()
|
||||||
if(t.indexOf('c*') < 0) {
|
if (t.indexOf('c*') < 0) {
|
||||||
t = '<i class="c*" style="color: red;margin-left: -4px">*</i>' + t
|
t = '<i class="c*" style="color: red;margin-left: -4px">*</i>' + t
|
||||||
}
|
}
|
||||||
requiredDom.html(t)
|
requiredDom.html(t)
|
||||||
})
|
})
|
||||||
clearInterval(timer)
|
clearInterval(timer)
|
||||||
}
|
}
|
||||||
if(timer_count == 20) {
|
if (timer_count == 20) {
|
||||||
clearInterval(timer)
|
clearInterval(timer)
|
||||||
}
|
}
|
||||||
},500)
|
}, 500)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setRequired(dom = {label: [], table: []}) {
|
||||||
|
let domTimer = null
|
||||||
|
let timer_count = 0
|
||||||
|
clearInterval(domTimer)
|
||||||
|
domTimer = setInterval(() => {
|
||||||
|
timer_count++
|
||||||
|
const lint = $('.o_form_view_container')
|
||||||
|
if (lint.length) {
|
||||||
|
clearInterval(domTimer)
|
||||||
|
const {label, table} = dom
|
||||||
|
if (label.length) {
|
||||||
|
$(dom.label.join(',')).each(function () {
|
||||||
|
let t = $(this).html()
|
||||||
|
if (t.indexOf('c*') < 0) {
|
||||||
|
t = '<i class="c*" style="color: red;margin-left: -6px;margin-right: 2px">*</i>' + t
|
||||||
|
}
|
||||||
|
$(this).html(t)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if (table.length) {
|
||||||
|
table.forEach(_ => {
|
||||||
|
const th = $(`th[data-name=${_}]`)
|
||||||
|
const t = th.find('span').eq(0).text().replace('*','')
|
||||||
|
th.find('span').eq(0).html('<i style="color: red">*</i>' + t)
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (timer_count == 20) {
|
||||||
|
clearInterval(domTimer)
|
||||||
|
}
|
||||||
|
}, 500)
|
||||||
|
}
|
||||||
|
|
||||||
var currentUrl = location.href
|
var currentUrl = location.href
|
||||||
|
const customRequiredDom = {
|
||||||
|
label: ['label[for=production_line_id]','label[for=date_approve]','label[for=partner_id]', 'label[for=validity_date]', '.o_horizontal[role=radiogroup]', 'label[for=vat]', 'label[for=phone]', 'label[for=mobile]', 'label[for=email]', 'label[for=category_id]','label[for=date_order]','label[for=picking_type_id]'],
|
||||||
|
table: ['product_template_id', 'product_uom_qty', 'price_unit','product_id','product_qty']
|
||||||
|
}
|
||||||
const listenerUrl = setInterval(() => {
|
const listenerUrl = setInterval(() => {
|
||||||
const isChange = currentUrl != location.href
|
const isChange = currentUrl != location.href
|
||||||
if(isChange) {
|
if (isChange) {
|
||||||
currentUrl = location.href
|
currentUrl = location.href
|
||||||
customRequired()
|
customRequired()
|
||||||
|
setRequired(customRequiredDom)
|
||||||
|
}
|
||||||
|
if($('label[for=production_line_id]')) {
|
||||||
|
setRequired({table: [], label: ['label[for=production_line_id]']})
|
||||||
}
|
}
|
||||||
}, 500)
|
}, 500)
|
||||||
customRequired()
|
customRequired()
|
||||||
|
setRequired(customRequiredDom)
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user