布产列表

This commit is contained in:
xielue 2023-07-21 18:08:28 +08:00
parent b49e7e3222
commit e3acd3e919
4 changed files with 118 additions and 72 deletions

View File

@ -56,43 +56,43 @@ VXETable.renderer.add('MkFormInputShow', {
VXETable.renderer.add('MkFormUploader', {
// 项内容模板
renderItemContent(h, renderOpts, params) {
const { data, field } = params
const props = renderOpts.props || {}
const options = renderOpts.options || []
return <mk-form-uploader options={options} v-model={data[field]} {...{ props }}></mk-form-uploader>
}
// 项内容模板
renderItemContent(h, renderOpts, params) {
const { data, field } = params
const props = renderOpts.props || {}
const options = renderOpts.options || []
return <mk-form-uploader options={options} v-model={data[field]} {...{ props }}></mk-form-uploader>
}
})
VXETable.renderer.add('MkFormCropper', {
// 项内容模板
renderItemContent(h, renderOpts, params) {
const { data, field } = params
const props = renderOpts.props || {}
const options = renderOpts.options || []
return <mk-form-cropper options={options} v-model={data[field]} {...{ props }}></mk-form-cropper>
}
// 项内容模板
renderItemContent(h, renderOpts, params) {
const { data, field } = params
const props = renderOpts.props || {}
const options = renderOpts.options || []
return <mk-form-cropper options={options} v-model={data[field]} {...{ props }}></mk-form-cropper>
}
})
VXETable.renderer.add('MkFormEditor', {
// 项内容模板
renderItemContent(h, renderOpts, params) {
const { data, field } = params
const props = renderOpts.props || {}
const options = renderOpts.options || []
return <mk-form-editor options={options} v-model={data[field]} {...{ props }}></mk-form-editor>
}
// 项内容模板
renderItemContent(h, renderOpts, params) {
const { data, field } = params
const props = renderOpts.props || {}
const options = renderOpts.options || []
return <mk-form-editor options={options} v-model={data[field]} {...{ props }}></mk-form-editor>
}
})
VXETable.formats.mixin({
formatYesNo({ cellValue }) { // 格式化是否
return cellValue ? '是' : '否'
},
formatRef({ cellValue,column }) { // 格式化参照
formatRef({ cellValue, column }) { // 格式化参照
if(column && column.params
if (column && column.params
&& column.params.dataType == "object"
&& column.params.textField && typeof(cellValue) == "object"
&& column.params.textField && typeof (cellValue) == "object"
){
) {
return cellValue[column.params.textField];
}
return cellValue && cellValue[1] ? cellValue[1] : ''
@ -104,58 +104,73 @@ VXETable.formats.mixin({
return '未审';
},
formatDateTime({ cellValue }) { // 日期时间格式化
if(typeof(cellValue) == "number"){
if (typeof (cellValue) == "number") {
cellValue = new Date(cellValue * 1000);
}
return XEUtils.toDateString(cellValue, 'yyyy-MM-dd HH:mm:ss')
},
formatDate({ cellValue }) { // 日期格式化
if(typeof(cellValue) == "number"){
if (typeof (cellValue) == "number") {
cellValue = new Date(cellValue * 1000);
}
return XEUtils.toDateString(cellValue, 'yyyy-MM-dd')
},
formatNumber({ cellValue }) { // 数字格式化
if(cellValue === 0) return '0';
if(!cellValue) return '';
if (cellValue === 0) return '0';
if (!cellValue) return '';
return parseFloat(cellValue).toFixed(2)
},
formatImage({ cellValue }) { // 格式化状态
if (!cellValue) return '';
return `<img src="${cellValue}">`;
},
formatEnum({ cellValue,column }) { // 格式化状态
formatEnum({ cellValue, column }) { // 格式化状态
if (cellValue == null) return '';
if(!column.params) return '';
for(let i =0;i<column.params.length;i++){
if(column.params[i].value == cellValue){
return column.params[i].label;
if (!column.params) return '';
for (let i = 0; i < column.params.length; i++) {
if (column.params[i].value == cellValue) {
return '<span>' + column.params[i].label + '</span>';
}
}
return '';
},
formatPercentage({ cellValue }) { // 百分比的形式显示
if(cellValue === 0) return '0%';
if(!cellValue) return '';
return parseFloat(cellValue).toFixed(2) +"%";
if (cellValue === 0) return '0%';
if (!cellValue) return '';
return parseFloat(cellValue).toFixed(2) + "%";
},
})
VXETable.renderer.add('enum', {
renderDefault(h, renderOpts, params) {
let { row, column } = params
let cellValue = row[column.field];
for (let i = 0; column.params && i < column.params.data.length; i++) {
if (column.params.data[i].value == cellValue) {
let cls = column.params.cls + ' ' + column.params.cls +'_'+column.params.data[i].value;
return <span class={ cls }>{column.params.data[i].label}</span>;
}
}
return <span></span>;
}
})
var mk = {
...modal, // modal
...modal, // modal
...apis, //API调用相关的方法
...apis, //API调用相关的方法
...funs, //常用的方法
...form, //表单常用的方法
...form, //表单常用的方法
config: config,
config: config,
dialog: dialog,
dialog: dialog,
uploadFile :uploader.uploadFile,
getPreviewSrc:uploader.getPreviewSrc,
uploadFile: uploader.uploadFile,
getPreviewSrc: uploader.getPreviewSrc,
getWindowSize: () => {
return {
@ -185,12 +200,12 @@ var mk = {
Vue.component(switchCompany.name, switchCompany)
Vue.component(MkFormUploader.name,MkFormUploader);
Vue.component(MkFormEditor.name,MkFormEditor);
Vue.component(MkFormCropper.name,MkFormCropper);
Vue.component(MkFormInputShow.name,MkFormInputShow);
Vue.component(BasicPageList.name,BasicPageList);
Vue.component(BasicPageEdit.name,BasicPageEdit);
Vue.component(MkFormUploader.name, MkFormUploader);
Vue.component(MkFormEditor.name, MkFormEditor);
Vue.component(MkFormCropper.name, MkFormCropper);
Vue.component(MkFormInputShow.name, MkFormInputShow);
Vue.component(BasicPageList.name, BasicPageList);
Vue.component(BasicPageEdit.name, BasicPageEdit);

View File

@ -159,3 +159,31 @@ cursor: pointer;
top: 50px;
z-index: 999;
}
.finish_status{
padding:3px 8px;
}
.finish_status_2{
background: #F6FFED;
border:1px solid #B7EB8F;
color: #7BD34F;
}
.finish_status_1{
background: #F0F0EE;
border:1px solid #FFA39E;
color: #F63C45;
}
.audit_status{
padding:3px 8px;
}
.audit_status_1{
background: #F6FFED;
border:1px solid #B7EB8F;
color: #7BD34F;
}
.audit_status_2{
background: #F0F0EE;
border:1px solid #FFA39E;
color: #F63C45;
}

View File

@ -86,11 +86,14 @@ export default {
id: 'datagrid_1', //
columns: [
{ type: 'checkbox', width: 'auto' }, //
{ type: 'checkbox', width: 80 }, //
{ title: '操作', slots: { default: 'op' }, width: 120 },
{ field: 'production_number', sortable: true, title: '单据编码', width: 250 }, //
{ field: 'audit_status', params:[{label:"已审批",value:1},{label:"未审批",value:0}] , formatter: 'formatEnum', width: 160, sortable: true, title: '审批状态', showHeaderOverflow: true }, //
{ field: 'audit_status', params:{data:[{label:"已审批",value:1},{label:"未审批",value:0}],cls:'audit_status'} , cellRender:{name: 'enum'}, width: 160, sortable: true, title: '审批状态', showHeaderOverflow: true }, //
{ field: 'plan_finish_status', params:{data:[{label:"已完成",value:2},{label:"未完成",value:1}],cls:'finish_status'} , cellRender:{name: 'enum'}, width: 160, sortable: true, title: '完成状态', showHeaderOverflow: true }, //
{ field: 'create_time', formatter: 'formatDate', width: 100, sortable: true, title: '单据日期', showHeaderOverflow: true }, //
{ field: 'create_time', formatter: 'formatDate', width: 100, sortable: true, title: '创建时间', showHeaderOverflow: true }, //
{ field: 'update_time', formatter: 'formatDate', width: 100, sortable: true, title: '更新时间', showHeaderOverflow: true }, //

View File

@ -69,7 +69,7 @@
</vxe-column>
<vxe-column title="工序管理" width="120" v-if="dataId">
<template #default="{ row }">
<div class="oplinks2">
<div class="oplinks2" v-if="dataId && row.materials_id">
<a-button @click.stop="pageShowProcesses({row})">工序设置</a-button>
</div>
</template>