衣架管理 1.11

zhc4dev
zhc077 2 years ago
parent 69bcb03291
commit cafc1d4fd2
  1. 87
      ant-design-vue-jeecg/src/views/hanger/HangerList.vue
  2. 246
      ant-design-vue-jeecg/src/views/hanger/HangerMakerList.vue
  3. 1
      ant-design-vue-jeecg/src/views/hanger/modules/HangerForm.vue
  4. 170
      ant-design-vue-jeecg/src/views/hanger/modules/HangerMakerForm.vue
  5. 0
      ant-design-vue-jeecg/src/views/hanger/modules/HangerMakerModal.vue
  6. 0
      ant-design-vue-jeecg/src/views/hanger/modules/HangerMakerModal__Style#Drawer.vue
  7. 213
      ant-design-vue-jeecg/src/views/hangermaker/HangerMakerList.vue
  8. 156
      ant-design-vue-jeecg/src/views/hangermaker/modules/HangerMakerForm.vue
  9. 80
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hangermaker/entity/HangerMaker.java

@ -9,16 +9,16 @@
<a-input placeholder="请输入衣架编号" v-model="queryParam.hangerCode"></a-input> <a-input placeholder="请输入衣架编号" v-model="queryParam.hangerCode"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24"> <!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">-->
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> <!-- <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">-->
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button> <!-- <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>-->
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> <!-- <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>-->
<a @click="handleToggleSearch" style="margin-left: 8px"> <!-- <a @click="handleToggleSearch" style="margin-left: 8px">-->
{{ toggleSearchStatus ? '收起' : '展开' }} <!-- {{ toggleSearchStatus ? '收起' : '展开' }}-->
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> <!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
</a> <!-- </a>-->
</span> <!-- </span>-->
</a-col> <!-- </a-col>-->
</a-row> </a-row>
</a-form> </a-form>
</div> </div>
@ -28,15 +28,15 @@
<div class="table-operator"> <div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('衣架表')">导出</a-button> <a-button type="primary" icon="download" @click="handleExportXls('衣架表')">导出</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> <!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
<a-button type="primary" icon="import">导入</a-button> <!-- <a-button type="primary" icon="import">导入</a-button>-->
</a-upload> <!-- </a-upload>-->
<a-dropdown v-if="selectedRowKeys.length > 0"> <!-- <a-dropdown v-if="selectedRowKeys.length > 0">-->
<a-menu slot="overlay"> <!-- <a-menu slot="overlay">-->
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item> <!-- <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>-->
</a-menu> <!-- </a-menu>-->
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button> <!-- <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>-->
</a-dropdown> <!-- </a-dropdown>-->
</div> </div>
<!-- table区域-begin --> <!-- table区域-begin -->
@ -59,44 +59,27 @@
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap" class="j-table-force-nowrap"
@change="handleTableChange"> @change="handleTableChange">
<template slot="htmlSlot" slot-scope="text">
<div v-html="text"></div>
</template>
<template slot="imgSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
<img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
</template>
<template slot="fileSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
<a-button
v-else
:ghost="true"
type="primary"
icon="download"
size="small"
@click="downloadFile(text)">
下载
</a-button>
</template>
<span slot="action" slot-scope="text, record"> <span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a> <a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" /> <a-divider type="vertical" />
<a-dropdown> <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
<a-menu slot="overlay">
<a-menu-item>
<a @click="handleDetail(record)">详情</a>
</a-menu-item>
<a-menu-item>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a> <a>删除</a>
</a-popconfirm> </a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown> <!-- <a-dropdown>-->
<!-- <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>-->
<!-- <a-menu slot="overlay">-->
<!-- <a-menu-item>-->
<!-- <a @click="handleDetail(record)">详情</a>-->
<!-- </a-menu-item>-->
<!-- <a-menu-item>-->
<!-- <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">-->
<!-- <a>删除</a>-->
<!-- </a-popconfirm>-->
<!-- </a-menu-item>-->
<!-- </a-menu>-->
<!-- </a-dropdown>-->
</span> </span>
</a-table> </a-table>

@ -0,0 +1,246 @@
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="衣架编号">
<a-input placeholder="请输入衣架编号" v-model="queryParam.hangerCode"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="工单编号">
<a-input placeholder="请输入工单编号" v-model="queryParam.orderCode"></a-input>
</a-form-item>
</a-col>
<template v-if="toggleSearchStatus">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="制单编号">
<a-input placeholder="请输入制单编号" v-model="queryParam.makerCode"></a-input>
</a-form-item>
</a-col>
</template>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload"
style="margin-left: 8px">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!-- 查询区域-END -->
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('衣架制单绑定')">导出</a-button>
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
<!-- <a-button type="primary" icon="import">导入</a-button>-->
<!-- </a-upload>-->
<!-- 高级查询区域 -->
<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel">
<a-icon type="delete"/>
删除
</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> 批量操作
<a-icon type="down"/>
</a-button>
</a-dropdown>
</div>
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a
style="font-weight: 600">{{ selectedRowKeys.length }}</a>
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>
<a-table
ref="table"
size="middle"
:scroll="{x:true}"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap"
@change="handleTableChange">
<!-- <template slot="htmlSlot" slot-scope="text">-->
<!-- <div v-html="text"></div>-->
<!-- </template>-->
<!-- <template slot="imgSlot" slot-scope="text">-->
<!-- <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>-->
<!-- <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>-->
<!-- </template>-->
<!-- <template slot="fileSlot" slot-scope="text">-->
<!-- <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>-->
<!-- <a-button-->
<!-- v-else-->
<!-- :ghost="true"-->
<!-- type="primary"-->
<!-- icon="download"-->
<!-- size="small"-->
<!-- @click="downloadFile(text)">-->
<!-- 下载-->
<!-- </a-button>-->
<!-- </template>-->
<span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical"/>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</span>
</a-table>
</div>
<hanger-maker-modal ref="modalForm" @ok="modalFormOk"></hanger-maker-modal>
</a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
import {mixinDevice} from '@/utils/mixin'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import HangerMakerModal from './modules/HangerMakerModal'
import {getAction} from "@api/manage";
import {filterObj} from "@/utils/util";
export default {
name: 'HangerMakerList',
mixins: [JeecgListMixin, mixinDevice],
components: {
HangerMakerModal
},
data() {
return {
description: '衣架制单表管理页面',
//
columns: [
{
title: '序号',
dataIndex: '',
key: 'rowIndex',
width: 60,
align: "center",
customRender: function (t, r, index) {
return parseInt(index) + 1;
}
},
{
title: '绑定方式',
align: "center",
dataIndex: 'ismaker_dictText'
},
{
title: '衣架编号',
align: "center",
dataIndex: 'hangerCode'
},
{
title: '工单编号',
align: "center",
dataIndex: 'orderCode'
},
{
title: '制单编号',
align: "center",
dataIndex: 'makerCode'
},
{
title: '操作',
dataIndex: 'action',
align: "center",
fixed: "right",
width: 147,
scopedSlots: {customRender: 'action'}
}
],
url: {
list: "/hangermaker/hangerMaker/list",
delete: "/hangermaker/hangerMaker/delete",
deleteBatch: "/hangermaker/hangerMaker/deleteBatch",
exportXlsUrl: "/hangermaker/hangerMaker/exportXls",
importExcelUrl: "hangermaker/hangerMaker/importExcel",
},
dictOptions: {},
superFieldList: [],
}
},
created() {
// this.getSuperFieldList();
},
computed: {
importExcelUrl: function () {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
},
},
methods: {
loadData(arg) {
if (!this.url.list) {
this.$message.error("请设置url.list属性!")
return
}
// 1
if (arg === 1) {
this.ipagination.current = 1;
}
this.loading = true;
var params = this.getQueryParams();//
// console.log("----------------the params:", params);
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.records || res.result;
if (res.result.total) {
this.ipagination.total = res.result.total;
} else {
this.ipagination.total = 0;
}
} else {
this.$message.warning(res.message)
}
}).finally(() => {
// this.dataSource.forEach(item => {
// if (item['ismaker'] === 0) {
// item['ismaker'] = "";
// }
// if (item['ismaker'] === 1) {
// item['ismaker'] = "";
// }
// })
this.loading = false
})
},
getQueryParams() {
//
let sqp = {}
if (this.superQueryParams) {
sqp['superQueryParams'] = encodeURI(this.superQueryParams)
sqp['superQueryMatchType'] = this.superQueryMatchType
}
var param = Object.assign(sqp, this.queryParam, this.isorter, this.filters);
param.field = this.getQueryField();
param.pageNo = this.ipagination.current;
param.pageSize = this.ipagination.pageSize;
// param.planProcessId = this.planProcessId;
return filterObj(param);
},
}
}
</script>

