布产列表
This commit is contained in:
parent
b49e7e3222
commit
e3acd3e919
|
|
@ -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;
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
@ -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 }, // 更新时间
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue