布产列表

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

@ -28,7 +28,7 @@ VXETable.renderer.add('MkGridDataSelector', { // 创建一个下拉表格渲染
return <mk-grid-data-selector params={params}></mk-grid-data-selector> return <mk-grid-data-selector params={params}></mk-grid-data-selector>
} }
}) })
VXETable.renderer.add('MkGridSelect', { VXETable.renderer.add('MkGridSelect', {
autofocus: '.vxe-input--inner', autofocus: '.vxe-input--inner',
renderEdit(h, renderOpts, params) { renderEdit(h, renderOpts, params) {
return <mk-grid-select params={params}></mk-grid-select> return <mk-grid-select params={params}></mk-grid-select>
@ -43,7 +43,7 @@ VXETable.renderer.add('MkFormDataSelector', {
const props = renderOpts.props || {} const props = renderOpts.props || {}
return <mk-form-data-selector v-model={data[field]} {...{ props }}></mk-form-data-selector> return <mk-form-data-selector v-model={data[field]} {...{ props }}></mk-form-data-selector>
} }
}) })
VXETable.renderer.add('MkFormInputShow', { VXETable.renderer.add('MkFormInputShow', {
// 项内容模板 // 项内容模板
renderItemContent(h, renderOpts, params) { renderItemContent(h, renderOpts, params) {
@ -54,45 +54,45 @@ VXETable.renderer.add('MkFormInputShow', {
}) })
VXETable.renderer.add('MkFormUploader', { VXETable.renderer.add('MkFormUploader', {
// 项内容模板 // 项内容模板
renderItemContent(h, renderOpts, params) { renderItemContent(h, renderOpts, params) {
const { data, field } = params const { data, field } = params
const props = renderOpts.props || {} const props = renderOpts.props || {}
const options = renderOpts.options || [] const options = renderOpts.options || []
return <mk-form-uploader options={options} v-model={data[field]} {...{ props }}></mk-form-uploader> return <mk-form-uploader options={options} v-model={data[field]} {...{ props }}></mk-form-uploader>
} }
}) })
VXETable.renderer.add('MkFormCropper', { VXETable.renderer.add('MkFormCropper', {
// 项内容模板 // 项内容模板
renderItemContent(h, renderOpts, params) { renderItemContent(h, renderOpts, params) {
const { data, field } = params const { data, field } = params
const props = renderOpts.props || {} const props = renderOpts.props || {}
const options = renderOpts.options || [] const options = renderOpts.options || []
return <mk-form-cropper options={options} v-model={data[field]} {...{ props }}></mk-form-cropper> return <mk-form-cropper options={options} v-model={data[field]} {...{ props }}></mk-form-cropper>
} }
}) })
VXETable.renderer.add('MkFormEditor', { VXETable.renderer.add('MkFormEditor', {
// 项内容模板 // 项内容模板
renderItemContent(h, renderOpts, params) { renderItemContent(h, renderOpts, params) {
const { data, field } = params const { data, field } = params
const props = renderOpts.props || {} const props = renderOpts.props || {}
const options = renderOpts.options || [] const options = renderOpts.options || []
return <mk-form-editor options={options} v-model={data[field]} {...{ props }}></mk-form-editor> return <mk-form-editor options={options} v-model={data[field]} {...{ props }}></mk-form-editor>
} }
}) })
VXETable.formats.mixin({ VXETable.formats.mixin({
formatYesNo({ cellValue }) { // 格式化是否 formatYesNo({ cellValue }) { // 格式化是否
return cellValue ? '是' : '否' return cellValue ? '是' : '否'
}, },
formatRef({ cellValue,column }) { // 格式化参照 formatRef({ cellValue, column }) { // 格式化参照
if(column && column.params if (column && column.params
&& column.params.dataType == "object" && column.params.dataType == "object"
&& column.params.textField && typeof(cellValue) == "object" && column.params.textField && typeof (cellValue) == "object"
){ ) {
return cellValue[column.params.textField]; return cellValue[column.params.textField];
} }
return cellValue && cellValue[1] ? cellValue[1] : '' return cellValue && cellValue[1] ? cellValue[1] : ''
@ -104,63 +104,78 @@ VXETable.formats.mixin({
return '未审'; return '未审';
}, },
formatDateTime({ cellValue }) { // 日期时间格式化 formatDateTime({ cellValue }) { // 日期时间格式化
if(typeof(cellValue) == "number"){ if (typeof (cellValue) == "number") {
cellValue = new Date(cellValue * 1000); cellValue = new Date(cellValue * 1000);
} }
return XEUtils.toDateString(cellValue, 'yyyy-MM-dd HH:mm:ss') return XEUtils.toDateString(cellValue, 'yyyy-MM-dd HH:mm:ss')
}, },
formatDate({ cellValue }) { // 日期格式化 formatDate({ cellValue }) { // 日期格式化
if(typeof(cellValue) == "number"){ if (typeof (cellValue) == "number") {
cellValue = new Date(cellValue * 1000); cellValue = new Date(cellValue * 1000);
} }
return XEUtils.toDateString(cellValue, 'yyyy-MM-dd') return XEUtils.toDateString(cellValue, 'yyyy-MM-dd')
}, },
formatNumber({ cellValue }) { // 数字格式化 formatNumber({ cellValue }) { // 数字格式化
if(cellValue === 0) return '0'; if (cellValue === 0) return '0';
if(!cellValue) return ''; if (!cellValue) return '';
return parseFloat(cellValue).toFixed(2) return parseFloat(cellValue).toFixed(2)
}, },
formatImage({ cellValue }) { // 格式化状态 formatImage({ cellValue }) { // 格式化状态
if (!cellValue) return ''; if (!cellValue) return '';
return `<img src="${cellValue}">`; return `<img src="${cellValue}">`;
}, },
formatEnum({ cellValue,column }) { // 格式化状态 formatEnum({ cellValue, column }) { // 格式化状态
if (cellValue == null) return ''; if (cellValue == null) return '';
if(!column.params) return ''; if (!column.params) return '';
for(let i =0;i<column.params.length;i++){ for (let i = 0; i < column.params.length; i++) {
if(column.params[i].value == cellValue){ if (column.params[i].value == cellValue) {
return column.params[i].label; return '<span>' + column.params[i].label + '</span>';
} }
} }
return ''; return '';
}, },
formatPercentage({ cellValue }) { // 百分比的形式显示 formatPercentage({ cellValue }) { // 百分比的形式显示
if(cellValue === 0) return '0%'; if (cellValue === 0) return '0%';
if(!cellValue) return ''; if (!cellValue) return '';
return parseFloat(cellValue).toFixed(2) +"%"; 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 = { var mk = {
...modal, // modal ...modal, // modal
...apis, //API调用相关的方法 ...apis, //API调用相关的方法
...funs, //常用的方法 ...funs, //常用的方法
...form, //表单常用的方法 ...form, //表单常用的方法
config: config, config: config,
dialog: dialog, dialog: dialog,
uploadFile :uploader.uploadFile, uploadFile: uploader.uploadFile,
getPreviewSrc:uploader.getPreviewSrc, getPreviewSrc: uploader.getPreviewSrc,
getWindowSize: () => { getWindowSize: () => {
return { return {
width: document.documentElement.clientWidth || document.body.clientWidth, width: document.documentElement.clientWidth || document.body.clientWidth,
height: document.documentElement.clientHeight || document.body.clientHeight height: document.documentElement.clientHeight || document.body.clientHeight
}; };
}, },
@ -178,27 +193,27 @@ var mk = {
Vue.component(MkFormDataSelector.name, MkFormDataSelector) Vue.component(MkFormDataSelector.name, MkFormDataSelector)
Vue.component(MkGridDataSelector.name, MkGridDataSelector) Vue.component(MkGridDataSelector.name, MkGridDataSelector)
Vue.component(MkGridSelect.name, MkGridSelect) Vue.component(MkGridSelect.name, MkGridSelect)
Vue.component(MkPrinter.name, MkPrinter) Vue.component(MkPrinter.name, MkPrinter)
Vue.component(MkCropper.name, MkCropper) Vue.component(MkCropper.name, MkCropper)
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(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);
//图片预览组件 //图片预览组件
//使用方法this.$hevueImgPreview(url) //使用方法this.$hevueImgPreview(url)
Vue.use(hevueImgPreview) Vue.use(hevueImgPreview)
}, },
@ -238,5 +253,5 @@ var mk = {
} }
return filter; return filter;
} }
}; };
export default mk; export default mk;

View File

@ -158,4 +158,32 @@ cursor: pointer;
left: 10px; left: 10px;
top: 50px; top: 50px;
z-index: 999; 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', // id: 'datagrid_1', //
columns: [ columns: [
{ type: 'checkbox', width: 'auto' }, // { type: 'checkbox', width: 80 }, //
{ title: '操作', slots: { default: 'op' }, width: 120 }, { title: '操作', slots: { default: 'op' }, width: 120 },
{ field: 'production_number', sortable: true, title: '单据编码', width: 250 }, // { 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: '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 }, // { field: 'update_time', formatter: 'formatDate', width: 100, sortable: true, title: '更新时间', showHeaderOverflow: true }, //

View File

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