Browse Source

发票页面编译失败问题

zuy 2 years ago
parent
commit
63b85e4bae

+ 0 - 149
admin-web/src/views/admin/invoice/InvoiceDialog.vue

@@ -1,149 +0,0 @@
-<style scoped lang="scss">
-
-</style>
-<template>
-    <div class="system-dialog-container">
-        <el-dialog
-                :title="state.dialog.title"
-                v-model="state.dialog.isShowDialog"
-                width="820px"
-                draggable
-                destroy-on-close
-                :close-on-click-modal="false"
-                align-center>
-            <ext-detail-form
-                    ref="formRef"
-                    v-model="state.ruleForm"
-                    :columns="state.columns"
-                    :rules="state.rules"
-                    @on-change="handleFormChange"
-            ></ext-detail-form>
-
-            <template #footer>
-				<span class="dialog-footer">
-					<el-button @click="onCancel" size="default">取 消</el-button>
-					<el-button :loading="state.btnLoading" type="primary" @click="onSubmit" size="default">{{ state.dialog.submitTxt }}</el-button>
-				</span>
-            </template>
-        </el-dialog>
-    </div>
-</template>
-
-<script setup lang="ts" name="InvoiceDialog">
-    import {defineAsyncComponent, reactive, onMounted, ref} from 'vue';
-    import {Msg} from "/@/utils/message";
-    import {$body, $get} from "/@/utils/request";
-    import u from '/@/utils/u'
-
-    // 引入组件
-    const ExtDetailForm = defineAsyncComponent(() => import('/@/components/form/ExtDetailForm.vue'));
-
-    // 定义子组件向父组件传值/事件
-    const emit = defineEmits(['refresh']);
-    const formRef = ref();
-    //定义初始变量,重置使用
-    const initState = ()=>({
-        ruleForm: {
-            id:0
-        },
-        btnLoading: false,
-        dialog: {
-            isShowDialog: false,
-            type: '',
-            title: '',
-            submitTxt: '',
-        },
-        columns: [
-                                                                                                                                                                                                        {label: '微信发票申请id', prop: 'applyId', type: 'text',},
-                                                                                                                                                                                                                                                            {label: '发票抬头填写人的openid', prop: 'openid', type: 'text',},
-                                                                                                                    {label: '发票关联订单详情', prop: 'orderDetails', type: 'user'},
-                                                                                                                                                                                                                        {label: '累积总金额(元)', prop: 'totalMoney', type: 'user',},
-                                                                                                                                                                                {label: '累积电费(元)', prop: 'elecMoney', type: 'user',},
-                                                                                                                                                                                {label: '累积服务费(元)', prop: 'serviceMoney', type: 'user',},
-                                                                                                                                                                                                                {label: '接收发票邮箱', prop: 'email', type: 'text',},
-                                                                                                                                                                                {label: '电话', prop: 'phone', type: 'text',},
-                                                                                                                                                                                {label: '发票类型:INDIVIDUAL-个人 ORGANIZATION-企业', prop: 'invoiceType', type: 'text',},
-                                                                                                                                                                                {label: '发票抬头名称', prop: 'invoiceTitle', type: 'text',},
-                                                                                                                                                                                {label: '公司税号', prop: 'taxId', type: 'text',},
-                                                                                                                                                                                {label: '公司地址', prop: 'address', type: 'text',},
-                                                                                                                                                                                {label: '开户银行', prop: 'bankName', type: 'text',},
-                                                                                                                                                                                {label: '银行账户', prop: 'bankAccount', type: 'text',},
-                                                                                                                                                {label: '发票金额(单位:分)', prop: 'invoiceAmount', type: 'user',},
-                                                                                                                                                    {label: '税额详情信息', prop: 'taxInfo', type: 'user'},
-                                                                                                                                                                            {label: '开票人', prop: 'biller', type: 'text',},
-                                                                                                                            {
-                            label: '发票状态:0-待开票 1-已开票 2-已作废',
-                            prop: 'status',
-                            sortable: 'custom',
-                            align: 'center',
-                            type: 'dict',
-                            conf: {dict: 'Invoice.status'}
-                        },
-                                                                {label: '发票状态:0-待开票 1-已开票 2-已作废', prop: 'status', type: 'user',},
-                                                                                                                                                                                                                {label: '备注', prop: 'remark', type: 'text',},
-                                                                                                                                                    {                        label: '', prop: 'createTime', type: 'datetime',},
-                                                                                                                {                        label: '', prop: 'updateTime', type: 'datetime',},
-                                    ],
-        rules: {},
-    })
-    
-    // 定义变量内容
-    const state = reactive(initState());
-
-
-    // 打开弹窗
-    const open = (action: string='add', row: any) => {
-        state.dialog.title = u.dialog.actions[action].title +"『发票记录表』"
-        state.dialog.submitTxt = u.dialog.actions[action].btn +"『发票记录表』"
-        state.dialog.isShowDialog = true;
-        if (action !=='add') {
-            loadData(row.id);
-        }else{
-            state.ruleForm = Object.assign(state.ruleForm,row);
-        }
-    };
-    // 关闭弹窗
-    const onClose = () => {
-        state.dialog.isShowDialog = false;
-        Object.assign(state,initState())
-    };
-    // 取消
-    const onCancel = () => {
-        onClose();
-    };
-    // 提交
-    const onSubmit = () => {
-        formRef.value.checkForm().then(() => {
-            state.btnLoading = true;
-            const url = state.ruleForm.id > 0 ? "invoice/modify" : "invoice/add"
-                $body(url, state.ruleForm).then(() => {
-                state.btnLoading = false;
-                Msg.message('操作成功');
-                console.log('submit!')
-                onClose();
-                emit('refresh');
-            })
-        }).catch(() => {
-            state.btnLoading = false;
-            Msg.message('请先完整填写表单', 'error');
-        })
-    };
-
-    const handleFormChange = (formData: any) => {
-        console.log(formData)
-    }
-
-    // 初始化表格数据
-    const loadData = (id: number) => {
-            $get(`invoice/detail/${id}`).then((res: any) => {
-            state.ruleForm = res;
-        })
-    }
-
-    // 暴露变量
-    defineExpose({
-        open
-    });
-
-
-</script>

