add:单据同步ERP
This commit is contained in:
@@ -69,6 +69,14 @@ export function syncAnalyse(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export function manualSyncErp(data) {
|
||||
return request({
|
||||
url: 'api/sycnErp/manualSync',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default {
|
||||
add,
|
||||
edit,
|
||||
@@ -78,5 +86,6 @@ export default {
|
||||
getAllTableName,
|
||||
tableColumns,
|
||||
syncData,
|
||||
syncAnalyse
|
||||
syncAnalyse,
|
||||
manualSyncErp
|
||||
}
|
||||
|
||||
@@ -9,19 +9,21 @@
|
||||
label-width="90px"
|
||||
label-suffix=":"
|
||||
>
|
||||
<el-form-item label="映射表名" prop="local_table_name">
|
||||
<el-form-item label="同步配置表" prop="form_type">
|
||||
<el-select
|
||||
v-model="query.local_table_name"
|
||||
v-model="query.form_type"
|
||||
clearable
|
||||
filterable
|
||||
size="mini"
|
||||
placeholder="请选择/搜索"
|
||||
class="filter-item"
|
||||
@change="getColumns"
|
||||
@change="crud.toQuery()"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in tableNameList"
|
||||
:value="item"
|
||||
v-for="item in tableEnum.sync_form_mapping"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -224,93 +226,52 @@
|
||||
:close-on-click-modal="false"
|
||||
title="同步选择"
|
||||
:visible.sync="syncErpShow"
|
||||
width="800px"
|
||||
@close="syncErp"
|
||||
width="600px"
|
||||
>
|
||||
<el-form ref="form" :model="syncForm" :rules="rules" size="mini" label-width="50px">
|
||||
<el-row :gutter="40" class="panel-group">
|
||||
<el-col :span="11">
|
||||
<el-form-item label="表单:" prop="occupystruct_qty">
|
||||
<el-input v-model="syncForm.form_name" disabled :precision="0" style="width: 150px;" />
|
||||
<el-form ref="form:" :model="syncForm" :rules="rules" size="mini" label-width="60px">
|
||||
<el-row :gutter="20" class="panel-group">
|
||||
<el-col :span="10">
|
||||
<el-form-item label="类型" prop="form_type">
|
||||
<el-select
|
||||
v-model="syncForm.form_type"
|
||||
clearable
|
||||
filterable
|
||||
size="mini"
|
||||
placeholder="请选择/搜索"
|
||||
class="filter-item"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in tableEnum.sync_form_mapping"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="11">
|
||||
<el-form-item label="存储:" prop="needSave">
|
||||
<el-switch
|
||||
v-model="syncForm.needSave"
|
||||
active-color="#13ce66"
|
||||
inactive-color="#ff4949"
|
||||
<el-col :span="10">
|
||||
<el-form-item label="单号:" prop="form_code">
|
||||
<el-input v-model="syncForm.form_code" style="width: 180px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="panel-group">
|
||||
<el-col :span="10">
|
||||
<el-form-item label="日期:" prop="analyseData">
|
||||
<el-date-picker
|
||||
v-model="syncForm.datepick"
|
||||
type="daterange"
|
||||
value-format="yyyy-MM-dd hh:mm:ss"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="测试数据" prop="analyseData">
|
||||
<el-input v-model="syncForm.analyseData" type="textarea" :precision="0" style="width: 650px;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div v-if="viewMst.length >0">
|
||||
<div class="crud-opts2">
|
||||
<span class="role-span2">解析数据</span>
|
||||
</div>
|
||||
<el-card class="box-card" shadow="never" :body-style="{padding:'0'}">
|
||||
<!--表格渲染-->
|
||||
<el-table
|
||||
ref="table"
|
||||
:data="viewMst"
|
||||
style="width: 100%;"
|
||||
max-height="300"
|
||||
size="mini"
|
||||
border
|
||||
:highlight-current-row="true"
|
||||
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
|
||||
>
|
||||
<el-table-column min-width="120" show-overflow-tooltip prop="id" label="id" align="center" />
|
||||
<el-table-column min-width="120" show-overflow-tooltip prop="code" label="单据编码" align="center" />
|
||||
<el-table-column min-width="120" show-overflow-tooltip prop="biz_code" label="业务单" align="center" />
|
||||
<el-table-column min-width="120" show-overflow-tooltip prop="material_id" label="物料id" align="center" />
|
||||
<el-table-column min-width="120" show-overflow-tooltip prop="pcsn" label="批次" align="center" />
|
||||
<el-table-column min-width="120" show-overflow-tooltip prop="qty" label="数量" align="center" />
|
||||
<el-table-column min-width="120" show-overflow-tooltip prop="unit_id" label="单位" align="center" />
|
||||
<el-table-column min-width="120" show-overflow-tooltip prop="vehicle_code" label="载具" align="center" />
|
||||
<el-table-column min-width="120" show-overflow-tooltip prop="status" label="单据状态" align="center" />
|
||||
<el-table-column v-for="(item, index) in viewMstCols" :key="item.value" min-width="120" show-overflow-tooltip :label="item.lable">
|
||||
<template slot-scope="scope">{{ scope.row.form_data[item.value] }}</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
<!-- <div v-if="hasDtl">-->
|
||||
<!-- <div class="crud-opts2">-->
|
||||
<!-- <span class="role-span2">明细数据</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <el-card class="box-card" shadow="never" :body-style="{padding:'0'}">-->
|
||||
<!-- <!–表格渲染–>-->
|
||||
<!-- <el-table-->
|
||||
<!-- ref="table"-->
|
||||
<!-- :data="viewDtl"-->
|
||||
<!-- style="width: 100%;"-->
|
||||
<!-- max-height="300"-->
|
||||
<!-- size="mini"-->
|
||||
<!-- border-->
|
||||
<!-- :highlight-current-row="true"-->
|
||||
<!-- :header-cell-style="{background:'#f5f7fa',color:'#606266'}"-->
|
||||
<!-- >-->
|
||||
<!-- <el-table-column min-width="120" show-overflow-tooltip prop="id" label="id" align="center" />-->
|
||||
<!-- <el-table-column min-width="120" show-overflow-tooltip prop="code" label="单据编码" align="center" />-->
|
||||
<!-- <el-table-column min-width="120" show-overflow-tooltip prop="biz_code" label="业务单" align="center" />-->
|
||||
<!-- <el-table-column min-width="120" show-overflow-tooltip prop="material_id" label="物料id" align="center" />-->
|
||||
<!-- <el-table-column min-width="120" show-overflow-tooltip prop="pcsn" label="批次" align="center" />-->
|
||||
<!-- <el-table-column min-width="120" show-overflow-tooltip prop="qty" label="数量" align="center" />-->
|
||||
<!-- <el-table-column min-width="120" show-overflow-tooltip prop="vehicle_code" label="载具" align="center" />-->
|
||||
<!-- <el-table-column min-width="120" show-overflow-tooltip prop="status" label="单据状态" align="center" />-->
|
||||
<!-- <el-table-column min-width="120" show-overflow-tooltip v-for="(item, index) in viewDtlCols" :key="item.value" :label="item.lable" >-->
|
||||
<!-- <template slot-scope="scope">{{scope.row.form_data[item.value]}}</template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- </el-table>-->
|
||||
<!-- </el-card>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="crud.cu === 2" type="primary" @click="syncAnalyseSubmit">同步解析</el-button>
|
||||
<el-button type="primary" @click="syncErpSubmit">同步ERP</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
@@ -386,6 +347,7 @@ export default {
|
||||
components: { pagination, crudOperation, rrOperation, udOperation, AddDialog, EditDialog },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['external_system', 'sync_type'],
|
||||
tableEnums: ['sync_form_mapping#form_name#form_type'],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
title: '外部系统字段映射',
|
||||
@@ -448,7 +410,7 @@ export default {
|
||||
this.$refs.editRef.setForm(row)
|
||||
this.editShow = true
|
||||
},
|
||||
syncErpbutton(){
|
||||
syncErpbutton() {
|
||||
this.syncErpShow = true
|
||||
},
|
||||
syncErp(data) {
|
||||
@@ -457,6 +419,11 @@ export default {
|
||||
})
|
||||
this.crud.toQuery()
|
||||
},
|
||||
syncErpSubmit() {
|
||||
crudFormMapping.manualSyncErp(this.syncForm).then(res => {
|
||||
this.crud.notify(res.data, CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})
|
||||
},
|
||||
jsonFormat(row, index) {
|
||||
if (row.mapping_json != null) {
|
||||
return JSON.stringify(row.mapping_json)
|
||||
|
||||
Reference in New Issue
Block a user