12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import { initParams } from "@/utils/init";
- import { TABLE } from "@/api/business/purchase/contract";
- export default function useTable() {
- // 新 增
- const add = ({ _this, prop }) => {
- const { tableColumns } = _this.tabColumns.find(
- (element) => element.key === prop
- );
- _this.params[prop].push(initParams(tableColumns));
- };
- // 提 交
- const submit = async ({ _this, prop, scope }, done = () => {}) => {
- const { row } = scope;
- const { ADD, EDIT } = TABLE;
- try {
- // try
- _this.loading = true;
- const { contractId } = row;
- const { id } = _this.params;
- if (contractId) {
- await EDIT(row, prop);
- } else {
- await ADD({ ...row, contractId: id }, prop);
- }
- await done();
- } catch (err) {
- // catch
- console.error(err);
- } finally {
- // finally
- _this.loading = false;
- }
- };
- // 删 除
- const remove = ({ _this, prop, scope }, done = () => {}) => {
- const {
- row: { id },
- $index,
- } = scope;
- const { ROMVE } = TABLE;
- if (id) {
- try {
- // try
- _this.loading = true;
- const { code } = ROMVE(id, prop);
- if (code === 200) done();
- } catch (err) {
- // catch
- console.error(err);
- } finally {
- // finally
- _this.loading = false;
- }
- } else {
- _this.params[prop].splice($index, 1);
- }
- };
- return { add, submit, remove };
- }
|