mahao 1 year ago
parent
commit
93d5449b78
  1. 17
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/user.js
  2. 8
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/demo/index.html
  3. 1987
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/demo/lib/pinia.esm-browser.js
  4. 3613
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/demo/lib/vue-router.esm-browser.js
  5. 15377
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/demo/lib/vue.esm-browser.js
  6. 6
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/demo/pages/component.html
  7. 102
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/form/form-input.js
  8. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/form/form-item.js
  9. 126
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js
  10. 4
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/index.html
  11. 13
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/businessType.js
  12. 200
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/adjust.js
  13. 6
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/backup.js
  14. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/balance.js
  15. 23
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/inventory.js
  16. 92
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/log.js
  17. 60
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/vmi.js
  18. 6
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/invoice/invoice_map_group.js
  19. 49
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-bbac/input/bbac_sa_detail_service.js
  20. 54
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-bbac/input/bbac_sa_service.js
  21. 4
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-bbac/input/bbac_se_detail_service.js
  22. 18
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-bbac/settlement/bbac_can_sa_detail_service.js
  23. 48
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-hbpo/input/hbpo_sa_detail_service.js
  24. 62
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-hbpo/input/hbpo_sa_service.js
  25. 4
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-hbpo/input/hbpo_se_detail_service.js
  26. 18
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-hbpo/settlement/hbpo_can_sa_detail_service.js
  27. 4
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-service.js
  28. 16
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/pub_can_sa_detail_service.js
  29. 3
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/tb_re-parts-relationship_service.js
  30. 14
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/request/index.js
  31. 689
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js
  32. 4
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/utils/validation.js
  33. 12
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/bj/contrast/bj_pub_sa_detail_jobservice.js
  34. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/bj/input/bj_pub_sa_detail_service.js
  35. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/bj/input/bj_pub_sa_service.js
  36. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/bj/input/bj_pub_se_detail_service.js
  37. 40
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/home.js
  38. 12
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/in/contrast/in_pub_sa_detail_jobservice.js
  39. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/in/input/in_pub_sa_detail_service.js
  40. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/in/input/in_pub_sa_service.js
  41. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/in/input/in_pub_se_detail_service.js
  42. 15
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/inventory/adjust.js
  43. 61
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/invoice/invoice_map_group.js
  44. 12
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/contrast/bbac_jit_pub_sa_detail_jobservice.js
  45. 12
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/contrast/hbpo_jit_pub_sa_detail_jobservice.js
  46. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/bbac_jit_pub_sa_detail_service.js
  47. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/bbac_jit_pub_sa_service.js
  48. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/bbac_jit_pub_se_detail_service.js
  49. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/hbpo_jit_pub_sa_detail_service.js
  50. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/hbpo_jit_pub_sa_service.js
  51. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/hbpo_jit_pub_se_detail_service.js
  52. 6
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/login.js
  53. 24
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/contrast/md_pub_sa_detail_jobservice.js
  54. 16
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/input/md_pub_sa_detail_service.js
  55. 16
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/input/md_pub_sa_service.js
  56. 16
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/input/md_pub_se_detail_service.js
  57. 15
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_ba_detail_service.js
  58. 15
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_ba_service.js
  59. 15
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_can_sa_detail_service.js
  60. 15
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_can_sa_service.js
  61. 15
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_not_sa_service.js
  62. 15
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_pd_detail_service.js
  63. 15
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_pd_service.js
  64. 19
      code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs

17
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/user.js

@ -22,21 +22,6 @@ const isLogin = async () => {
return false;
};
const login = async (data) => {
const url = "connect-token";
const appStore = useAppStore();
const result = await post(url, data, { headers: { "Content-Type": "application/x-www-form-urlencoded" } }, true);
if (!result.errors) {
appStore.token = result.data.access_token;
setRefreshToken(result.data.refresh_token);
appStore.user = await getUser();
await refreshRouter();
const redirect = router.currentRoute.value.query?.redirect ?? "/";
router.push(redirect);
}
return result;
};
const logout = () => {
const appStore = useAppStore();
appStore.token = null;
@ -87,4 +72,4 @@ const removeRefreshToken = () => {
connection.stop();
};
export { isLogin, login, logout, getAccessToken, setAccessToken, setRefreshToken, getUser, hasPermission };
export { isLogin, logout, getAccessToken, setAccessToken, setRefreshToken, getUser, hasPermission };

8
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/demo/index.html

@ -46,9 +46,9 @@
<script type="importmap">
{
"imports": {
"vue": "./lib/vue.esm-browser.js",
"vue-router": "./lib/vue-router.esm-browser.js",
"pinia": "./lib/pinia.esm-browser.js"
"vue": "/lib/vue/vue.esm-browser.js",
"vue-router": "/lib/vue-router/vue-router.esm-browser.js",
"pinia": "/lib/pinia/pinia.esm-browser.js"
}
}
</script>
@ -82,4 +82,4 @@
</script>
</body>
</html>
</html>

1987
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/demo/lib/pinia.esm-browser.js

File diff suppressed because it is too large

3613
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/demo/lib/vue-router.esm-browser.js

File diff suppressed because it is too large

15377
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/demo/lib/vue.esm-browser.js

File diff suppressed because it is too large

6
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/assets/demo/pages/component.html

@ -13,9 +13,9 @@
<script type="importmap">
{
"imports": {
"vue": "../lib/vue.esm-browser.js",
"vue-router": "../lib/vue-router.esm-browser.js",
"pinia": "../lib/pinia.esm-browser.js"
"vue": "/lib/vue/vue.esm-browser.js",
"vue-router": "/lib/vue-router/vue-router.esm-browser.js",
"pinia": "/lib/pinia/pinia.esm-browser.js"
}
}
</script>

102
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/form/form-input.js

@ -1,8 +1,9 @@
import html from "html";
import { ref, reactive, watch, onMounted } from "vue";
import { ref, reactive, watch, onMounted, nextTick } from "vue";
import { dayjs } from "element-plus";
import request from "../../request/index.js";
import { importFunction } from "../../utils/index.js";
import { importFunction, bytesFormat } from "../../utils/index.js";
import { ElMessage, useFormItem } from "element-plus";
export default {
template: html`
@ -32,20 +33,12 @@ export default {
<template v-else-if="getInput(schema)==='month'">
<el-date-picker v-model="model[prop]" :type="schema.input" :value-format="schema.format" />
</template>
<el-input
:disabled="getDisabled()"
:placeholder="schema.title"
v-model="model[prop]"
type="number"
v-else-if="getInput(schema)==='number'"
/>
<el-input-number
:disabled="getDisabled()"
:placeholder="schema.title"
v-model="model[prop]"
:precision="0"
v-else-if="getInput(schema)==='integer'"
/>
<template v-else-if="getInput(schema)==='number'">
<el-input :disabled="getDisabled()" :placeholder="schema.title" v-model="model[prop]" type="number" />
</template>
<template v-else-if="getInput(schema)==='integer'">
<el-input-number :disabled="getDisabled()" :placeholder="schema.title" v-model="model[prop]" :precision="0" />
</template>
<template v-else-if="getInput(schema)==='boolean'">
<el-select :disabled="getDisabled()" v-model="model[prop]" :placeholder="schema.title" v-if="schema.nullable">
<el-option prop="select" value="" :label="$t('select')" />
@ -54,23 +47,41 @@ export default {
</el-select>
<el-switch v-model="model[prop]" type="checked" v-else />
</template>
<template v-else-if="getInput(schema)==='file'">
<el-upload
ref="uploadRef"
v-model:file-list="model[prop]"
class="upload"
drag
:accept="schema.accept"
:multiple="schema.multiple"
:limit="limit"
:auto-upload="false"
:on-change="handleChange"
>
<template #trigger>
<el-icon style="font-size:4em;">
<ep-upload-filled />
</el-icon>
</template>
<template #tip>
<div class="el-upload__tip">
<div>
单个文件大小限制{{ bytesFormat(size) }}上传数量限制{{ limit }}
<template v-if="schema.accept">上传文件类型{{ schema.accept }}</template>
</div>
</div>
</template>
</el-upload>
</template>
<template v-else>
<el-input
:clearable="!!schema.clearable"
:disabled="getDisabled()"
:placeholder="schema.title"
v-model="model[prop]"
type="password"
show-password
v-if="schema.input==='password'"
/>
<el-input
:clearable="!!schema.clearable"
:disabled="getDisabled()"
:placeholder="schema.title"
v-model="model[prop]"
:type="schema.input??'text'"
v-else
:show-password="schema.input==='password'"
/>
</template>
</template>
@ -96,12 +107,44 @@ export default {
return schema.input ?? schema.type;
};
/*end*/
//options
const selectProps = ref({});
const selectValues = ref([]);
const options = ref([]);
//watch
//upload
const fileList = ref([]);
const limit = props.schema.multiple ? props.schema.limit ?? 5 : 1;
const size = props.schema.size ?? 1024 * 1024;
const fileTypes = props.schema.accept?.split(",").map((o) => o.toLowerCase()) ?? [];
const { formItem } = useFormItem();
const handleChange = async (uploadFile, uploadFiles) => {
const ext = uploadFile.name.substr(uploadFile.name.lastIndexOf("."));
const index = uploadFiles.findIndex((o) => o.uid !== uploadFile.uid);
if (props.schema.accept && !fileTypes.some((o) => o === ext)) {
ElMessage.error(`当前文件 ${uploadFile.name} 不是可选文件类型 ${props.schema.accept}`);
uploadFiles.splice(index, 1);
return false;
}
if (uploadFile.size > size) {
ElMessage.error(`当前文件大小 ${bytesFormat(uploadFile.size)} 已超过 ${bytesFormat(size)}`);
uploadFiles.splice(index, 1);
return false;
}
if (uploadFiles.length) {
model[props.prop] = props.schema.multiple ? uploadFiles : uploadFiles[0];
} else {
model[props.prop] = props.schema.multiple ? [] : null;
}
try {
await formItem.validate();
} catch (error) {
console.log(error);
}
};
//watch
watch(
() => model[props.prop],
async (value) => {
@ -143,6 +186,11 @@ export default {
selectProps,
selectValues,
options,
bytesFormat,
fileList,
limit,
size,
handleChange,
};
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/form/form-item.js

@ -10,7 +10,7 @@ export default {
template: html`
<template v-if="!schema.hidden">
<template v-if="schema.type==='object'"></template>
<template v-else-if="schema.type!=='array'||schema.items.type!=='array'">
<template v-else-if="schema.type!=='array'||schema.items?.type!=='array'">
<el-form-item
:title="prop"
:label="schema.title"

126
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js

@ -263,25 +263,15 @@ export default {
</template>
<template v-else-if="editFormMode==='import'">
<app-form
mode="import"
ref="importFormRef"
mode="update"
label-position="left"
:schema="config.import?.schema"
v-model="importModel"
:hideButton="true"
:isQueryForm="true"
style="height:100%;"
>
<el-form-item :label="$t('文件')" label-width="80px">
<el-upload
ref="uploadRef"
class="upload"
drag
accept=".xlsx"
:auto-upload="false"
:on-change="handleChange"
>
<el-icon class="el-icon--upload"><ep-upload-filled /></el-icon>
</el-upload>
</el-form-item>
</app-form>
</template>
<template v-else-if="editFormMode==='filter'">
@ -408,6 +398,7 @@ export default {
const tableSchema = ref({});
const tableData = ref([]);
const editFormRef = ref(null);
const importFormRef = ref(null);
const editFormloading = ref(false);
const editFormMode = ref(null);
const editFormTitle = ref("");
@ -424,11 +415,27 @@ export default {
businessType: route.meta.businessType,
};
const exportModel = ref(defaultExportModel);
const defaultImportModel = config.import?.schema ? schemaToModel(config.import.schema) : {};
const importModel = ref(defaultImportModel);
const factories = ref([]);
//
config.import ??= { schema: { type: "object", properties: {} } };
config.import.schema.properties.files ??= {
title: "文件",
type: "array",
multiple: true,
input: "file",
accept: ".xlsx",
default: [],
limit: 10,
size: 100 * 1024 * 1024,
rules: [
{
required: true,
trigger: "change",
},
],
};
const defaultImportModel = schemaToModel(config.import.schema);
const importModel = ref(null);
const versions = ref([]);
const fileList = ref([]);
const getSortModel = (model) => {
(model.sorting ?? "")
.split(",")
@ -575,10 +582,6 @@ export default {
}
}
}
// await post(
// url,
// rows.map((o) => o.id)
// );
await load();
} else if (item.path === "export") {
//export
@ -609,20 +612,7 @@ export default {
importModel.value = Object.assign({}, defaultImportModel);
editFormloading.value = true;
editFormTitle.value = `${t(item.path)}${config.query.schema.title}`;
fileList.value = [];
dialogVisible.value = true;
// versions.value = (
// await request("settleaccount/centralized-control/get-all", null, { method: "POST" })
// ).data.items.map((o) => ({
// value: o.version,
// label: o.version,
// }));
// factories.value = (
// await request("settleaccount/code-setting/get-all", null, { method: "POST" })
// ).data.items.map((o) => ({
// value: o.project,
// label: o.project,
// }));
} catch (e) {
console.log(e);
} finally {
@ -667,38 +657,47 @@ export default {
dialogVisible.value = false;
editFormMode.value = null;
} else if (editFormMode.value === "compare") {
// const postData = JSON.parse(JSON.stringify(queryModel.value));
// postData.filters = filterList.value.filter((o) => o.property && o.value);
// delete postData.query["items"];
// delete postData.query["id"];
// const url = `${baseUrl}/${editFormMode.value}?${qs.stringify(exportModel)}`;
// const response = await post(url, postData);
// download(response);
const url = config.edit.compareUrl;
await request(url, exportModel.value, { method: config.edit.compareMethod });
dialogVisible.value = false;
} else if (editFormMode.value === "import") {
editFormloading.value = true;
const url = config.edit.importUrl;
const formData = new FormData();
// formData.append("version", importModel.value.version);
// // formData.append("factory", importModel.value.factory);
// Object.keys(importModel.value).forEach((q) => {if(importModel.value)
Object.keys(importModel.value).forEach((q) => {
if (importModel.value[q]) {
formData.append(q, importModel.value[q]);
try {
const valid = await importFormRef.value.validate();
if (valid) {
editFormloading.value = true;
const url = config.edit.importUrl;
const formData = new FormData();
//
if (config.query.schema.properties.businessType?.default) {
formData.append("businessType", config.query.schema.properties.businessType.default);
}
Object.keys(importModel.value).forEach((propertyName) => {
if (importModel.value[propertyName]) {
const schema = config.import.schema.properties[propertyName];
const value = importModel.value[propertyName];
if (schema?.type === "array") {
importModel.value[propertyName].forEach((item) => {
formData.append(propertyName, schema.input === "file" ? item.raw : item);
});
} else {
formData.append(propertyName, schema.input === "file" ? value.raw : value);
}
}
});
const result = await request(url, formData);
if (result.data?.code === 200) {
editFormloading.value = false;
dialogVisible.value = false;
await load();
} else if (result.data?.code === 400 && result.data.fileName) {
window.open(getUrl(`settleaccount/getblobfile/download/${result.data.fileName}`));
}
}
});
if (config.query.schema.properties.businessType?.default) {
formData.append("businessType", config.query.schema.properties.businessType.default);
}
for (let i = 0; i < fileList.value.length; i++) {
formData.append(`files`, fileList.value[i].raw);
} catch (error) {
console.log(error);
} finally {
editFormloading.value = false;
}
await post(url, formData);
editFormloading.value = false;
dialogVisible.value = false;
await load();
} else if (editFormMode.value === "filter") {
await load();
dialogVisible.value = false;
@ -728,9 +727,6 @@ export default {
const response = await get(url);
download(url, response.filename);
};
const handleChange = (uploadFile, uploadFiles) => {
fileList.value = uploadFiles;
};
const getButtonDisabled = async (src, row) => {
if (src) {
const method = await importFunction(src);
@ -886,6 +882,7 @@ export default {
sortChange,
getProp,
getImportTemplate,
importFormRef,
editFormRef,
editFormloading,
editFormMode,
@ -902,10 +899,7 @@ export default {
submit,
showList,
subListQuery,
fileList,
handleChange,
getButtonDisabled,
factories,
versions,
pushfilterList,
getOperators,

4
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/index.html

@ -49,7 +49,7 @@
"html":"./utils/index.js",
"detect-it":"./lib/detect-it/detect-it.esm.js",
"lodash":"./lib/lodash/lodash.esm.js",
"vue": "./lib/vue/vue.esm-browser.prod.js",
"vue": "./lib/vue/vue.esm-browser.js",
"vue-router": "./lib/vue-router/vue-router.esm-browser.js",
"vue-i18n":"./lib/vue-i18n/vue-i18n.esm-browser.prod.js",
"pinia": "./lib/pinia/pinia.esm-browser.js",
@ -77,4 +77,4 @@
<script type="module" src="./main.js"></script>
</body>
</html>
</html>

13
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/businessType.js

@ -0,0 +1,13 @@
const options = [
{ value: 0, label: "未定义" },
{ value: 1, label: "JisBBAC" },
{ value: 2, label: "JisHBPO" },
{ value: 3, label: "直供件BBAC" },
{ value: 4, label: "直供件HBPO" },
{ value: 5, label: "买单件BBAC" },
{ value: 6, label: "买单件HBPO" },
{ value: 7, label: "备件" },
{ value: 8, label: "印度件" },
];
const businessType = { title: "业务类型", type: "string", input: "select", options };
export default businessType;

200
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/adjust.js

@ -0,0 +1,200 @@
import { billType, codeType, changedType, subBillType } from "./inventory.js";
const schema = {
title: "库存事务日志",
type: "object",
properties: {
changedNumber: {
title: "变动单号",
type: "string",
},
changedTime: {
title: "变动时间",
type: "string",
input: "dateTime",
},
changedType,
changedBy: {
title: "变动人",
type: "string",
},
partCode: {
title: "调整LU零件号",
type: "string",
},
customerPartCode: {
title: "调整客户零件号",
type: "string",
},
orderNum: {
title: "EDI原始订单号",
type: "string",
},
billType,
subBillType,
reMark: {
title: "备注",
type: "string",
},
vinCode: {
title: "调整生产码",
type: "string",
},
codeType,
qty: {
title: "调整生产码",
type: "number",
},
billTime: {
title: "发运日期",
type: "string",
},
billNum: {
title: "WMS发运单号",
type: "string",
},
deliverTime: {
title: "订单日期",
type: "string",
input: "datetime",
},
erpToLoc: {
title: "ERP库位",
type: "string",
},
},
};
const baseUrl = "settleaccount/vmi";
const queryUrl = `${baseUrl}/log`;
const detailsUrl = `${baseUrl}/get/%s`;
const createUrl = `${baseUrl}/create`;
const updateUrl = `${baseUrl}/update/%s`;
const deleteUrl = `${baseUrl}/delete-list`;
const importUrl = `${baseUrl}/code-setting-upload-excel-import`;
const exportUrl = `${baseUrl}/export`;
const queryMethod = "POST";
const detailsMethod = "POST";
const createMethod = "POST";
const updateMethod = "POST";
const deleteMethod = "POST";
const importMethod = "POST";
const exportMethod = "POST";
export default function () {
return {
query: {
url: queryUrl,
method: queryMethod,
hasFilter: true,
schema: {
title: "通用代码",
type: "object",
properties: {
filters: {
title: "项目",
type: "array",
hidden: true,
items: {
type: "object",
properties: {
logic: {
type: "int",
},
column: {
type: "string",
},
action: {
type: "int",
},
value: {
type: "string",
},
},
},
default: [
{
logic: "and",
column: "erpToLoc",
action: "like",
value: null,
readOnly: true,
},
{
logic: "and",
column: "createdDate",
action: "like",
value: null,
readOnly: true,
},
{
logic: "and",
column: "lu",
action: "like",
value: null,
readOnly: true,
},
{
logic: "and",
column: "tmpe4",
action: "like",
value: null,
readOnly: true,
},
{
logic: "and",
column: "vinCode",
action: "like",
value: null,
readOnly: true,
},
{
logic: "and",
column: "codeType",
action: "like",
value: null,
readOnly: true,
},
{
logic: "and",
column: "proType",
action: "like",
value: null,
readOnly: true,
},
],
},
skipCount: {
hidden: true,
default: 0,
},
maxResultCount: {
hidden: true,
default: 10,
},
sorting: {
hidden: true,
},
},
},
},
table: {
schema: schema,
},
edit: {
detailsUrl,
createUrl,
updateUrl,
deleteUrl,
importUrl,
exportUrl,
detailsMethod,
createMethod,
updateMethod,
deleteMethod,
importMethod,
exportMethod,
schema: schema,
},
};
}

6
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/backup.js

@ -10,6 +10,7 @@ const updateUrl = `${baseUrl}/update/%s`;
const deleteUrl = `${baseUrl}/delete-list`;
const importUrl = `${baseUrl}/code-setting-upload-excel-import`;
const exportUrl = `${baseUrl}/backup-export`;
const invokeUrl = "settleaccount/vmi/invoke";
const queryMethod = "POST";
const detailsMethod = "POST";
const createMethod = "POST";
@ -17,6 +18,7 @@ const updateMethod = "POST";
const deleteMethod = "POST";
const importMethod = "POST";
const exportMethod = "POST";
const invokeMethod = "POST";
export default function () {
return {
@ -92,7 +94,7 @@ export default function () {
},
{
logic: "and",
column: "proType",
column: "billType",
action: "like",
value: null,
readOnly: true,
@ -123,12 +125,14 @@ export default function () {
deleteUrl,
importUrl,
exportUrl,
invokeUrl,
detailsMethod,
createMethod,
updateMethod,
deleteMethod,
importMethod,
exportMethod,
invokeMethod,
schema: schema,
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/balance.js

@ -80,7 +80,7 @@ export default function () {
},
{
logic: "and",
column: "proType",
column: "billType",
action: "like",
value: null,
readOnly: true,

23
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/inventory.js

@ -16,7 +16,26 @@ const options2 = [
{ value: "08", label: "后左轮眉" },
{ value: "09", label: "后右轮眉" },
];
const proType = { title: "发货类型", type: "number", input: "select", options: options1 };
const options3 = [
{ value: 0, label: "无" },
{ value: 1, label: "保险杠BBAC" },
{ value: 2, label: "保险杠HBPO" },
{ value: 3, label: "买单件保险杠BBAC" },
{ value: 4, label: "买单件保险杠HBPO" },
{ value: 5, label: "买单件小件BBAC" },
{ value: 6, label: "买单件小件HBPO" },
{ value: 7, label: "小件BBAC" },
{ value: 8, label: "小件HBPO" },
{ value: 9, label: "JIT直供件BBAC" },
{ value: 10, label: "JIT直供件HBPO" },
];
const options4 = [
{ value: "In", label: "入库" },
{ value: "Out", label: "出库" },
];
const billType = { title: "发货类型", type: "number", input: "select", options: options1 };
const codeType = { title: "生产码类型", type: "string", input: "select", options: options2 };
const subBillType = { title: "发货子类型", type: "number", input: "select", options: options3 };
const changedType = { title: "变动类型", type: "string", input: "select", options: options4 };
export { proType, codeType };
export { billType, codeType, subBillType, changedType };

92
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/log.js

@ -1,4 +1,4 @@
import { proType, codeType } from "./inventory.js";
import { billType, codeType, changedType, subBillType } from "./inventory.js";
//变动单据号、发生时间、生产码类型、、订单号、库位、变动数、EDI顺序号、备注、变动类型(In、Out标识)、发货类型(JIS\JIT\买单件\备件等)、
//实扣LU零件号、实扣客户零件号、结算LU零件号、结算客户零件号、实扣生产码、结算生产码
@ -7,38 +7,94 @@ const schema = {
title: "库存事务日志",
type: "object",
properties: {
orderNumber: {
changedNumber: {
title: "变动单号",
type: "string",
},
createdDate: {
title: "发生时间",
changedTime: {
title: "变动时间",
type: "string",
input: "dateTime",
},
codeType,
tmpe4: {
title: "订单号",
changedType,
changedBy: {
title: "变动人",
type: "string",
},
erpToLoc: {
title: "库位",
partCode: {
title: "实扣厂内零件号",
type: "string",
},
count: {
title: "变动数",
type: "number",
partCode2: {
title: "结算厂内零件号",
type: "string",
},
customerPartCode: {
title: "结算客户零件号",
type: "string",
},
changedType: {
title: "变动类型",
realCode: {
title: "WMS实发生产码",
type: "string",
},
proType,
vinCode: {
title: "生产码",
title: "EDI订单生产码",
type: "string",
},
settlementVinCode: {
title: "结算生产码",
type: "string",
},
codeType: {
title: "生产码类型",
type: "string",
},
billType,
subBillType,
qty: {
title: "数量",
type: "number",
},
billTime: {
title: "发运日期",
type: "string",
input: "datetime",
},
deliverTime: {
title: "订单日期",
type: "string",
input: "datetime",
},
seq: {
title: "EDI顺序号",
type: "string",
},
orderNum: {
title: "客户订单号",
type: "string",
},
uniqueCode: {
title: "塑件唯一码",
type: "string",
},
matchNumber: {
title: "EDI总成号",
type: "string",
},
pjsNum: {
title: "PJIS生产顺序号",
type: "string",
},
isReplenished: {
title: "是否补货",
type: "boolean",
},
erpToLoc: {
title: "ERP库位",
type: "string",
},
lu: {
title: "LU零件号",
configcode: {
title: "配置码",
type: "string",
},
},

60
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/inventory/vmi.js

@ -1,4 +1,4 @@
import { proType, codeType } from "./inventory.js";
import { billType, codeType, subBillType } from "./inventory.js";
export default function () {
return {
@ -10,10 +10,6 @@ export default function () {
// hidden: true,
// showForList: false,
// },
erpToLoc: {
title: "ERP库位",
type: "string",
},
lu: {
title: "LU零件号",
type: "string",
@ -27,47 +23,30 @@ export default function () {
type: "string",
},
codeType,
proType,
// codeType: {
// title: "生产码类型",
// type: "string",
// input: "select",
// options: [
// { value: "01", label: "前保" },
// { value: "02", label: "后保" },
// { value: "03", label: "门槛" },
// ],
// },
// proType: {
// title: "发货类型",
// type: "string",
// input: "select",
// options: [
// { value: "JIS", label: "JIS" },
// { value: "JIT", label: "JIT" },
// { value: "买单件", label: "买单件" },
// { value: "备件", label: "备件" },
// ],
// },
billType,
qty: {
title: "数量",
type: "string",
},
shippingDate: {
billTime: {
title: "发运日期",
type: "string",
input: "date",
input: "datetime",
},
creationTime: {
deliverTime: {
title: "订单日期",
type: "string",
input: "date",
input: "datetime",
},
erpToLoc: {
title: "ERP库位",
type: "string",
},
seqNumber: {
seq: {
title: "EDI顺序号",
type: "string",
},
tmpe4: {
orderNum: {
title: "客户订单号",
type: "string",
},
@ -83,10 +62,23 @@ export default function () {
title: "PJIS生产顺序号",
type: "string",
},
desc: {
reMark: {
title: "备注",
type: "string",
},
configcode: {
title: "配置码",
type: "string",
},
factory: {
title: "工厂",
type: "string",
},
subBillType,
realCode: {
title: "WMS实发生产码",
type: "string",
},
},
};
}

6
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/invoice/invoice_map_group.js

@ -40,13 +40,11 @@ const exportUrl = "settleaccount/invoice_service/export";
const rejectUrl = "settleaccount/invoice_service/reject";
const passedUrl = "settleaccount/invoice_service/approval-passed";
const sync_qadUrl = "settleaccount/invoice_service/sync_qad";
const importJsonUrl = "settleaccount/vmi/excel-to-json";
const queryMethod = "POST";
const exportMethod = "POST";
const rejectMethod = "POST";
const passedMethod = "POST";
const sync_qadMethod = "POST";
const importJsonMethod = "POST";
export default function () {
return {
@ -111,12 +109,12 @@ export default function () {
rejectUrl,
passedUrl,
sync_qadUrl,
importJsonUrl,
// importJsonUrl,
exportMethod,
rejectMethod,
passedMethod,
sync_qadMethod,
importJsonMethod,
// importJsonMethod,
schema: schema,
},
};

49
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-bbac/input/bbac_sa_detail_service.js

@ -2,39 +2,31 @@ const schema = {
title: "JIS结算数据",
type: "object",
properties: {
project: {
title: "项目",
settleDate: {
title: "结算日期",
type: "string",
readOnly: true,
showForList: true,
rules: [
{
required: true,
},
],
input: "dateTime",
},
value: {
title: "",
groupNum: {
title: "结算分组号",
type: "string",
readOnly: true,
showForList: true,
rules: [
{
required: true,
},
],
},
description: {
title: "描述",
deliveryDate: {
title: "到货日期",
type: "string",
input: "dateTime",
},
lu: {
title: "客户零件号",
type: "string",
},
qty: {
title: "结算数量",
type: "number",
},
pn: {
title: "生产号",
type: "string",
input: "textarea",
showForList: true,
rules: [
{
required: true,
},
{ max: 60 },
],
},
},
};
@ -42,7 +34,6 @@ const schema = {
const queryUrl = "settleaccount/bbac_sa_service/detail_query";
const queryMethod = "POST";
export default function () {
return {
query: {

54
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-bbac/input/bbac_sa_service.js

@ -1,58 +1,42 @@
import version from "../../version.js";
import businessType from "../../businessType.js";
const schema = {
title: "JIS结算数据",
type: "object",
properties: {
version,
project: {
title: "项目",
billNum: {
title: "结算单据",
type: "string",
readOnly: true,
showForList: true,
rules: [
{
required: true,
},
],
},
value: {
title: "",
dnBillNum: {
title: "出库单号",
type: "string",
readOnly: true,
showForList: true,
rules: [
{
required: true,
},
],
},
description: {
title: "描述",
state: {
title: "状态",
type: "string",
},
recordCount: {
title: "明细记录行数",
type: "string",
},
site: {
title: "工厂地点",
type: "string",
input: "textarea",
showForList: true,
rules: [
{
required: true,
},
{ max: 60 },
],
},
businessType,
},
};
const baseUrl = "settleaccount/bbac_sa_service";
const queryUrl = "settleaccount/bbac_sa_service/get-list";
const createUrl = "settleaccount/bbac_sa_service/create";
const deleteUrl = `${baseUrl}/delete-list`;
const importUrl = `${baseUrl}/code-setting-upload-excel-import`;
const exportUrl = `${baseUrl}/export`;
const importUrl = `${baseUrl}/import`;
const queryMethod = "POST";
const createMethod = "POST";
const deleteMethod = "POST";
const importMethod = "POST";
const exportMethod = "POST";
export default function () {
return {
@ -113,14 +97,10 @@ export default function () {
schema: schema,
},
edit: {
createUrl,
deleteUrl,
importUrl,
exportUrl,
createMethod,
deleteMethod,
importMethod,
exportMethod,
schema: schema,
},
};

4
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-bbac/input/bbac_se_detail_service.js

@ -114,10 +114,12 @@ const queryUrl = "settleaccount/bbac_se_detail_service/get-list";
// const deleteUrl = `${baseUrl}/delete-list`;
// const importUrl = `${baseUrl}/import`;
const exportUrl = "settleaccount/bbac_se_detail_service/export";
const invokeUrl = "settleaccount/bbacse-sync/invoke";
const queryMethod = "POST";
// const deleteMethod = "POST";
// const importMethod = "POST";
const exportMethod = "POST";
const invokeMethod = "POST";
export default function () {
return {
@ -181,9 +183,11 @@ export default function () {
// deleteUrl,
// importUrl,
exportUrl,
invokeUrl,
// deleteMethod,
// importMethod,
exportMethod,
invokeMethod,
schema: schema,
},
};

18
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-bbac/settlement/bbac_can_sa_detail_service.js

@ -2,14 +2,14 @@ const schema = {
title: "发票分组号明细",
type: "object",
properties: {
settleBillNum: {
title: "关联结算单号",
type: "int",
},
site: {
title: "工厂地点",
type: "string",
},
// settleBillNum: {
// title: "关联结算单号",
// type: "int",
// },
// site: {
// title: "工厂地点",
// type: "string",
// },
version: {
title: "期间",
type: "string",
@ -46,7 +46,7 @@ const schema = {
title: "结算数量",
type: "decimal",
},
groupNumy: {
groupNum: {
title: "结算分组号",
type: "string",
},

48
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-hbpo/input/hbpo_sa_detail_service.js

@ -2,39 +2,31 @@ const schema = {
title: "JIS结算数据",
type: "object",
properties: {
project: {
title: "项目",
settleDate: {
title: "结算日期",
type: "string",
readOnly: true,
showForList: true,
rules: [
{
required: true,
},
],
input: "dateTime",
},
value: {
title: "",
groupNum: {
title: "结算分组号",
type: "string",
readOnly: true,
showForList: true,
rules: [
{
required: true,
},
],
},
description: {
title: "描述",
deliveryDate: {
title: "到货日期",
type: "string",
input: "dateTime",
},
lu: {
title: "客户零件号",
type: "string",
},
qty: {
title: "结算数量",
type: "number",
},
pn: {
title: "生产号",
type: "string",
input: "textarea",
showForList: true,
rules: [
{
required: true,
},
{ max: 60 },
],
},
},
};

62
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-hbpo/input/hbpo_sa_service.js

@ -1,62 +1,40 @@
import version from "../../version.js";
import businessType from "../../businessType.js";
import state from "../../state.js";
const schema = {
title: "JIS结算数据",
type: "object",
properties: {
version,
project: {
title: "项目",
billNum: {
title: "结算单据",
type: "string",
readOnly: true,
showForList: true,
rules: [
{
required: true,
},
],
},
value: {
title: "",
dnBillNum: {
title: "出库单号",
type: "string",
readOnly: true,
showForList: true,
rules: [
{
required: true,
},
],
},
description: {
title: "描述",
state,
recordCount: {
title: "明细记录行数",
type: "string",
},
site: {
title: "工厂地点",
type: "string",
input: "textarea",
showForList: true,
rules: [
{
required: true,
},
{ max: 60 },
],
},
businessType,
},
};
const baseUrl = "settleaccount/hbpo_sa_service";
const queryUrl = `${baseUrl}/get-list`;
const detailsUrl = `${baseUrl}/get/%s`;
const createUrl = `${baseUrl}/create`;
const updateUrl = `${baseUrl}/update/%s`;
const queryUrl = "settleaccount/hbpo_sa_service/get-list";
const deleteUrl = `${baseUrl}/delete-list`;
const importUrl = `${baseUrl}/code-setting-upload-excel-import`;
const exportUrl = `${baseUrl}/export`;
const importUrl = `${baseUrl}/import`;
const queryMethod = "POST";
const detailsMethod = "POST";
const createMethod = "POST";
const updateMethod = "POST";
const deleteMethod = "POST";
const importMethod = "POST";
const exportMethod = "POST";
export default function () {
return {
@ -117,18 +95,10 @@ export default function () {
schema: schema,
},
edit: {
detailsUrl,
createUrl,
updateUrl,
deleteUrl,
importUrl,
exportUrl,
detailsMethod,
createMethod,
updateMethod,
deleteMethod,
importMethod,
exportMethod,
schema: schema,
},
};

4
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-hbpo/input/hbpo_se_detail_service.js

@ -115,8 +115,10 @@ const schema = {
const baseUrl = "settleaccount/hbpo_se_detail_service";
const queryUrl = `${baseUrl}/get-list`;
const exportUrl = `${baseUrl}/export`;
const invokeUrl = "settleaccount/hbpose-sync/invoke";
const queryMethod = "POST";
const exportMethod = "POST";
const invokeMethod = "POST";
export default function () {
return {
@ -178,7 +180,9 @@ export default function () {
},
edit: {
exportUrl,
invokeUrl,
exportMethod,
invokeMethod,
schema: schema,
},
};

18
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/jis-hbpo/settlement/hbpo_can_sa_detail_service.js

@ -2,14 +2,14 @@ const schema = {
title: "可结算单明细",
type: "object",
properties: {
settleBillNum: {
title: "关联结算单号",
type: "int",
},
site: {
title: "工厂地点",
type: "string",
},
// settleBillNum: {
// title: "关联结算单号",
// type: "int",
// },
// site: {
// title: "工厂地点",
// type: "string",
// },
version: {
title: "期间",
type: "string",
@ -46,7 +46,7 @@ const schema = {
title: "结算数量",
type: "decimal",
},
groupNumy: {
groupNum: {
title: "结算分组号",
type: "string",
},

4
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/job-service.js

@ -42,11 +42,11 @@ const schema = {
const queryUrl = "settleaccount/Job/list";
const deleteUrl = "settleaccount/Job/delete";
const exportUrl = "settleaccount/pub_sa_detail_service/export";
const exportUrl = "settleaccount/getblobfile/download/%s";
const compareUrl = "settleaccount/pub_sa_detail_service/pub-sa-se-compare";
const queryMethod = "POST";
const deleteMethod = "POST";
const exportMethod = "POST";
const exportMethod = "GET";
const compareMethod = "POST";
export default function () {

16
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/pub_can_sa_detail_service.js

@ -6,14 +6,14 @@ const schema = {
type: "object",
properties: {
state,
settleBillNum: {
title: "关联结算单号",
type: "string",
},
site: {
title: "工厂地点",
type: "string",
},
// settleBillNum: {
// title: "关联结算单号",
// type: "string",
// },
// site: {
// title: "工厂地点",
// type: "string",
// },
businessType: {
title: "业务分类",
type: "EnumBusinessType",

3
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/tb_re-parts-relationship_service.js

@ -84,9 +84,6 @@ export default function () {
},
table: {
schema: schema,
},
import:{
},
edit: {
importUrl,

14
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/request/index.js

@ -60,13 +60,15 @@ const getResult = async (response) => {
result.filename = getFileName(response.headers.get("Content-Disposition"));
}
} else {
result.errors = await response.json();
if (result.errors) {
ElMessageBox.alert(
`错误:${result.errors?.error?.message ?? messages.get(response.status)}`,
`代码:${result.errors?.error?.code}`
);
try {
result.errors = await response.json();
} catch (error) {
console.log(error);
}
ElMessageBox.alert(
`${result.errors?.error?.message ?? messages.get(response.status) ?? result.status}`,
`${result.errors?.error?.code ?? result.status}`
);
}
return result;
};

689
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/router/business.js

@ -32,6 +32,15 @@ export default [
isTop: true,
},
},
{
path: "import",
meta: {
type: "button",
title: "导入",
icon: "file",
isTop: true,
},
},
{
path: "delete",
meta: {
@ -61,24 +70,6 @@ export default [
isTop: true,
},
},
{
path: "delete",
meta: {
type: "button",
title: "删除",
icon: "file",
isTop: true,
},
},
{
path: "import",
meta: {
type: "button",
title: "导入",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
@ -218,6 +209,7 @@ export default [
type: "button",
title: "下载",
icon: "file",
pattern: "paged",
},
},
],
@ -272,6 +264,7 @@ export default [
type: "button",
title: "下载",
icon: "file",
pattern: "paged",
},
},
],
@ -557,6 +550,15 @@ export default [
isTop: true,
},
},
{
path: "import",
meta: {
type: "button",
title: "导入",
icon: "file",
isTop: true,
},
},
{
path: "delete",
meta: {
@ -586,24 +588,6 @@ export default [
isTop: true,
},
},
{
path: "delete",
meta: {
type: "button",
title: "删除",
icon: "file",
isTop: true,
},
},
{
path: "import",
meta: {
type: "button",
title: "导入",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
@ -743,6 +727,7 @@ export default [
type: "button",
title: "下载",
icon: "file",
pattern: "paged",
},
},
],
@ -797,6 +782,7 @@ export default [
type: "button",
title: "下载",
icon: "file",
pattern: "paged",
},
},
],
@ -1211,7 +1197,7 @@ export default [
path: "hbpo_jit_pub_sa_detail_service",
meta: {
type: "page",
title: "4",
title: "HBPO结算数据明细",
icon: "file",
isHidden: true,
},
@ -1291,7 +1277,7 @@ export default [
type: "page",
title: "BBAC发运与结算比对",
icon: "file",
businessType: 3,
// businessType: "ZhiGongJianBBAC",
},
children: [
{
@ -1336,6 +1322,7 @@ export default [
type: "button",
title: "下载",
icon: "file",
pattern: "paged",
},
},
],
@ -1346,7 +1333,7 @@ export default [
type: "page",
title: "HBPO发运与结算比对",
icon: "file",
businessType: 4,
// businessType: "ZhiGongJianHBPO",
},
children: [
{
@ -1391,6 +1378,7 @@ export default [
type: "button",
title: "下载",
icon: "file",
pattern: "paged",
},
},
],
@ -1694,24 +1682,6 @@ export default [
isTop: true,
},
},
{
path: "delete",
meta: {
type: "button",
title: "删除",
icon: "file",
isTop: true,
},
},
{
path: "import",
meta: {
type: "button",
title: "导入",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
@ -1778,7 +1748,7 @@ export default [
type: "page",
title: "发运与结算比对",
icon: "file",
businessType: 7,
// businessType: "BeiJian",
},
children: [
{
@ -1823,6 +1793,7 @@ export default [
type: "button",
title: "下载",
icon: "file",
pattern: "paged",
},
},
],
@ -2126,24 +2097,6 @@ export default [
isTop: true,
},
},
{
path: "delete",
meta: {
type: "button",
title: "删除",
icon: "file",
isTop: true,
},
},
{
path: "import",
meta: {
type: "button",
title: "导入",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
@ -2210,7 +2163,7 @@ export default [
type: "page",
title: "发运与结算比对",
icon: "file",
businessType: 8,
// businessType: "YinDuJian",
},
children: [
{
@ -2255,6 +2208,7 @@ export default [
type: "button",
title: "下载",
icon: "file",
pattern: "paged",
},
},
],
@ -2487,96 +2441,522 @@ export default [
},
],
},
//不知道自主起的名字
{
path: "invoice",
path: "md",
meta: {
type: "group",
title: "财务审核",
title: "买单件HBPO",
icon: "folder",
},
children: [
{
path: "invoice_map_group",
path: "input",
meta: {
type: "page",
title: "财务审核",
type: "group",
title: "数据输入",
icon: "file",
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
{
path: "reject",
meta: {
type: "button",
title: "退回",
icon: "file",
isTop: true,
},
},
{
path: "importInvocie",
path: "md_pub_sa_service",
meta: {
type: "button",
title: "导入发票号",
type: "page",
title: "结算数据",
icon: "file",
isTop: true,
pattern: "paged",
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
{
path: "import",
meta: {
type: "button",
title: "导入",
icon: "file",
isTop: true,
},
},
{
path: "delete",
meta: {
type: "button",
title: "删除",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
type: "button",
title: "导出",
icon: "file",
isTop: true,
pattern: "paged",
},
},
],
},
{
path: "passed ",
path: "md_pub_sa_detail_service",
meta: {
type: "button",
title: "审核通过",
type: "page",
title: "结算数据明细",
icon: "file",
isTop: true,
pattern: "paged",
isHidden: true,
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
type: "button",
title: "导出",
icon: "file",
isTop: true,
pattern: "paged",
},
},
],
},
{
path: "sync_qad ",
path: "md_pub_se_detail_service",
meta: {
type: "button",
title: "同步寄售库至QAD",
type: "page",
title: "发运数据",
icon: "file",
isTop: true,
pattern: "paged",
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
type: "button",
title: "导出",
icon: "file",
isTop: true,
pattern: "paged",
},
},
{
path: "synchronous",
meta: {
type: "button",
title: "手动同步",
icon: "file",
isTop: true,
},
},
],
},
],
},
{
path: "invoice_wait_detail",
path: "contrast",
meta: {
type: "page",
title: "待开票明细",
type: "group",
title: "数据对比",
icon: "file",
isHidden: true,
},
children: [
{
path: "query",
path: "md_pub_sa_detail_jobservice",
meta: {
type: "button",
title: "查询",
type: "page",
title: "发运与结算比对",
icon: "file",
isTop: true,
// businessType: "MaiDanJianHBPO",
},
},
],
},
{
path: "invoice_grp",
meta: {
type: "page",
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
{
path: "compare",
meta: {
type: "button",
title: "生成对比",
icon: "file",
isTop: true,
},
},
{
path: "delete",
meta: {
type: "button",
title: "删除",
icon: "file",
isTop: true,
},
},
{
path: "update-data",
meta: {
type: "button",
title: "更新结算数据状态",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
type: "button",
title: "下载",
icon: "file",
pattern: "paged",
},
},
],
},
],
},
{
path: "settlement",
meta: {
type: "group",
title: "结算开票",
icon: "folder",
},
children: [
{
path: "md_pub_can_sa_service",
meta: {
type: "page",
title: "可结算单",
icon: "file",
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
type: "button",
title: "导出",
icon: "file",
isTop: true,
pattern: "paged",
},
},
{
path: "generateInvoice",
meta: {
type: "button",
title: "生成发票数据",
icon: "file",
isTop: true,
pattern: "paged",
},
},
],
},
{
path: "md_pub_not_sa_service",
meta: {
type: "page",
title: "不可结算单",
icon: "file",
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
type: "button",
title: "导出",
icon: "file",
isTop: true,
pattern: "paged",
},
},
{
path: "generateSettlementOrder",
meta: {
type: "button",
title: "生成可结算单",
icon: "file",
isTop: true,
pattern: "paged",
},
},
],
},
{
path: "md_pub_ba_service",
meta: {
type: "page",
title: "商务审批",
icon: "file",
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
{
path: "reject",
meta: {
type: "button",
title: "退回",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
type: "button",
title: "导出",
icon: "file",
isTop: true,
pattern: "paged",
},
},
{
path: "received ",
meta: {
type: "button",
title: "客户已收票",
icon: "file",
isTop: true,
pattern: "paged",
},
},
],
},
{
path: "md_pub_ba_detail_service",
meta: {
type: "page",
title: "商务审批明细",
icon: "file",
isHidden: true,
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
],
},
{
path: "md_pub_pd_service",
meta: {
type: "page",
title: "寄售库库存扣减审批",
icon: "file",
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
{
path: "reject",
meta: {
type: "button",
title: "退回",
icon: "file",
isTop: true,
},
},
{
path: "export",
meta: {
type: "button",
title: "导出",
icon: "file",
isTop: true,
pattern: "paged",
},
},
{
path: "approvalPassed ",
meta: {
type: "button",
title: "审核通过",
icon: "file",
isTop: true,
pattern: "paged",
},
},
],
},
{
path: "md_pub_pd_detail_service",
meta: {
type: "page",
title: "寄售库库存扣减审批明细",
icon: "file",
isHidden: true,
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
],
},
],
},
],
},
{
path: "invoice",
meta: {
type: "group",
title: "财务审核",
icon: "folder",
},
children: [
{
path: "invoice_map_group",
meta: {
type: "page",
title: "财务审核",
icon: "file",
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
{
path: "reject",
meta: {
type: "button",
title: "退回",
icon: "file",
isTop: true,
},
},
{
path: "importInvocie",
meta: {
type: "button",
title: "导入发票号",
icon: "file",
isTop: true,
pattern: "paged",
},
},
{
path: "passed ",
meta: {
type: "button",
title: "审核通过",
icon: "file",
isTop: true,
pattern: "paged",
},
},
{
path: "sync_qad ",
meta: {
type: "button",
title: "同步寄售库至QAD",
icon: "file",
isTop: true,
pattern: "paged",
},
},
],
},
{
path: "invoice_wait_detail",
meta: {
type: "page",
title: "待开票明细",
icon: "file",
isHidden: true,
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
],
},
{
path: "invoice_grp",
meta: {
type: "page",
title: "发票分组",
icon: "file",
isHidden: true,
@ -2781,13 +3161,58 @@ export default [
},
},
{
path: "backups",
path: "invoke",
meta: {
type: "button",
title: "手动备份",
icon: "file",
isTop: true,
pattern: "paged",
},
},
],
},
{
path: "adjust",
meta: {
type: "page",
title: "技术库存调整表",
icon: "file",
},
children: [
{
path: "query",
meta: {
type: "button",
title: "查询",
icon: "file",
isTop: true,
},
},
{
path: "create",
meta: {
type: "button",
title: "新建",
icon: "file",
isTop: true,
},
},
{
path: "update",
meta: {
type: "button",
title: "编辑",
icon: "file",
isTop: true,
},
},
{
path: "import",
meta: {
type: "button",
title: "导入",
icon: "file",
isTop: true,
},
},
],

4
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/utils/validation.js

@ -129,7 +129,9 @@ const getRules = (parentSchema, property, data) => {
rule.type = property.type;
}
if (rule.validator) {
rule.validator = validators[rule.validator];
if (rule.validator.constructor === String) {
rule.validator = validators[rule.validator];
}
}
if (!rule.message) {
if (rule.required) {

12
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/bj/contrast/bj_pub_sa_detail_jobservice.js

@ -1,10 +1,11 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/job-service.js";
import { ref, onMounted, onUnmounted } from "vue";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
template: html`<app-list ref="appListRef" :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
config.query.schema.title = "发运与结算";
@ -12,7 +13,12 @@ export default {
console.log(item.path, item, rows);
};
config.query.schema.properties.name.default = "备件结算与发运数据对比";
config.query.schema.properties.businessType.default = 7;
return { config, onCommand };
config.query.schema.properties.businessType.default = "BeiJian";
const appListRef = ref(null);
onMounted(() =>
PubSub.subscribe(config.query.schema.properties.businessType.default, async () => await appListRef.value.load())
);
onUnmounted(() => PubSub.unsubscribe(config.query.schema.properties.businessType.default));
return { config, onCommand, appListRef };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/bj/input/bj_pub_sa_detail_service.js

@ -9,7 +9,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default=7;
config.query.schema.properties.businessType.default="BeiJian";
return { config, onCommand };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/bj/input/bj_pub_sa_service.js

@ -10,7 +10,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default=7;
config.query.schema.properties.businessType.default="BeiJian";
return { config, onCommand };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/bj/input/bj_pub_se_detail_service.js

@ -10,7 +10,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 7;
config.query.schema.properties.businessType.default = "BeiJian";
return { config, onCommand };
},
};

40
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/home.js

@ -1,5 +1,43 @@
import html from "html";
import AppList from "../../../components/list/index.js";
export default {
template: html`<a href="../assets/导入模版.zip" target="blank">导入模板下载</a>`,
components: { AppList },
template: html`</app-list :config="config" @command="onCommand"></app-list>
<el-table :data="tableData" border style="width: 100%">
<el-table-column prop="date" label="custoner/type" width="180" />
<el-table-column prop="name" label="BBAC" width="180" />
<el-table-column prop="address" label="HBPO" width="180" />
</el-table>
`,
setup() {
const tableData = [
{
date: "JIS",
name: "√",
address: "√",
},
{
date: "直供件",
name: "√",
address: "√",
},
{
date: "印度件",
name: "√",
address: "",
},
{
date: "备件",
name: "√",
address: "",
},
{
date: "买单件",
name: "对比√ 开票×",
address: "√",
},
];
return { tableData };
},
};

12
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/in/contrast/in_pub_sa_detail_jobservice.js

@ -1,18 +1,24 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/job-service.js";
import { ref, onMounted, onUnmounted } from "vue";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
template: html`<app-list ref="appListRef" :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
config.query.schema.title = "发运与结算";
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 8;
config.query.schema.properties.businessType.default = "YinDuJian";
config.query.schema.properties.name.default = "印度件结算与发运数据对比";
return { config, onCommand };
const appListRef = ref(null);
onMounted(() =>
PubSub.subscribe(config.query.schema.properties.name.default, async () => await appListRef.value.load())
);
onUnmounted(() => PubSub.unsubscribe(config.query.schema.properties.businessType.default));
return { config, onCommand, appListRef };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/in/input/in_pub_sa_detail_service.js

@ -10,7 +10,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 8;
config.query.schema.properties.businessType.default = "YinDuJian";
return { config, onCommand };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/in/input/in_pub_sa_service.js

@ -10,7 +10,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 8;
config.query.schema.properties.businessType.default = "YinDuJian";
return { config, onCommand };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/in/input/in_pub_se_detail_service.js

@ -10,7 +10,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 8;
config.query.schema.properties.businessType.default = "YinDuJian";
return { config, onCommand };
},
};

15
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/inventory/adjust.js

@ -0,0 +1,15 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/inventory/adjust.js";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
return { config, onCommand };
},
};

61
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/invoice/invoice_map_group.js

@ -5,6 +5,7 @@ import useConfig from "../../../models/invoice/invoice_map_group.js";
import request from "../../../request/index.js";
import AppTable from "../../components/table/index.js";
import { ElMessageBox } from "element-plus";
import { post } from "../../../request/index.js";
export default {
components: { AppList, AppTable },
@ -54,9 +55,9 @@ export default {
</span>
</div>
</template>
<el-table :data="invoiceValue">
<el-table-column type="selection" width="50">
<el-checkbox v-model="selectedRows"></el-checkbox>
<el-table :data="invoiceValue" @selection-change="handleSelectionChange">
<el-table-column width="50" type="selection">
<!-- <el-checkbox v-model="selectedRows" /> -->
</el-table-column>
<el-table-column property="oldInvBillNum" label="作废发票号" />
<el-table-column property="invBillNum" label="发票号" />
@ -101,19 +102,21 @@ export default {
</el-dialog>
<el-dialog v-model="openImport" width="30%">
<app-form>
<el-form-item :label="$t('文件')" label-width="80px">
<el-upload
ref="uploadRef"
class="upload"
drag
accept=".xlsx"
:auto-upload="false"
:on-change="handleChange"
>
<el-icon class="el-icon--upload"><ep-upload-filled /></el-icon>
</el-upload>
<el-button type="primary" @click="openImportHandler" style="margin-left: 10px;">确定</el-button>
</el-form-item>
<div>
<el-form-item :label="$t('文件')" label-width="80px">
<el-upload
ref="uploadRef"
class="upload"
drag
accept=".xlsx"
:auto-upload="false"
:on-change="handleChange"
>
<el-icon class="el-icon--upload"><ep-upload-filled /></el-icon>
</el-upload>
</el-form-item>
</div>
<el-button type="primary" @click="openImportHandler" style="margin-left: 10px;">确定</el-button>
</app-form>
</el-dialog>
<el-button type="primary" @click="dialogVisible = false" style="margin-left: 10px;">下一页</el-button>
@ -133,10 +136,23 @@ export default {
}
</style>`,
setup() {
const fileList = ref([]);
// const load = async () => {};
// const editFormModel = ref(null);
// const editFormMode = ref(null);
// const defaultImportModel = config.import?.schema ? schemaToModel(config.import.schema) : {};
// const importModel = ref(defaultImportModel);
const openImportHandler = async () => {
const data = {};
const response = await request("settleaccount/vmi/excel-to-json", data, { method: "POST" });
console.log(response.data);
const url = "settleaccount/vmi/excel-to-json";
const method = "POST";
const formData = new FormData();
if (config.query.schema.properties.businessType?.default) {
formData.append("businessType", config.query.schema.properties.businessType.default);
}
for (let i = 0; i < fileList.value.length; i++) {
formData.append(`files`, fileList.value[i].raw);
}
await post(url, formData, method);
};
const formInline = reactive({
oldInvBillNum: "",
@ -149,6 +165,7 @@ export default {
groupNum: "",
});
//create
const invoiceValue = ref([]);
const submitForm = () => {
const newFormInline = { ...formInline };
invoiceValue.value.push(newFormInline);
@ -159,12 +176,10 @@ export default {
};
//delete
const selectedRows = ref([]);
const invoiceValue = ref([]);
const deleteRow = () => {
const deleteRow = async () => {
const indexes = selectedRows.value.map((row) => invoiceValue.value.indexOf(row));
indexes.sort((a, b) => b - a);
indexes.forEach((index) => {
invoiceValue.value.splice(index, 1);
invoiceValue.value.splice(index, 10000000000);
});
selectedRows.value = [];
};

12
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/contrast/bbac_jit_pub_sa_detail_jobservice.js

@ -1,18 +1,24 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/job-service.js";
import { ref, onMounted, onUnmounted } from "vue";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
template: html`<app-list ref="appListRef" :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
config.query.schema.title = "发运与结算";
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 3;
config.query.schema.properties.businessType.default = "ZhiGongJianBBAC";
config.query.schema.properties.name.default = "直供件BBAC结算与发运数据对比";
return { config, onCommand };
const appListRef = ref(null);
onMounted(() =>
PubSub.subscribe(config.query.schema.properties.name.default, async () => await appListRef.value.load())
);
onUnmounted(() => PubSub.unsubscribe(config.query.schema.properties.businessType.default));
return { config, onCommand, appListRef };
},
};

12
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/contrast/hbpo_jit_pub_sa_detail_jobservice.js

@ -1,18 +1,24 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/job-service.js";
import { ref, onMounted, onUnmounted } from "vue";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
template: html`<app-list ref="appListRef" :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
config.query.schema.title = "发运与结算";
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 4;
config.query.schema.properties.businessType.default = "ZhiGongJianHBPO";
config.query.schema.properties.name.default = "直供件HBPO结算与发运数据对比";
return { config, onCommand };
const appListRef = ref(null);
onMounted(() =>
PubSub.subscribe(config.query.schema.properties.name.default, async () => await appListRef.value.load())
);
onUnmounted(() => PubSub.unsubscribe(config.query.schema.properties.businessType.default));
return { config, onCommand, appListRef };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/bbac_jit_pub_sa_detail_service.js

@ -10,7 +10,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 3;
config.query.schema.properties.businessType.default = "ZhiGongJianBBAC";
return { config, onCommand };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/bbac_jit_pub_sa_service.js

@ -10,7 +10,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 3;
config.query.schema.properties.businessType.default = "ZhiGongJianBBAC";
return { config, onCommand };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/bbac_jit_pub_se_detail_service.js

@ -10,7 +10,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 3;
config.query.schema.properties.businessType.default = "ZhiGongJianBBAC";
return { config, onCommand };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/hbpo_jit_pub_sa_detail_service.js

@ -10,7 +10,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 4;
config.query.schema.properties.businessType.default = "ZhiGongJianHBPO";
return { config, onCommand };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/hbpo_jit_pub_sa_service.js

@ -10,7 +10,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 4;
config.query.schema.properties.businessType.default = "ZhiGongJianHBPO";
return { config, onCommand };
},
};

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/jit/input/hbpo_jit_pub_se_detail_service.js

@ -10,7 +10,7 @@ export default {
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = 4;
config.query.schema.properties.businessType.default = "ZhiGongJianHBPO";
return { config, onCommand };
},
};

6
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/login.js

@ -1,9 +1,9 @@
import html, { schemaToModel } from "html";
import { ref, reactive } from "vue";
import { reactive } from "vue";
import AppForm from "../components/form/index.js";
import { login, setRefreshToken, getUser, setAccessToken } from "../api/user.js";
import { getUser, setAccessToken } from "../api/user.js";
import router, { refreshRouter } from "../router/index.js";
import request, { post } from "../request/index.js";
import request from "../request/index.js";
import LayoutLogo from "../layouts/logo.js";
import LayoutLocale from "../layouts/locale.js";
import LayoutFooter from "../layouts/footer.js";

24
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/contrast/md_pub_sa_detail_jobservice.js

@ -0,0 +1,24 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/job-service.js";
import { ref, onMounted, onUnmounted } from "vue";
export default {
components: { AppList },
template: html`<app-list ref="appListRef" :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
config.query.schema.title = "发运与结算";
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = "MaiDanJianHBPO";
// config.query.schema.properties.name.default = "直供件BBAC结算与发运数据对比";
const appListRef = ref(null);
onMounted(() =>
PubSub.subscribe(config.query.schema.properties.name.default, async () => await appListRef.value.load())
);
onUnmounted(() => PubSub.unsubscribe(config.query.schema.properties.businessType.default));
return { config, onCommand, appListRef };
},
};

16
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/input/md_pub_sa_detail_service.js

@ -0,0 +1,16 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/pub_sa_detail_service.js";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = "MaiDanJianHBPO";
return { config, onCommand };
},
};

16
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/input/md_pub_sa_service.js

@ -0,0 +1,16 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/pub_sa_service.js";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = "MaiDanJianHBPO";
return { config, onCommand };
},
};

16
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/input/md_pub_se_detail_service.js

@ -0,0 +1,16 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/pub_se_detail_service.js";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
config.query.schema.properties.businessType.default = "MaiDanJianHBPO";
return { config, onCommand };
},
};

15
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_ba_detail_service.js

@ -0,0 +1,15 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/pub_ba_detail_service";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
return { config, onCommand };
},
};

15
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_ba_service.js

@ -0,0 +1,15 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/pub_ba_service.js";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
return { config, onCommand };
},
};

15
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_can_sa_detail_service.js

@ -0,0 +1,15 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/pub_can_sa_detail_service.js";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
return { config, onCommand };
},
};

15
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_can_sa_service.js

@ -0,0 +1,15 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/pub_can_sa_service.js";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
return { config, onCommand };
},
};

15
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_not_sa_service.js

@ -0,0 +1,15 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/pub_not_sa_service.js";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
return { config, onCommand };
},
};

15
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_pd_detail_service.js

@ -0,0 +1,15 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/pub_pd_detail_service.js";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
return { config, onCommand };
},
};

15
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/views/md/settlement/md_pub_pd_service.js

@ -0,0 +1,15 @@
import AppList from "../../../components/list/index.js";
import html from "html";
import useConfig from "../../../models/pub_pd_service.js";
export default {
components: { AppList },
template: html`<app-list :config="config" @command="onCommand" />`,
setup() {
const config = useConfig();
const onCommand = async (item, rows) => {
console.log(item.path, item, rows);
};
return { config, onCommand };
},
};

19
code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs

@ -55,6 +55,7 @@ public interface IVmiService : IApplicationService, ITransientDependency, IJobSe
public class VmiAppService : ApplicationService, IVmiService, IJobService, ITransientDependency
{
private readonly IConfiguration _cfg;
private readonly IServiceProvider _serviceProvider;
private readonly INormalEfCoreRepository<VmiBalance, Guid> _balanceRepository;
private readonly INormalEfCoreRepository<VmiLog, Guid> _logRepository;
private readonly INormalEfCoreRepository<VmiSnapshot, Guid> _snapshotRepository;
@ -63,6 +64,7 @@ public class VmiAppService : ApplicationService, IVmiService, IJobService, ITran
private readonly ICurrentUser _currentUser;
public VmiAppService(IConfiguration cfg,
IServiceProvider serviceProvider,
INormalEfCoreRepository<VmiBalance, Guid> balanceRepository,
INormalEfCoreRepository<VmiLog, Guid> logRepository,
INormalEfCoreRepository<VmiSnapshot, Guid> snapshotRepository,
@ -71,6 +73,7 @@ public class VmiAppService : ApplicationService, IVmiService, IJobService, ITran
ICurrentUser currentUser)
{
this._cfg = cfg;
this._serviceProvider = serviceProvider;
this._balanceRepository = balanceRepository;
this._logRepository = logRepository;
this._snapshotRepository = snapshotRepository;
@ -124,7 +127,7 @@ public class VmiAppService : ApplicationService, IVmiService, IJobService, ITran
/// <summary>
/// 定时备份:0 0 8 26 * ?
/// </summary>
[HttpPost]
[NonAction]
[DisableValidation]
public virtual Task Invoke(IServiceProvider serviceProvider)
{
@ -170,6 +173,20 @@ public class VmiAppService : ApplicationService, IVmiService, IJobService, ITran
return Task.CompletedTask;
}
/// <summary>
/// 定时备份:0 0 8 26 * ?
/// </summary>
[HttpPost("invoke")]
[DisableValidation]
public virtual Task VmiBackup()
{
Task.Run(async () =>
{
await Invoke(_serviceProvider).ConfigureAwait(false);
});
return Task.CompletedTask;
}
/// <summary>
/// 发运入库\反结入库\调整入库
/// </summary>

Loading…
Cancel
Save