+ 297 - 0
admin-web/src/views/admin/invoice/dialog.vue

@@ -0,0 +1,297 @@
+<style scoped lang="scss">
+
+</style>
+<template>
+  <div class="system-dialog-container">
+    <el-dialog
+        :title="state.dialog.title"
+        v-model="state.dialog.isShowDialog"
+        width="820px"
+        draggable
+        destroy-on-close
+        :close-on-click-modal="false"
+        @close="onClose"
+        align-center>
+      <el-form
+          inline
+          :model="state.ruleForm"
+          :rules="state.rules"
+          ref="formRef"
+          size="default"
+          label-width="125px"
+          class="mt5">
+        <el-form-item label="微信发票申请id" prop="applyId">
+          <el-input
+              v-model.trim="state.ruleForm.applyId"
+              placeholder="微信发票申请id"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="用户id" prop="userId">
+          <el-input
+              v-model.trim="state.ruleForm.userId"
+              placeholder="用户id"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="发票抬头填写人的openid" prop="openid">
+          <el-input
+              v-model.trim="state.ruleForm.openid"
+              placeholder="发票抬头填写人的openid"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="发票关联订单详情" prop="orderDetails">
+          <el-input
+              v-model.trim="state.ruleForm.orderDetails"
+              placeholder="发票关联订单详情"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="累积充电量(度)" prop="totalPower">
+          <el-input
+              v-model.trim="state.ruleForm.totalPower"
+              placeholder="累积充电量(度)"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="累积总金额(分)" prop="totalMoney">
+          <el-input
+              v-model.trim="state.ruleForm.totalMoney"
+              placeholder="累积总金额(分)"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="累积电费(分)" prop="elecMoney">
+          <el-input
+              v-model.trim="state.ruleForm.elecMoney"
+              placeholder="累积电费(分)"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="累积服务费(分)" prop="serviceMoney">
+          <el-input
+              v-model.trim="state.ruleForm.serviceMoney"
+              placeholder="累积服务费(分)"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="服务费优惠金额(分)" prop="serviceMoneyDiscount">
+          <el-input
+              v-model.trim="state.ruleForm.serviceMoneyDiscount"
+              placeholder="服务费优惠金额(分)"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="接收发票邮箱" prop="email">
+          <el-input
+              v-model.trim="state.ruleForm.email"
+              placeholder="接收发票邮箱"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="电话" prop="phone">
+          <el-input
+              v-model.trim="state.ruleForm.phone"
+              placeholder="电话"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="发票类型:INDIVIDUAL-个人 ORGANIZATION-企业" prop="invoiceType">
+          <el-input
+              v-model.trim="state.ruleForm.invoiceType"
+              placeholder="发票类型:INDIVIDUAL-个人 ORGANIZATION-企业"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="发票抬头名称" prop="invoiceTitle">
+          <el-input
+              v-model.trim="state.ruleForm.invoiceTitle"
+              placeholder="发票抬头名称"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="公司税号" prop="taxId">
+          <el-input
+              v-model.trim="state.ruleForm.taxId"
+              placeholder="公司税号"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="公司地址" prop="address">
+          <el-input
+              v-model.trim="state.ruleForm.address"
+              placeholder="公司地址"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="开户银行" prop="bankName">
+          <el-input
+              v-model.trim="state.ruleForm.bankName"
+              placeholder="开户银行"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="银行账户" prop="bankAccount">
+          <el-input
+              v-model.trim="state.ruleForm.bankAccount"
+              placeholder="银行账户"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="发票金额(单位:分)" prop="invoiceAmount">
+          <el-input
+              v-model.trim="state.ruleForm.invoiceAmount"
+              placeholder="发票金额(单位:分)"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="税额详情信息" prop="taxInfo">
+          <el-input
+              v-model.trim="state.ruleForm.taxInfo"
+              placeholder="税额详情信息"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="开票人" prop="biller">
+          <el-input
+              v-model.trim="state.ruleForm.biller"
+              placeholder="开票人"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="发票状态:0-待开票 1-已开票 2-已作废" prop="status">
+          <el-input
+              v-model.trim="state.ruleForm.status"
+              placeholder="发票状态:0-待开票 1-已开票 2-已作废"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input
+              v-model.trim="state.ruleForm.remark"
+              placeholder="备注"
+              clearable
+              class="wd200">
+          </el-input>
+        </el-form-item>
+      </el-form>
+
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button @click="onCancel" size="default">取 消</el-button>
+          <el-button :loading="state.btnLoading" type="primary" @click="onSubmit" size="default">{{ state.dialog.submitTxt }}</el-button>
+        </div>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script setup lang="ts" name="InvoiceDialog">
+import {defineAsyncComponent, reactive, onMounted, ref} from 'vue';
+import {Msg} from "/@/utils/message";
+import {$body, $get} from "/@/utils/request";
+import u from '/@/utils/u'
+
+
+// 定义子组件向父组件传值/事件
+const emit = defineEmits(['refresh']);
+const formRef = ref();
+//定义初始变量,重置使用
+const initState = () => ({
+  ruleForm: {
+    id: 0
+  },
+  btnLoading: false,
+  dialog: {
+    isShowDialog: false,
+    type: '',
+    title: '',
+    submitTxt: '',
+  },
+  rules: {},
+})
+
+// 定义变量内容
+const state = reactive(initState());
+
+
+// 打开弹窗
+const open = (action: string = 'add', row: any) => {
+  state.dialog.title = u.dialog.actions[action].title + "『发票记录表』"
+  state.dialog.submitTxt = u.dialog.actions[action].btn + "『发票记录表』"
+  state.dialog.isShowDialog = true;
+  if (action !== 'add') {
+    loadData(row.id);
+  } else {
+    state.ruleForm = Object.assign(state.ruleForm, row);
+  }
+};
+// 关闭弹窗
+const onClose = () => {
+  state.dialog.isShowDialog = false;
+  Object.assign(state, initState())
+};
+// 取消
+const onCancel = () => {
+  onClose();
+};
+// 提交
+const onSubmit = () => {
+  formRef.value.validate((valid: boolean) => {
+    if (valid) {
+      state.btnLoading = true;
+      const url = state.ruleForm.id > 0 ? "invoice/modify" : "invoice/add"
+      $body(url, state.ruleForm).then(() => {
+        state.btnLoading = false;
+        Msg.message('操作成功');
+        console.log('submit!')
+        onClose();
+        emit('refresh');
+      })
+    }
+  }).catch(() => {
+    state.btnLoading = false;
+    Msg.message('请先完整填写表单', 'error');
+  })
+};
+
+const handleFormChange = (formData: any) => {
+  console.log(formData)
+}
+
+// 初始化表格数据
+const loadData = (id: number) => {
+  $get(`invoice/detail/${id}`).then((res: any) => {
+    state.ruleForm = res;
+  })
+}
+
+// 暴露变量
+defineExpose({
+  open
+});
+
+
+</script>

+ 1 - 1
admin-web/src/views/admin/invoice/index.vue

@@ -149,7 +149,7 @@ import ExtPage from '/@/components/form/ExtPage.vue'
 import mittBus from '/@/utils/mitt';
 import ExtDSelect from "/@/components/form/ExtDSelect.vue";
 
-const InvoiceDialog = defineAsyncComponent(() => import("/@/views/page/InvoiceDialog.vue"));
+const InvoiceDialog = defineAsyncComponent(() => import("/@/views/admin/invoice/dialog.vue"));
 
 //定义引用
 const queryRef = ref();