ProduCostCreate.vue 3.62 KB
<template>
  <BasicModal
    v-bind="$attrs"
    destroyOnClose
    @register="register"
    title="创建配置"
    width="600px"
    @visible-change="handleShow"
    @ok="handleOk"
  >
    <a-space direction="vertical" style="width: 100%">
      <div
        ><span style="margin-right: 8px">客户编码:</span>
        <a-select
          ref="select"
          style="width: 100%"
          v-model:value="customerCode"
          :options="customerCodeOptions"
      /></div>
      <div
        ><span style="margin-right: 8px; width: 80%">固定成本:</span>
        <a-input v-model:value="fixCost"
      /></div>
      <div
        ><span style="margin-right: 8px; width: 80%">提成比例:</span>
        <a-input v-model:value="ratio" />
      </div>
    </a-space>
  </BasicModal>
</template>
<script lang="ts">
  import { defineComponent, ref, defineEmits } from 'vue';
  import { BasicModal, useModalInner } from '/@/components/Modal';
  import { orderGravity } from '/@/api/project/order';
  import { useOrderStoreWithOut } from '/@/store/modules/order';
  import { useOrderInfo } from '/@/hooks/component/order';
  import { BasicForm, useForm } from '/@/components/Form/index';
  import { addConfig } from '/@/api/sys/config';

  export default defineComponent({
    components: { BasicModal, BasicForm },
    props: {
      column: { type: Number },
    },
    emits: ['modal-success'],
    setup(props, { emit }) {
      const orderStore = useOrderStoreWithOut();
      const loading = ref(true);
      const activeUser = ref();
      const info = ref();
      const [register, { setModalProps, closeModal }] = useModalInner(async (data) => {
        listAll.value = data;
        console.log(listAll.value, '5656modaldata.value');
      });
      //获取现有的列表
      const listAll = ref();
      const fixCost = ref();
      const ratio = ref();
      // const relationValue = ref();
      const customerCode = ref();
      const relationValue = ref([
        {
          relationCode: 'fixCost',
          relationName: '固定成本',
          relationValue: '',
        },
        {
          relationCode: 'ratio',
          relationName: '提成比例',
          relationValue: '',
        },
      ]);
      // const loading = ref(true);

      const { customerCode: customerCodeOptions } = useOrderInfo(orderStore);

      function handleShow(visible: boolean) {
        if (visible) {
          loading.value = true;
          // setModalProps({ loading: true, confirmLoading: true });
          setModalProps({ loading: false, confirmLoading: false });
        }
      }

      async function handleOk() {
        try {
          relationValue.value[0].relationValue = fixCost.value;
          relationValue.value[1].relationValue = ratio.value;
          await addConfig({
            settingCode: 'customerCode',
            settingName: '生产提成成本配置',
            settingValue: customerCode.value,
            settingType: 4,
            relationCode: 'ProduceSettingItem',
            relationName: '成本配置项集合',
            costSettingItemVOS: relationValue.value,
          });
          emit('modal-success');
          closeModal();
        } catch (error) {
          console.log('%c [ error ]-108', 'font-size:13px; background:pink; color:#bf2c9f;', error);
        }
      }
      return {
        register,
        loading,
        handleShow,
        info,
        activeUser,
        fixCost,
        ratio,
        customerCode,
        customerCodeOptions,
        handleOk,
      };
    },
  });
</script>
<style scoped>
  .empty-tips {
    height: 100px;
    line-height: 100px;
    text-align: center;
  }
</style>