wanggang
1 year ago
21 changed files with 220 additions and 189 deletions
@ -0,0 +1,145 @@ |
|||||
|
import version from "../version.js"; |
||||
|
import { state2 } from "../state.js"; |
||||
|
import businessType from "../businessType.js"; |
||||
|
import invoiceState from "../invoiceState.js"; |
||||
|
|
||||
|
const state = Object.assign({}, state2); |
||||
|
state.input = "tabs"; |
||||
|
const schema = { |
||||
|
title: "商务审批", |
||||
|
type: "object", |
||||
|
properties: { |
||||
|
version, |
||||
|
realnvBillNum: { |
||||
|
title: "金税发票号", |
||||
|
type: "string", |
||||
|
}, |
||||
|
invbillNum: { |
||||
|
title: "系统发票号", |
||||
|
type: "string", |
||||
|
link: true, |
||||
|
}, |
||||
|
amt: { |
||||
|
title: "未税金额", |
||||
|
type: "number", |
||||
|
}, |
||||
|
taxAmt: { |
||||
|
title: "税后金额", |
||||
|
type: "number", |
||||
|
}, |
||||
|
invGroupNum: { |
||||
|
title: "发票分组号", |
||||
|
type: "number", |
||||
|
link: true, |
||||
|
}, |
||||
|
businessType, |
||||
|
state, |
||||
|
invoiceState, |
||||
|
taxDiff: { |
||||
|
title: "发票税后尾差", |
||||
|
type: "number", |
||||
|
}, |
||||
|
clientCode: { |
||||
|
title: "客户代码", |
||||
|
type: "string", |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
|
||||
|
export default function () { |
||||
|
const service = "invoice_service"; |
||||
|
const queryUrl = `settleaccount/${service}/main-query`; |
||||
|
const exportUrl = `settleaccount/${service}/export`; |
||||
|
const invoiceUrl = `settleaccount/${service}/generate-invoice`; |
||||
|
const receivedUrl = `settleaccount/${service}/received`; |
||||
|
const rejectUrl = `settleaccount/${service}/reject`; |
||||
|
const reissueUrl = `settleaccount/${service}/reissue-invoice`; |
||||
|
const queryMethod = "POST"; |
||||
|
const exportMethod = "POST"; |
||||
|
const invoiceMethod = "POST"; |
||||
|
const receivedMethod = "POST"; |
||||
|
const rejectMethod = "POST"; |
||||
|
const reissueMethod = "POST"; |
||||
|
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: "version", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
{ |
||||
|
logic: "and", |
||||
|
column: "state", |
||||
|
action: "equal", |
||||
|
value: null, |
||||
|
readOnly: true, |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
skipCount: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
maxResultCount: { |
||||
|
hidden: true, |
||||
|
default: 10, |
||||
|
}, |
||||
|
sorting: { |
||||
|
hidden: true, |
||||
|
}, |
||||
|
businessType: { |
||||
|
hidden: true, |
||||
|
default: 0, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
table: { |
||||
|
schema: schema, |
||||
|
}, |
||||
|
edit: { |
||||
|
exportUrl, |
||||
|
invoiceUrl, |
||||
|
receivedUrl, |
||||
|
rejectUrl, |
||||
|
reissueUrl, |
||||
|
exportMethod, |
||||
|
invoiceMethod, |
||||
|
receivedMethod, |
||||
|
rejectMethod, |
||||
|
reissueMethod, |
||||
|
schema: schema, |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
import AppList from "../../components/list/index.js"; |
||||
|
import html from "html"; |
||||
|
import { ref, onMounted } from "vue"; |
||||
|
import { useRoute } from "vue-router"; |
||||
|
|
||||
|
export default function (model) { |
||||
|
return { |
||||
|
components: { AppList }, |
||||
|
template: html`<app-list v-if="config" :config="config" @command="onCommand" />`, |
||||
|
setup() { |
||||
|
const config = ref(null); |
||||
|
const route = useRoute(); |
||||
|
const onCommand = async (item, rows) => { |
||||
|
console.log(item.path, item, rows); |
||||
|
}; |
||||
|
onMounted(async () => { |
||||
|
const useConfig = (await import(`../models/${model}.js`)).default; |
||||
|
config.value = useConfig(route.meta?.businessType); |
||||
|
}); |
||||
|
return { config, onCommand }; |
||||
|
}, |
||||
|
}; |
||||
|
} |
@ -1,15 +1,2 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import useList from "../_list.js"; |
||||
import html from "html"; |
export default useList("base-data/bei-jian"); |
||||
import useConfig from "../../models/base-data/bei-jian.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 }; |
|
||||
}, |
|
||||
}; |
|
||||
|
@ -1,15 +1,2 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import useList from "../_list.js"; |
||||
import html from "html"; |
export default useList("base-data/bom"); |
||||
import useConfig from "../../models/base-data/bom.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 }; |
|
||||
}, |
|
||||
}; |
|
||||
|
@ -1,15 +1,2 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import useList from "../_list.js"; |
||||
import html from "html"; |
export default useList("base-data/cai-gou"); |
||||
import useConfig from "../../models/base-data/cai-gou.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 }; |
|
||||
}, |
|
||||
}; |
|
||||
|
@ -1,15 +1,2 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import useList from "../_list.js"; |
||||
import html from "html"; |
export default useList("base-data/code-setting"); |
||||
import useConfig from "../../models/base-data/code-setting.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 }; |
|
||||
}, |
|
||||
}; |
|
||||
|
@ -1,15 +1,2 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import useList from "../_list.js"; |
||||
import html from "html"; |
export default useList("base-data/ke-hu"); |
||||
import useConfig from "../../models/base-data/ke-hu.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 }; |
|
||||
}, |
|
||||
}; |
|
||||
|
@ -1,15 +1,2 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import useList from "../_list.js"; |
||||
import html from "html"; |
export default useList("base-data/material-relationship"); |
||||
import useConfig from "../../models/base-data/material-relationship.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 }; |
|
||||
}, |
|
||||
}; |
|
||||
|
@ -1,15 +1,2 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import useList from "../_list.js"; |
||||
import html from "html"; |
export default useList("base-data/material"); |
||||
import useConfig from "../../models/base-data/material.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 }; |
|
||||
}, |
|
||||
}; |
|
||||
|
@ -1,15 +1,2 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import useList from "../_list.js"; |
||||
import html from "html"; |
export default useList("base-data/parts-relationship"); |
||||
import useConfig from "../../models/base-data/parts-relationship.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 }; |
|
||||
}, |
|
||||
}; |
|
||||
|
@ -1,15 +1,2 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import useList from "../_list.js"; |
||||
import html from "html"; |
export default useList("base-data/xiao-shou"); |
||||
import useConfig from "../../models/base-data/xiaos-hou.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 }; |
|
||||
}, |
|
||||
}; |
|
||||
|
@ -1,3 +1,2 @@ |
|||||
import useCompare from "./_compare.js" |
import useCompare from "./_compare.js"; |
||||
|
|
||||
export default useCompare("fa-yun"); |
export default useCompare("fa-yun"); |
||||
|
@ -1,3 +1,2 @@ |
|||||
import useCompare from "./_compare.js"; |
import useCompare from "./_compare.js"; |
||||
|
|
||||
export default useCompare("jie-suan"); |
export default useCompare("jie-suan"); |
||||
|
@ -1,18 +1,2 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import useList from "../_list.js"; |
||||
import html from "html"; |
export default useList("input/edi"); |
||||
import { useRoute } from "vue-router"; |
|
||||
import useConfig from "../../models/input/edi.js"; |
|
||||
|
|
||||
export default { |
|
||||
components: { AppList }, |
|
||||
template: html`<app-list :config="config" @command="onCommand" />`, |
|
||||
setup() { |
|
||||
const route = useRoute(); |
|
||||
const businessType = route.meta.businessType; |
|
||||
const config = useConfig(businessType); |
|
||||
const onCommand = async (item, rows) => { |
|
||||
console.log(item.path, item, rows); |
|
||||
}; |
|
||||
return { config, onCommand }; |
|
||||
}, |
|
||||
}; |
|
||||
|
@ -1,18 +1,2 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import useList from "../_list.js"; |
||||
import html from "html"; |
export default useList("input/jie-suan"); |
||||
import { useRoute } from "vue-router"; |
|
||||
import useConfig from "../../models/input/jie-suan.js"; |
|
||||
|
|
||||
export default { |
|
||||
components: { AppList }, |
|
||||
template: html`<app-list :config="config" @command="onCommand" />`, |
|
||||
setup() { |
|
||||
const route = useRoute(); |
|
||||
const businessType = route.meta.businessType; |
|
||||
const config = useConfig(businessType); |
|
||||
const onCommand = async (item, rows) => { |
|
||||
console.log(item.path, item, rows); |
|
||||
}; |
|
||||
return { config, onCommand }; |
|
||||
}, |
|
||||
}; |
|
||||
|
@ -1,18 +1,37 @@ |
|||||
import AppList from "../../components/list/index.js"; |
import AppList from "../../components/list/index.js"; |
||||
import html from "html"; |
import html from "html"; |
||||
|
import { ref } from "vue"; |
||||
import { useRoute } from "vue-router"; |
import { useRoute } from "vue-router"; |
||||
|
import { ElMessageBox } from "element-plus"; |
||||
import useConfig from "../../models/settle/usable.js"; |
import useConfig from "../../models/settle/usable.js"; |
||||
|
import request from "../../request/index.js"; |
||||
|
|
||||
export default { |
export default { |
||||
components: { AppList }, |
components: { AppList }, |
||||
template: html`<app-list :config="config" @command="onCommand" />`, |
template: html`<app-list ref="appListRef" :config="config" @command="onCommand" />`, |
||||
setup() { |
setup() { |
||||
|
const appListRef = ref(null); |
||||
const route = useRoute(); |
const route = useRoute(); |
||||
const businessType = route.meta.businessType; |
const businessType = route.meta.businessType; |
||||
const config = useConfig(businessType); |
const config = useConfig(businessType); |
||||
const onCommand = async (item, rows) => { |
const onCommand = async (item, rows) => { |
||||
console.log(item.path, item, rows); |
const url = config.edit.addUrl; |
||||
|
if (item.path === "add") { |
||||
|
const invbillNum = rows[0].billNum; |
||||
|
try { |
||||
|
await ElMessageBox.confirm(`"确认为${invbillNum}创建发票?`, "提示", { |
||||
|
type: "warning", |
||||
|
}); |
||||
|
appListRef.value.tableLoading = true; |
||||
|
const result = request(url, { invbillNum }, { method: "POST" }); |
||||
|
console.log(result); |
||||
|
} catch (e) { |
||||
|
console.log(e); |
||||
|
} finally { |
||||
|
appListRef.value.tableLoading = false; |
||||
|
} |
||||
|
} |
||||
}; |
}; |
||||
return { config, onCommand }; |
return { appListRef, config, onCommand }; |
||||
}, |
}, |
||||
}; |
}; |
||||
|
Loading…
Reference in new issue