@ -66,6 +66,7 @@
hangerCode: { hangerCode: {
rules: [ rules: [
{ required: true, message: '请输入衣架编号!'}, { required: true, message: '请输入衣架编号!'},
{ pattern: /^.{0,50}$/, message: '衣架编号长度不能超过50位字符'},
] ]
}, },
}, },

@ -0,0 +1,170 @@
<template>
<a-spin :spinning="confirmLoading">
<j-form-container :disabled="formDisabled">
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
<a-row>
<a-col :span="24">
<a-form-model-item label="绑定方式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="ismaker">
<!-- <a-input v-model="model.ismaker" placeholder="请选择绑定方式"></a-input>-->
<j-dict-select-tag type="list" v-model="model.ismaker" dictCode="ismaker" placeholder="请选择绑定方式"/>
</a-form-model-item>
</a-col>
<a-col :span="24" v-show="false">
<a-form-model-item label="衣架ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hangerId">
<a-input v-model="model.hangerId" placeholder="请输入衣架ID"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="衣架编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hangerCode">
<j-popup
v-model="model.hangerCode"
field="hangerCode"
org-fields="id,hanger_code"
dest-fields="hangerId,hangerCode"
code="hanger"
:multi="false"
@input="popupCallback"
/>
</a-form-model-item>
</a-col>
<a-col :span="24" v-show="false">
<a-form-model-item label="工单ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderId">
<a-input v-model="model.orderId" placeholder="请输入工单ID"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="工单编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderCode">
<j-popup
v-model="model.orderCode"
field="orderCode"
org-fields="id,code"
dest-fields="orderId,orderCode"
code="zy_work_order"
:multi="false"
@input="popupCallback"
/>
</a-form-model-item>
</a-col>
<a-col :span="24" v-show="false">
<a-form-model-item label="制单ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="makerId">
<a-input v-model="model.makerId" placeholder="请输入制单ID"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="制单编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="makerCode">
<j-popup
v-model="model.makerCode"
field="makerCode"
org-fields="id,code"
dest-fields="makerId,makerCode"
code="zy_maker"
:multi="false"
@input="popupCallback"
/>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</j-form-container>
</a-spin>
</template>
<script>
import {httpAction, getAction} from '@/api/manage'
import {validateDuplicateValue} from '@/utils/util'
export default {
name: 'HangerMakerForm',
components: {},
props: {
//
disabled: {
type: Boolean,
default: false,
required: false
}
},
data() {
return {
model: {},
labelCol: {
xs: {span: 24},
sm: {span: 5},
},
wrapperCol: {
xs: {span: 24},
sm: {span: 16},
},
confirmLoading: false,
validatorRules: {
ismaker: [
{required: true, message: '绑定方式不能为空!'},
],
hangerCode: [
{required: true, message: '衣架编号不能为空!'},
],
orderCode: [
{required: true, message: '工单编号不能为空!'},
],
},
url: {
add: "/hangermaker/hangerMaker/add",
edit: "/hangermaker/hangerMaker/edit",
queryById: "/hangermaker/hangerMaker/queryById"
}
}
},
computed: {
formDisabled() {
return this.disabled
},
},
created() {
//model
this.modelDefault = JSON.parse(JSON.stringify(this.model));
},
methods: {
add() {
this.edit(this.modelDefault);
},
edit(record) {
this.model = Object.assign({}, record);
this.visible = true;
},
submitForm() {
const that = this;
//
this.$refs.form.validate(valid => {
if (valid) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if (!this.model.id) {
httpurl += this.url.add;
method = 'post';
} else {
httpurl += this.url.edit;
method = 'put';
}
httpAction(httpurl, this.model, method).then((res) => {
if (res.success) {
that.$message.success(res.message);
that.$emit('ok');
} else {
that.$message.warning(res.message);
}
}).finally(() => {
that.confirmLoading = false;
})
}
})
},
popupCallback(value, row) {
this.model = Object.assign(this.model, row);
},
}
}
</script>

