Compare commits

...

2 Commits

  1. 1
      .env.prod
  2. 1
      .env.production
  3. 1
      .env.sit
  4. 1
      .env.uat
  5. 1
      .env.ver
  6. 14
      src/views/excel/ExcelExportTaskList.vue
  7. 13
      src/views/excel/ExcelImportTaskList.vue
  8. 8
      src/views/merger/mergeredConfig/productClassify/modules/CNregulatoryConditions.vue
  9. 84
      src/views/merger/mergeredConfig/productClassify/modules/MergerGoodsForm.vue
  10. 42
      src/views/merger/mergeredConfig/productClassify/modules/additionCode.js
  11. 158
      src/views/merger/mergeredConfig/productClassify/modules/additionCodeDialog.vue
  12. 6
      test.log

1
.env.prod

@ -1,5 +1,6 @@
NODE_ENV=prod
VUE_APP_API_BASE_URL=https://lcapi.midea.com/api-iems-cn/gcs
VUE_APP_API_BASE_DOMAIN=https://lcapi.midea.com
VUE_APP_API_BASE_SITE=https://lcapi.midea.com/api-iems-cn/gcs
VUE_APP_CAS_BASE_URL=https://signin.midea.com/login
VUE_APP_ONLINE_BASE_URL=

1
.env.production

@ -1,5 +1,6 @@
NODE_ENV=production
VUE_APP_API_BASE_URL=https://lcapi.midea.com/api-iems-cn/gcs
VUE_APP_API_BASE_DOMAIN=https://lcapi.midea.com
VUE_APP_API_BASE_SITE=https://lcapi.midea.com/api-iems-cn/gcs
VUE_APP_CAS_BASE_URL=https://signin.midea.com/login
VUE_APP_ONLINE_BASE_URL=

1
.env.sit

@ -1,5 +1,6 @@
NODE_ENV=sit
VUE_APP_API_BASE_URL=https://lsitapi.midea.com/api-iems-cn/gcs
VUE_APP_API_BASE_DOMAIN=https://lsitapi.midea.com
VUE_APP_API_BASE_SITE=http://localhost:9000
VUE_APP_CAS_BASE_URL=https://signinuat.midea.com/login
VUE_APP_ONLINE_BASE_URL=

1
.env.uat

@ -1,5 +1,6 @@
NODE_ENV=uat
VUE_APP_API_BASE_URL=https://luatapi.midea.com/api-iems-cn/gcs
VUE_APP_API_BASE_DOMAIN=https://luatapi.midea.com
VUE_APP_API_BASE_SITE=http://localhost:9000
VUE_APP_CAS_BASE_URL=https://signinuat.midea.com/login
VUE_APP_ONLINE_BASE_URL=

1
.env.ver

@ -1,5 +1,6 @@
NODE_ENV=ver
VUE_APP_API_BASE_URL=https://lverapi.midea.com/api-iems-cn/gcs
VUE_APP_API_BASE_DOMAIN=https://lverapi.midea.com
VUE_APP_API_BASE_SITE=http://localhost:9000
VUE_APP_CAS_BASE_URL=https://signinuat.midea.com/login
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview

14
src/views/excel/ExcelExportTaskList.vue

@ -60,8 +60,6 @@
</a-menu>
<w-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></w-button>
</a-dropdown> -->
<w-button @click="execute()" v-has="'excel:export:execute'" type="primary"> 导出执行 </w-button>
</div>
<!-- table区域-begin -->
@ -106,7 +104,6 @@
import { JeecgListMixin, WGridResizeByCssMixin } from '@/mixins/JeecgListMixin'
import { mixinDevice } from '@/utils/mixin'
import { getAction } from '@/api/manage'
import ExcelExportModel from './modules/ExcelExportModel.vue'
export default {
name: 'ExcelExportTaskList',
@ -257,7 +254,6 @@ export default {
delete: '/sys/excel/export/task/delete',
deleteBatch: '/sys/excel/export/task/deleteBatch',
downloadUrl: '/sys/excel/download',
executeExportTask: '/sys/excel/export/task/executeExportTask',
},
dictOptions: {},
superFieldList: [],
@ -290,16 +286,6 @@ export default {
this.createTime = []
this.searchReset()
},
execute() {
getAction(this.url.executeExportTask).then((res) => {
if (res.success) {
this.$message.success('导出执行成功')
this.loadData(1)
} else {
this.$message.warning(res.message)
}
})
},
},
}
</script>

13
src/views/excel/ExcelImportTaskList.vue