@ -1,213 +0,0 @@
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="衣架编号">
<a-input placeholder="请输入衣架编号" v-model="queryParam.hangerCode"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="工单编号">
<a-input placeholder="请输入工单编号" v-model="queryParam.orderCode"></a-input>
</a-form-item>
</a-col>
<template v-if="toggleSearchStatus">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="制单编号">
<a-input placeholder="请输入制单编号" v-model="queryParam.makerCode"></a-input>
</a-form-item>
</a-col>
</template>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
<a @click="handleToggleSearch" style="margin-left: 8px">
{{ toggleSearchStatus ? '收起' : '展开' }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!-- 查询区域-END -->
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('衣架制单表')">导出</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
<!-- 高级查询区域 -->
<j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
</a-dropdown>
</div>
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>
<a-table
ref="table"
size="middle"
:scroll="{x:true}"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap"
@change="handleTableChange">
<template slot="htmlSlot" slot-scope="text">
<div v-html="text"></div>
</template>
<template slot="imgSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
<img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
</template>
<template slot="fileSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
<a-button
v-else
:ghost="true"
type="primary"
icon="download"
size="small"
@click="downloadFile(text)">
下载
</a-button>
</template>
<span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a-dropdown>
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
<a-menu slot="overlay">
<a-menu-item>
<a @click="handleDetail(record)">详情</a>
</a-menu-item>
<a-menu-item>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
</a-table>
</div>
<hanger-maker-modal ref="modalForm" @ok="modalFormOk"></hanger-maker-modal>
</a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import HangerMakerModal from './modules/HangerMakerModal'
export default {
name: 'HangerMakerList',
mixins:[JeecgListMixin, mixinDevice],
components: {
HangerMakerModal
},
data () {
return {
description: '衣架制单表管理页面',
//
columns: [
{
title: '序号',
dataIndex: '',
key:'rowIndex',
width:60,
align:"center",
customRender:function (t,r,index) {
return parseInt(index)+1;
}
},
{
title:'衣架编号',
align:"center",
dataIndex: 'hangerCode'
},
{
title:'工单编号',
align:"center",
dataIndex: 'orderCode'
},
{
title:'制单编号',
align:"center",
dataIndex: 'makerCode'
},
{
title: '操作',
dataIndex: 'action',
align:"center",
fixed:"right",
width:147,
scopedSlots: { customRender: 'action' }
}
],
url: {
list: "/hangermaker/hangerMaker/list",
delete: "/hangermaker/hangerMaker/delete",
deleteBatch: "/hangermaker/hangerMaker/deleteBatch",
exportXlsUrl: "/hangermaker/hangerMaker/exportXls",
importExcelUrl: "hangermaker/hangerMaker/importExcel",
},
dictOptions:{},
superFieldList:[],
}
},
created() {
this.getSuperFieldList();
},
computed: {
importExcelUrl: function(){
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
},
},
methods: {
initDictConfig(){
},
getSuperFieldList(){
let fieldList=[];
fieldList.push({type:'string',value:'hangerId',text:'衣架ID',dictCode:''})
fieldList.push({type:'popup',value:'hangerCode',text:'衣架编号', popup:{code:'hanger',field:'id',orgFields:'id',destFields:'hanger_id'}})
fieldList.push({type:'string',value:'orderId',text:'工单ID',dictCode:''})
fieldList.push({type:'popup',value:'orderCode',text:'工单编号', popup:{code:'zy_work_order',field:'id',orgFields:'id',destFields:'order_id'}})
fieldList.push({type:'string',value:'makerId',text:'制单ID',dictCode:''})
fieldList.push({type:'popup',value:'makerCode',text:'制单编号', popup:{code:'zy_document_order',field:'id',orgFields:'id',destFields:'maker_id'}})
this.superFieldList = fieldList
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>

@ -1,156 +0,0 @@
<template>
<a-spin :spinning="confirmLoading">
<j-form-container :disabled="formDisabled">
<a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
<a-row>
<a-col :span="24" v-show="false">
<a-form-model-item label="衣架ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hangerId">
<a-input v-model="model.hangerId" placeholder="请输入衣架ID" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="衣架编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hangerCode">
<j-popup
v-model="model.hangerCode"
field="hangerCode"
org-fields="id,hanger_code"
dest-fields="hangerId,hangerCode"
code="hanger"
:multi="false"
@input="popupCallback"
/>
</a-form-model-item>
</a-col>
<a-col :span="24" v-show="false">
<a-form-model-item label="工单ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderId">
<a-input v-model="model.orderId" placeholder="请输入工单ID" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="工单编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderCode">
<j-popup
v-model="model.orderCode"
field="orderCode"
org-fields="id,code"
dest-fields="orderId,orderCode"
code="zy_work_order"
:multi="false"
@input="popupCallback"
/>
</a-form-model-item>
</a-col>
<a-col :span="24" v-show="false">
<a-form-model-item label="制单ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="makerId">
<a-input v-model="model.makerId" placeholder="请输入制单ID" ></a-input>
</a-form-model-item>
</a-col>
<a-col :span="24">
<a-form-model-item label="制单编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="makerCode">
<j-popup
v-model="model.makerCode"
field="makerCode"
org-fields="id,code"
dest-fields="makerId,makerCode"
code="zy_document_order"
:multi="false"
@input="popupCallback"
/>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</j-form-container>
</a-spin>
</template>
<script>
import { httpAction, getAction } from '@/api/manage'
import { validateDuplicateValue } from '@/utils/util'
export default {
name: 'HangerMakerForm',
components: {
},
props: {
//
disabled: {
type: Boolean,
default: false,
required: false
}
},
data () {
return {
model:{
},
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 },
},
confirmLoading: false,
validatorRules: {
},
url: {
add: "/hangermaker/hangerMaker/add",
edit: "/hangermaker/hangerMaker/edit",
queryById: "/hangermaker/hangerMaker/queryById"
}
}
},
computed: {
formDisabled(){
return this.disabled
},
},
created () {
//model
this.modelDefault = JSON.parse(JSON.stringify(this.model));
},
methods: {
add () {
this.edit(this.modelDefault);
},
edit (record) {
this.model = Object.assign({}, record);
this.visible = true;
},
submitForm () {
const that = this;
//
this.$refs.form.validate(valid => {
if (valid) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if(!this.model.id){
httpurl+=this.url.add;
method = 'post';
}else{
httpurl+=this.url.edit;
method = 'put';
}
httpAction(httpurl,this.model,method).then((res)=>{
if(res.success){
that.$message.success(res.message);
that.$emit('ok');
}else{
that.$message.warning(res.message);
}
}).finally(() => {
that.confirmLoading = false;
})
}
})
},
popupCallback(value,row){
this.model = Object.assign(this.model, row);
},
}
}
</script>

@ -4,6 +4,7 @@ import java.io.Serializable;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.Date; import java.util.Date;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
@ -20,62 +21,87 @@ import lombok.experimental.Accessors;
/** /**
* @Description: 衣架制单表 * @Description: 衣架制单表
* @Author: jeecg-boot * @Author: jeecg-boot
* @Date: 2021-11-20 * @Date: 2021-11-20
* @Version: V1.0 * @Version: V1.0
*/ */
@Data @Data
@TableName("hanger_maker") @TableName("hanger_maker")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value="hanger_maker对象", description="衣架制单表") @ApiModel(value = "hanger_maker对象", description = "衣架制单表")
public class HangerMaker implements Serializable { public class HangerMaker implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**主键*/ /**
@TableId(type = IdType.ASSIGN_ID) * 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键") @ApiModelProperty(value = "主键")
private java.lang.String id; private java.lang.String id;
/**创建人*/ /**
* 创建人
*/
@ApiModelProperty(value = "创建人") @ApiModelProperty(value = "创建人")
private java.lang.String createBy; private java.lang.String createBy;
/**创建日期*/ /**
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") * 创建日期
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") */
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期") @ApiModelProperty(value = "创建日期")
private java.util.Date createTime; private java.util.Date createTime;
/**更新人*/ /**
* 更新人
*/
@ApiModelProperty(value = "更新人") @ApiModelProperty(value = "更新人")
private java.lang.String updateBy; private java.lang.String updateBy;
/**更新日期*/ /**
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") * 更新日期
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") */
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期") @ApiModelProperty(value = "更新日期")
private java.util.Date updateTime; private java.util.Date updateTime;
/**所属部门*/ /**
@ApiModelProperty(value = "所属部门") * 绑定方式
private java.lang.String sysOrgCode; */
/**衣架ID*/ @ApiModelProperty(value = "绑定方式:绑定工单0,绑定制单1,默认0")
@Excel(name = "衣架ID", width = 15) @Dict(dicCode = "ismaker")
private Integer ismaker;
/**
* 衣架ID
*/
@Excel(name = "衣架ID", width = 15)
@ApiModelProperty(value = "衣架ID") @ApiModelProperty(value = "衣架ID")
private java.lang.String hangerId; private java.lang.String hangerId;
/**衣架编号*/ /**
@Excel(name = "衣架编号", width = 15) * 衣架编号
*/
@Excel(name = "衣架编号", width = 15)
@ApiModelProperty(value = "衣架编号") @ApiModelProperty(value = "衣架编号")
private java.lang.String hangerCode; private java.lang.String hangerCode;
/**工单ID*/ /**
@Excel(name = "工单ID", width = 15) * 工单ID
*/
@Excel(name = "工单ID", width = 15)
@ApiModelProperty(value = "工单ID") @ApiModelProperty(value = "工单ID")
private java.lang.String orderId; private java.lang.String orderId;
/**工单编号*/ /**
@Excel(name = "工单编号", width = 15) * 工单编号
*/
@Excel(name = "工单编号", width = 15)
@ApiModelProperty(value = "工单编号") @ApiModelProperty(value = "工单编号")
private java.lang.String orderCode; private java.lang.String orderCode;
/**制单ID*/ /**
@Excel(name = "制单ID", width = 15) * 制单ID
*/
@Excel(name = "制单ID", width = 15)
@ApiModelProperty(value = "制单ID") @ApiModelProperty(value = "制单ID")
private java.lang.String makerId; private java.lang.String makerId;
/**制单编号*/ /**
@Excel(name = "制单编号", width = 15) * 制单编号
*/
@Excel(name = "制单编号", width = 15)
@ApiModelProperty(value = "制单编号") @ApiModelProperty(value = "制单编号")
private java.lang.String makerCode; private java.lang.String makerCode;
} }

Loading…
Cancel
Save