@ -43,7 +43,6 @@
<!-- 操作按钮区域 -->
<div class="table-operator">
<w-button @click="execute()" v-has="'excel:import:execute'" type="primary"> 导入执行 </w-button>
</div>
<!-- table区域-begin -->
@ -94,7 +93,6 @@
import { JeecgListMixin, WGridResizeByCssMixin } from '@/mixins/JeecgListMixin'
import { mixinDevice } from '@/utils/mixin'
import ExcelImportTaskModal from './modules/ExcelImportTaskModal'
import { getAction } from '@/api/manage'
export default {
name: 'ExcelImportTaskList',
@ -255,7 +253,6 @@ export default {
exportXlsUrl: '/sys/excel/import/task/exportXls',
importExcelUrl: '/sys/excel/import/task/importExcel',
downloadUrl: '/sys/excel/download',
executeImportTask: '/sys/excel/import/task/executeImportTask',
},
dictOptions: {},
superFieldList: [],
@ -288,16 +285,6 @@ export default {
this.createTime = []
this.searchReset()
},
execute() {
getAction(this.url.executeImportTask).then((res) => {
if (res.success) {
this.$message.success('导入执行成功')
this.loadData(1)
} else {
this.$message.warning(res.message)
}
})
},
},
}
</script>

8
src/views/merger/mergeredConfig/productClassify/modules/CNregulatoryConditions.vue

@ -18,6 +18,14 @@
<w-button @click="searchReset" type="primary" style="margin-left: 8px">重置</w-button>
</span>
</w-col>
<w-col :span="2">
<a-tooltip>
<template slot="title">
监管条件内容为所选附加编码匹配监管条件说明内容前3位数值一致的结果
</template>
<a-icon class="iconfont" width="2em" height="2em" type="question-circle" />
</a-tooltip>
</w-col>
</w-row>
</w-form>
</div>

84
src/views/merger/mergeredConfig/productClassify/modules/MergerGoodsForm.vue

@ -161,7 +161,7 @@
<div>{{ model.country + '-' + model.countryName }}</div>
</div>
</div>
<j-form-container>
<j-form-container class="merger-good-form-box">
<w-form ref="form" slot="detail" :model="model" :rules="validatorRules" v-next>
<!-- start 中国 -->
<w-row v-if="model.country === 'CN'">
@ -396,6 +396,7 @@
>
<w-input
v-model="model.limitConditions"
readonly
placeholder="请输入海外监管条件"
:maxLength="500"
:disabled="formDisabled"
@ -407,6 +408,20 @@
<w-input v-model="model.remarks" :maxLength="250" placeholder="请输入备注" :disabled="formDisabled" />
</w-form-item>
</w-col>
<w-col :span="12" v-if="showAdditionCode">
<w-form-item :label-col="labelCol" :wrapper-col="wrapperCol" label="附加编码" prop="additionalCode">
<div style="display: flex; align-items: center; width: 100%">
<w-input v-model="model.additionalCode" readonly placeholder="请选择附加编码" />
<div
@click="showAdditionCodeHandle"
class="plus-box"
>
<a-icon type="plus" style="color: #ffffff" />
</div>
</div>
</w-form-item>
</w-col>
</w-row>
<!-- end -->
</w-form>
@ -559,6 +574,7 @@
</w-form>
</j-modal>
<ApprovalProgressTemplate ref="ApprovalProgressTemplate" @ok="$emit('close')" />
<addition-code-dialog ref="additionCodeDialogRef" @confirm="confirmAdditionCode"></addition-code-dialog>
</a-spin>
</template>
@ -576,10 +592,12 @@ import CNattachmentCode from './CNattachmentCode';
import CNregulatoryConditions from './CNregulatoryConditions';
import CNtaxrateDesc from './CNtaxrateDesc';
import ApprovalProgressTemplate from '@/components/ApprovalProgressTemplate/index';
import additionCodeDialog from './additionCodeDialog';
export default {
name: 'MideaMergerGoodsForm',
components: {
additionCodeDialog,
WorkflowList,
ModifyRecord,
devClassify,
@ -624,6 +642,7 @@ export default {
},
confirmLoading: false,
validatorRules: {
additionalCode: [{ required: true, message: '请选择附加编码!', trigger: 'blur' }],
hsCode: [{ required: true, message: '请输入HSCode!', trigger: 'blur' }],
gname: [{ required: true, message: '请输入商品名称!', trigger: 'blur' }],
},
@ -694,6 +713,10 @@ export default {
formDisabled() {
return this.disabled;
},
showAdditionCode() {
//
return this.model.country && this.model.country === 'TH';
},
controlMaQuanType() {
if (this.model.controlMa && this.model.quanType) {
return this.model.controlMa + ',' + this.model.quanType;
@ -711,6 +734,13 @@ export default {
this.modelDefault = JSON.parse(JSON.stringify(this.model));
},
methods: {
showAdditionCodeHandle() {
this.$refs.additionCodeDialogRef.show({ data: this.model });
},
confirmAdditionCode(data) {
this.model.additionalCode = data.additionalCode;
this.getOtherCountry();
},
timestampToDate(timestamp) {
if (!timestamp) {
return '';
@ -733,7 +763,7 @@ export default {
return; // return
}
} else if (!['GC', 'CN'].includes(this.model.country)) {
if (this.model.hsCode.length < 6) {
if (this.model.hsCode && this.model.hsCode.length < 6) {
this.$message.error('国家为海外时,HSCode必须大于等于6位');
return; // return
}
@ -783,7 +813,7 @@ export default {
id: this.model.id,
});
if (resp.success) {
if (this.model.country === 'ID') {
if (this.model.country === 'ID' || this.model.country === 'TH') {
this.SubmitValid();
} else {
this.$refs.ApprovalProgressTemplate.show({
@ -820,11 +850,15 @@ export default {
}
},
async auditFlow() {
if (this.model.country === 'ID') {
const valid = await getAction(this.url.regulationValid, {
if (this.model.country === 'ID' || this.model.country === 'TH') {
const data = {
countryCode: this.model.country,
hscode: this.model.hsCode,
});
hscode: this.model.hsCode
};
if ( this.model.country === 'TH' ) {
data.additionalCode = this.model.additionalCode;
}
const valid = await getAction(this.url.regulationValid, data);
if (valid.success) {
this.$refs.ApprovalProgressTemplate.show({
id: this.model.id,
@ -888,6 +922,9 @@ export default {
flag: this.flag,
});
}
if (this.model.country === 'TH' && value) {
this.initAdditionalCode();
}
},
filterOption(input, option) {
return option.componentOptions.children[0].text.indexOf(input) !== -1;
@ -895,10 +932,20 @@ export default {
closeModal(record) {
if (record) {
this.model.hsCode = record.codeTS || record.hscode;
if (this.model.country === 'TH') {
this.initAdditionalCode();
}
this.queryByIdHscode('enter');
}
this.CNhSCodeModalShow = false;
},
initAdditionalCode(){
this.model.additionalCode = '';
this.regulatoryConditionsDataSource = [];
if (this.activeKeyBottom === 'regulatoryConditions') {
this.$refs.CNregulatoryConditions.show(this.regulatoryConditionsDataSource);
}
},
// HSCode
showHsCode() {
if (this.formDisabled) {
@ -1087,6 +1134,7 @@ export default {
const resp = await getAction(this.url.hscodDetail, {
hscode: this.model.hsCode,
countryCode: this.model.country,
additionalCode: this.model.country === 'TH' ? this.model.additionalCode : undefined
});
if (resp.success) {
const result = JSON.parse(resp.result);
@ -1251,6 +1299,8 @@ export default {
}
}
});
} else {
that.$message.warning('请检查必填项');
}
});
},
@ -1358,10 +1408,14 @@ export default {
});
},
async SubmitValid() {
const valid = await getAction(this.url.regulationValid, {
const data = {
countryCode: this.model.country,
hscode: this.model.hsCode,
});
hscode: this.model.hsCode
};
if ( this.model.country === 'TH' ) {
data.additionalCode = this.model.additionalCode;
}
const valid = await getAction(this.url.regulationValid, data);
if (valid.success) {
this.$refs.ApprovalProgressTemplate.show({
id: this.model.id,
@ -1435,7 +1489,15 @@ export default {
}
}
}
.merger-good-form-box {
.plus-box {
width: 26px;
height: 26px;
background-color: #0f69ff;
line-height: 26px;
text-align: center;
}
}
/deep/ .md-form-item__label {
width: 120px;
}

42
src/views/merger/mergeredConfig/productClassify/modules/additionCode.js

@ -0,0 +1,42 @@
export default {
searchFields: [
{
name: '附加编码',
value: 'additionalCode',
type: 'input',
isFixed: true,
span: 3
},
{
name: '语言类别',
value: 'cultureCode',
type: 'select',
optionsKey: 'GLOBAL_TARIFF_LANGUAGE_TYPE',
isFixed: true,
span: 3
}
],
columns:[
{
label: '附加编码',
prop: 'additionalCode',
'width': 130,
},
{
label: '附加编码类型',
prop: 'additionalCodeType',
'width': 130,
},
{
label: '附加编码说明',
prop: 'codeDescription',
'min-width': 160,
},
{
label: '语言类别',
prop: 'cultureCode',
'width': 130,
},
]
}

158
src/views/merger/mergeredConfig/productClassify/modules/additionCodeDialog.vue

@ -0,0 +1,158 @@
<template>
<md-dialog
:close-on-click-modal="false"
:title="title"
:fullscreen="false"
:visible.sync="dialogVisible"
append-to-body
width="800px"
> <div class="table-page-search-wrapper">
<w-form @keyup.enter.native="searchQueryHandle" layout="inline">
<w-row :gutter="10">
<w-col :span="5" v-for="i in config.searchFields" :key="i.value">
<w-input v-if="i.type === 'input'" v-model="queryParam[i.value]" :placeholder="i.placeholder || i.name" />
<md-select v-if="i.type === 'select'" v-model="queryParam[i.value]" :placeholder="i.placeholder || i.name" filterable clearable>
<md-option
v-for="item in optionsData[i.optionsKey] || {}"
:key="item.value"
:label="item.label"
:value="item.value">
</md-option>
</md-select>
</w-col>
<w-col :span="8" style="justify-content:flex-end">
<span style="float: right; overflow: hidden" class="table-page-search-submitButtons">
<w-button @click="searchQueryHandle" type="primary" icon="search">查询</w-button>
<w-button @click="searchResetHandle" type="primary" style="margin-left: 8px">重置</w-button>
</span>
</w-col>
</w-row>
</w-form>
</div>
<md-table :data="tableData" border size="mini" style="width: 100%" @row-dblclick="rowDblclick">
<md-table-column v-for="col in config.columns" :key="col.prop" :prop="col.prop" :label="col.label" v-bind="{ ...$attrs }"></md-table-column>
</md-table>
</md-dialog>
</template>
<script>
import { postAction, getAction } from '@/api/manage';
import config from './additionCode';
import lodash from 'lodash';
export default {
data() {
return {
config,
queryParam:{},
modelData:{},
tableData:[],
tableDataBackup:[],
dialogVisible: false,
optionsData:{},
title: ''
};
},
methods: {
searchQueryHandle(){
const { additionalCode, cultureCode } = this.queryParam;
if (additionalCode && isNaN(additionalCode)) {
this.$MdMessage({
message: '附加编码只能输入数字',
type: 'warning'
});
return;
}
if (additionalCode && String(additionalCode).length > 6) {
this.$MdMessage({
message: '附加编码不能超过6位',
type: 'warning'
});
return;
}
if( additionalCode || cultureCode) {
const filterData = this.tableDataBackup.filter(item => {
// additionalCode
let additionalCodeMatch = true;
if (!lodash.isEmpty(additionalCode)) {
//
additionalCodeMatch = item.additionalCode === additionalCode;
}
// cultureCode
let cultureCodeMatch = true;
if (!lodash.isEmpty(cultureCode)) {
//
cultureCodeMatch = item.cultureCode === cultureCode;
}
return additionalCodeMatch && cultureCodeMatch;
});
this.tableData = filterData;
} else {
this.tableData = this.tableDataBackup;
}
},
searchResetHandle(){
this.queryParam = {};
this.tableData = this.tableDataBackup;
},
show({data}){
if(!data.hsCode){
this.$message.warning('商品编码不能为空,请维护后重试');
return;
}
this.queryParam = {
additionalCode: data.additionalCode || '',
cultureCode: 'eng'
}
this.dialogVisible = true;
this.title = data.hsCode + '-附加编码';
this.modelData = data;
this.$nextTick(()=>{
this.getDate();
})
},
close(){
this.dialogVisible = false;
this.tableData = [];
},
rowDblclick(row){
this.$emit('confirm', row)
this.close();
},
getDate() {
postAction(process.env.VUE_APP_API_BASE_DOMAIN + '/api-iems-cn/base/tariff/additional/code/v1/get-by-page', {
hscode: this.modelData.hsCode || '',
countryCode: this.modelData.country || '',
pageSize: 999
}).then(res => {
if (res && +res.code === 0) {
this.tableDataBackup = lodash.cloneDeep(res.data.list);
this.searchQueryHandle();
}
});
},
initDict() {
const keyList = ['GLOBAL_TARIFF_LANGUAGE_TYPE'];
getAction(process.env.VUE_APP_API_BASE_DOMAIN + '/api-it-dc/dictionaryDetail/translateWithTenant',
{ dictCodes: keyList.join(',') }
).then(res => {
if (res && +res.code === 0 && res.data && res.data.GLOBAL_TARIFF_LANGUAGE_TYPE) {
const data = res.data.GLOBAL_TARIFF_LANGUAGE_TYPE;
const list = [];
Object.keys(data).forEach(key => {
list.push({
label: data[key],
value: key
})
});
this.optionsData.GLOBAL_TARIFF_LANGUAGE_TYPE = list;
}
});
}
},
mounted() {
this.initDict()
},
};
</script>

6
test.log

@ -1,6 +0,0 @@
1dddssssdf
sa
df
asg
asggs
Loading…
Cancel
Save