CzRger vor 9 Monaten
Ursprung
Commit
95d87b750f

snowy-admin-web/src/api/biz/qyCheckListApi.js → snowy-admin-web/src/api/yqyc/qyCheckListApi.js


+ 1 - 0
snowy-admin-web/src/style/cus.less

@@ -29,6 +29,7 @@
 	position: relative;
 	padding-left: 10px;
 	box-sizing: border-box;
+	margin: 10px 0;
 	&:before {
 		content: '';
 		position: absolute;

+ 2 - 2
snowy-admin-web/src/views/biz/qychecklist/detail.vue

@@ -51,7 +51,7 @@
 <script setup name="qyCheckListDetail">
 	import { cloneDeep } from 'lodash-es'
 	import { required } from '@/utils/formRules'
-	import qyCheckListApi from '@/api/biz/qyCheckListApi'
+	import qyCheckListApi from '@/api/yqyc/qyCheckListApi'
 	// 抽屉状态
 	const emit = defineEmits({ successful: null })
 	const formRef = ref()
@@ -104,4 +104,4 @@
 </script>
 
 <style lang="less" scoped>
-</style>
+</style>

+ 2 - 2
snowy-admin-web/src/views/biz/qychecklist/index.vue

@@ -50,7 +50,7 @@
 <script setup name="qychecklist">
 	import { cloneDeep } from 'lodash-es'
 	import Detail from './detail.vue'
-	import qyCheckListApi from '@/api/biz/qyCheckListApi'
+	import qyCheckListApi from '@/api/yqyc/qyCheckListApi'
 	import downloadUtil from "@/utils/downloadUtil";
     const { proxy } = getCurrentInstance()
 	const tableRef = ref()
@@ -175,4 +175,4 @@
 </script>
 
 <style lang="less" scoped>
-</style>
+</style>

+ 1 - 1
snowy-admin-web/src/views/yqyc/general-ledger/one/index.vue

@@ -93,7 +93,7 @@
           </a>
         </a-col>
       </a-row>
-    </a-form>
+<!--    </a-form>-->
     <s-table
       ref="tableRef"
       :columns="columns"

+ 304 - 222
snowy-admin-web/src/views/yqyc/zero/enterprise-qualification/detail.vue

@@ -1,230 +1,312 @@
 <template>
-    <a-card :bordered="false">
-		<a-page-header
-            :title="formData.id ? '编辑企业资质备案' : '新增企业资质备案'"
-			@back="onClose"
-		>
-			<template #extra>
-				<a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
-				<a-popconfirm title="请确认是否保存?" @confirm="onSubmit" v-if="!isView">
-                    <a-button type="primary" :loading="submitLoading">保存</a-button>
-                </a-popconfirm>
-			</template>
-		</a-page-header>
-		<a-form ref="formRef" :model="formData" :rules="formRules" layout="vertical">
-            <a-row :gutter="16">
-                <a-col :span="12">
-                    <a-form-item label="资质类型:" name="zzType">
-                        <a-radio-group v-model:value="formData.zzType" :disabled="isView" placeholder="请选择资质类型" :options="zzTypeOptions" />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="备案类型:" name="baType">
-                        <a-select v-model:value="formData.baType" :disabled="isView" placeholder="请选择备案类型" :options="baTypeOptions" show-search allow-clear option-filter-prop="label"/>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="统一社会信用代码:" name="companyCode">
-                        <a-input v-model:value="formData.companyCode" :disabled="isView" placeholder="请输入统一社会信用代码" allow-clear />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="企业注册名称:" name="companyName">
-                        <a-input v-model:value="formData.companyName" :disabled="isView" placeholder="请输入企业注册名称" allow-clear />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="法定代表人:" name="companyLegal">
-                        <a-input v-model:value="formData.companyLegal" :disabled="isView" placeholder="请输入法定代表人" allow-clear />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="法定代表人联系电话:" name="companyLegalPhone">
-                        <a-input v-model:value="formData.companyLegalPhone" :disabled="isView" placeholder="请输入法定代表人联系电话" allow-clear />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="联系人:" name="companyLinkMan">
-                        <a-input v-model:value="formData.companyLinkMan" :disabled="isView" placeholder="请输入联系人" allow-clear />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="企业类型:" name="companyType">
-                        <a-select v-model:value="formData.companyType" :disabled="isView" placeholder="请选择企业类型" :options="companyTypeOptions" show-search allow-clear option-filter-prop="label"/>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="注册资本:" name="companyRegisteredCapital">
-                        <a-input v-model:value="formData.companyRegisteredCapital" :disabled="isView" placeholder="请输入注册资本" allow-clear />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="成立日期:" name="companyRegisterDate">
-                        <a-date-picker v-model:value="formData.companyRegisterDate" :disabled="isView" value-format="YYYY-MM-DD HH:mm:ss" show-time placeholder="请选择成立日期" style="width: 100%" allow-clear/>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="企业地址:" name="companyAddress">
-                        <a-input v-model:value="formData.companyAddress" :disabled="isView" placeholder="请输入企业地址" allow-clear />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="营业期限:" name="companyDeadline">
-                        <a-input v-model:value="formData.companyDeadline" :disabled="isView" placeholder="请输入营业期限" allow-clear />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="登记机关:" name="companyRegistration">
-                        <a-input v-model:value="formData.companyRegistration" :disabled="isView" placeholder="请输入登记机关" allow-clear />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="申报企业编号:" name="companyApplyCode">
-                        <a-input v-model:value="formData.companyApplyCode" :disabled="isView" placeholder="请输入申报企业编号" allow-clear />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="监管场所:" name="companySupervisionPlaceType">
-                        <a-select v-model:value="formData.companySupervisionPlaceType" :disabled="isView" placeholder="请选择监管场所" :options="companySupervisionPlaceTypeOptions" show-search allow-clear option-filter-prop="label"/>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="主管海关:" name="companyMainHgType">
-                        <a-select v-model:value="formData.companyMainHgType" :disabled="isView" placeholder="请选择主管海关" :options="companyMainHgTypeOptions" show-search allow-clear option-filter-prop="label"/>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="经营范围:" name="companyJyFw">
-                        <a-textarea v-model:value="formData.companyJyFw" :disabled="isView" placeholder="请输入经营范围" :auto-size="{ minRows: 3, maxRows: 5 }" />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="申报类型:" name="applyType">
-                        <a-select v-model:value="formData.applyType" :disabled="isView" placeholder="请选择申报类型" :options="applyTypeOptions" show-search allow-clear option-filter-prop="label"/>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="申报时间:" name="applyTime">
-                        <a-date-picker v-model:value="formData.applyTime" :disabled="isView" value-format="YYYY-MM-DD HH:mm:ss" show-time placeholder="请选择申报时间" style="width: 100%" allow-clear/>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="申报人:" name="applyMan">
-                        <a-input v-model:value="formData.applyMan" :disabled="isView" placeholder="请输入申报人" allow-clear />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="享惠类型:" name="applyXhType">
-                        <a-select v-model:value="formData.applyXhType" :disabled="isView" placeholder="请选择享惠类型" :options="applyXhTypeOptions" show-search allow-clear option-filter-prop="label"/>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="上传附件:" name="applyUrl">
-                        <xn-upload v-model:value="formData.applyUrl" :disabled="isView" />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="鼓励类产品目录:" name="applyCatalogue">
-                        <a-textarea v-model:value="formData.applyCatalogue" :disabled="isView" placeholder="请输入鼓励类产品目录" :auto-size="{ minRows: 3, maxRows: 5 }" />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="备注内容:" name="applyRemark">
-                        <a-textarea v-model:value="formData.applyRemark" :disabled="isView" placeholder="请输入备注内容" :auto-size="{ minRows: 3, maxRows: 5 }" />
-                    </a-form-item>
-                </a-col>
-            </a-row>
-        </a-form>
-	</a-card>
+  <a-card :bordered="false">
+    <a-page-header
+      :title="formData.id ? '编辑企业资质备案' : '新增企业资质备案'"
+      @back="onClose"
+    >
+      <template #extra>
+        <a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
+        <a-popconfirm title="请确认是否保存?" @confirm="onTemp" v-if="!isView">
+          <a-button style="margin-right: 8px" :loading="submitLoading">保存</a-button>
+        </a-popconfirm>
+        <a-popconfirm title="请确认是否申报?" @confirm="onSubmit" v-if="!isView">
+          <a-button type="primary" :loading="submitLoading">申报</a-button>
+        </a-popconfirm>
+      </template>
+    </a-page-header>
+    <a-form ref="formRef" :model="formData" :rules="formRules" layout="inline">
+      <a-row :gutter="[0, 16]">
+        <a-col :span="24">
+          <a-form-item label="资质类型:" name="zzType">
+            <a-radio-group v-model:value="formData.zzType" :disabled="isView" placeholder="请选择资质类型"
+                           :options="zzTypeOptions"/>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <div class="__cus-title_1">基本信息<span style="color: #d9001b;margin-left: auto">请务必仔细核对企业基本信息</span></div>
+      <a-row :gutter="[0, 16]">
+        <a-col :span="8">
+          <a-form-item label="统一社会信用代码:" name="companyCode">
+            <a-input v-model:value="formData.companyCode" :disabled="true" placeholder="请输入统一社会信用代码"
+                     allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="企业注册名称(全):" name="companyName">
+            <a-input v-model:value="formData.companyName" :disabled="true" placeholder="请输入企业注册名称"
+                     allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="法定代表人:" name="companyLegal">
+            <a-input v-model:value="formData.companyLegal" :disabled="true" placeholder="请输入法定代表人"
+                     allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="法定代表人联系电话:" name="companyLegalPhone">
+            <a-input v-model:value="formData.companyLegalPhone" :disabled="true"
+                     placeholder="请输入法定代表人联系电话" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="联系人:" name="companyLinkMan">
+            <a-input v-model:value="formData.companyLinkMan" :disabled="true" placeholder="请输入联系人" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="联系人电话:" name="companyLinkPhone">
+            <a-input v-model:value="formData.companyLinkPhone" :disabled="true" placeholder="请输入联系人电话" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="企业类型:" name="companyType">
+            <a-select v-model:value="formData.companyType" :disabled="true" placeholder="请选择企业类型"
+                      :options="companyTypeOptions" show-search allow-clear option-filter-prop="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="注册资本:" name="companyRegisteredCapital">
+            <a-input v-model:value="formData.companyRegisteredCapital" :disabled="true" placeholder="请输入注册资本"
+                     allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="成立日期:" name="companyRegisterDate">
+            <a-date-picker v-model:value="formData.companyRegisterDate" :disabled="true"
+                           value-format="YYYY-MM-DD HH:mm:ss" show-time placeholder="请选择成立日期" style="width: 100%"
+                           allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="企业地址:" name="companyAddress">
+            <a-input v-model:value="formData.companyAddress" :disabled="true" placeholder="请输入企业地址"
+                     allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="营业期限:" name="companyDeadline">
+            <a-input v-model:value="formData.companyDeadline" :disabled="true" placeholder="请输入营业期限"
+                     allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="登记机关:" name="companyRegistration">
+            <a-input v-model:value="formData.companyRegistration" :disabled="true" placeholder="请输入登记机关"
+                     allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="申报企业编号:" name="companyApplyCode">
+            <a-input v-model:value="formData.companyApplyCode" :disabled="true" placeholder="请输入申报企业编号"
+                     allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="监管场所:" name="companySupervisionPlaceType">
+            <a-select v-model:value="formData.companySupervisionPlaceType" :disabled="true"
+                      placeholder="请选择监管场所" :options="companySupervisionPlaceTypeOptions" show-search allow-clear
+                      option-filter-prop="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="主管海关:" name="companyMainHgType">
+            <a-select v-model:value="formData.companyMainHgType" :disabled="true" placeholder="请选择主管海关"
+                      :options="companyMainHgTypeOptions" show-search allow-clear option-filter-prop="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item label="经营范围:" name="companyJyFw">
+            <a-textarea v-model:value="formData.companyJyFw" :disabled="true" placeholder="请输入经营范围"
+                        :rows="4"/>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <div class="__cus-title_1">申报信息</div>
+      <a-row :gutter="[0, 16]">
+        <a-col :span="8">
+          <a-form-item label="申报类型:" name="baType">
+            <a-select v-model:value="formData.baType" :disabled="true" placeholder="请选择备案类型"
+                      :options="baTypeOptions" show-search allow-clear option-filter-prop="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="申报时间:" name="applyTime">
+            <a-date-picker v-model:value="formData.applyTime" :disabled="true" value-format="YYYY-MM-DD HH:mm:ss"
+                           show-time placeholder="请选择申报时间" style="width: 100%" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="申报人:" name="applyMan">
+            <a-input v-model:value="formData.applyMan" :disabled="true" placeholder="请输入申报人" allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="8">
+          <a-form-item label="享惠类型:" name="applyXhType">
+            <a-select v-model:value="formData.applyXhType" :disabled="isView" placeholder="请选择享惠类型"
+                      :options="applyXhTypeOptions" show-search allow-clear option-filter-prop="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="16">
+          <a-form-item label="上传附件:" name="applyUrl">
+            <xn-upload v-model:value="formData.applyUrl" :disabled="isView"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item label="鼓励类产品目录:" name="applyCatalogue">
+            <a-textarea v-model:value="formData.applyCatalogue" :disabled="isView" placeholder="请输入鼓励类产品目录"
+                        :rows="4"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item label="备注内容:" name="applyRemark">
+            <a-textarea v-model:value="formData.applyRemark" :disabled="isView" placeholder="请输入备注内容"
+                        :rows="4"/>
+          </a-form-item>
+        </a-col>
+      </a-row>
+    </a-form>
+  </a-card>
 </template>
 
 <script setup name="qyRecordDetail">
-	import tool from '@/utils/tool'
-	import { cloneDeep } from 'lodash-es'
-	import { required } from '@/utils/formRules'
-	import qyRecordApi from '@/api/yqyc/qyRecordApi'
-	// 抽屉状态
-	const emit = defineEmits({ successful: null })
-	const formRef = ref()
-	// 表单数据
-	const formData = ref({})
-	const submitLoading = ref(false)
-	const isView = ref(false)
-	const zzTypeOptions = ref([])
-	const baTypeOptions = ref([])
-	const companyTypeOptions = ref([])
-	const companySupervisionPlaceTypeOptions = ref([])
-	const companyMainHgTypeOptions = ref([])
-	const applyTypeOptions = ref([])
-	const applyXhTypeOptions = ref([])
-	const statusOptions = ref([])
+import tool from '@/utils/tool'
+import {cloneDeep} from 'lodash-es'
+import {required} from '@/utils/formRules'
+import qyRecordApi from '@/api/yqyc/qyRecordApi'
+import qyCheckListApi from "@/api/yqyc/qyCheckListApi";
+const { proxy } = getCurrentInstance()
 
-	// 打开抽屉
-	const onOpen = (record, view = false) => {
-	    isView.value = view
-		if (record) {
-			let recordData = cloneDeep(record)
-			formData.value = Object.assign({}, recordData)
-		}
-		zzTypeOptions.value = tool.dictList('applyzztype')
-		baTypeOptions.value = tool.dictList('qybalx')
-		companyTypeOptions.value = tool.dictList('qylx')
-		companySupervisionPlaceTypeOptions.value = tool.dictList('jtcs')
-		companyMainHgTypeOptions.value = tool.dictList('zhhg')
-		applyTypeOptions.value = tool.dictList('shenbaoleixing')
-		applyXhTypeOptions.value = tool.dictList('xhlx')
-		statusOptions.value = tool.dictList('djzt')
-	}
-	// 关闭抽屉
-	const onClose = () => {
-		formRef.value.resetFields()
-		formData.value = {}
-		isView.value = true
-		emit('onClose')
-	}
-	// 默认要校验的
-	const formRules = {
-		zzType: [required('请输入资质类型')],
-		baType: [required('请输入备案类型')],
-		companyCode: [required('请输入统一社会信用代码')],
-		companyName: [required('请输入企业注册名称')],
-		companyLegal: [required('请输入法定代表人')],
-		companyLegalPhone: [required('请输入法定代表人联系电话')],
-		companyLinkMan: [required('请输入联系人')],
-		companyType: [required('请输入企业类型')],
-		companyRegisteredCapital: [required('请输入注册资本')],
-		companyRegisterDate: [required('请输入成立日期')],
-		companyAddress: [required('请输入企业地址')],
-		companyDeadline: [required('请输入营业期限')],
-		companyRegistration: [required('请输入登记机关')],
-		companySupervisionPlaceType: [required('请输入监管场所')],
-		companyMainHgType: [required('请输入主管海关')],
-		companyJyFw: [required('请输入经营范围')],
-		applyType: [required('请输入申报类型')],
-	}
-	// 验证并提交数据
-	const onSubmit = () => {
-		formRef.value
-			.validate()
-			.then(() => {
-				submitLoading.value = true
-				const formDataParam = cloneDeep(formData.value)
-				qyRecordApi
-					.qyRecordSubmitForm(formDataParam, formDataParam.id)
-					.then(() => {
-						onClose()
-						emit('successful')
-					})
-					.finally(() => {
-						submitLoading.value = false
-					})
-			})
-			.catch(() => {})
-	}
-	// 抛出函数
-	defineExpose({
-		onOpen
-	})
+// 抽屉状态
+const emit = defineEmits({successful: null})
+const formRef = ref()
+// 表单数据
+const formData = ref({})
+const submitLoading = ref(false)
+const isView = ref(false)
+const zzTypeOptions = ref([])
+const baTypeOptions = ref([])
+const companyTypeOptions = ref([])
+const companySupervisionPlaceTypeOptions = ref([])
+const companyMainHgTypeOptions = ref([])
+const applyTypeOptions = ref([])
+const applyXhTypeOptions = ref([])
+const statusOptions = ref([])
+const userInfo = tool.data.get('USER_INFO')
+
+// 打开抽屉
+const onOpen = (record, view = false) => {
+  isView.value = view
+  qyCheckListApi.qyCheckListPage({current: 1, size: 100, companyName: record.companyName})
+  if (record) {
+    let recordData = cloneDeep(record)
+    formData.value = Object.assign({}, recordData)
+    if (record.status == '1') {
+      formData.value.applyTime = proxy.$util.YMDHms(new Date())
+    }
+  } else {
+    formData.value.applyTime = proxy.$util.YMDHms(new Date())
+    formData.value.applyMan = userInfo.name
+    formData.value.companyCode = userInfo.companyNumber
+    formData.value.companyName = userInfo.companyName
+    formData.value.companyLegal = userInfo.legalName
+    formData.value.companyLegalPhone = userInfo.legalPhone
+    formData.value.companyLinkMan = userInfo.contactName
+    formData.value.companyLinkPhone = userInfo.contactPhone
+    formData.value.companyType = userInfo.companyType
+    formData.value.companyRegisteredCapital = userInfo.registeredCapital
+    formData.value.companyRegisterDate = userInfo.establishmentData
+    formData.value.companyAddress = userInfo.companyAddress
+    formData.value.companyDeadline = userInfo.businessTerm
+    formData.value.companyRegistration = userInfo.registrationAuthority
+    formData.value.companyApplyCode = userInfo.sbqyNumber
+    formData.value.companySupervisionPlaceType = userInfo.prisonManagement
+    formData.value.companyMainHgType = userInfo.responsibleCustoms
+    formData.value.companyJyFw = userInfo.businessScope
+    formData.value.baType = 'basq'
+  }
+  zzTypeOptions.value = tool.dictList('applyzztype')
+  baTypeOptions.value = tool.dictList('qybalx')
+  companyTypeOptions.value = tool.dictList('qylx')
+  companySupervisionPlaceTypeOptions.value = tool.dictList('jtcs')
+  companyMainHgTypeOptions.value = tool.dictList('zhhg')
+  applyTypeOptions.value = tool.dictList('shenbaoleixing')
+  applyXhTypeOptions.value = tool.dictList('xhlx')
+  statusOptions.value = tool.dictList('djzt')
+}
+// 关闭抽屉
+const onClose = () => {
+  formRef.value.resetFields()
+  formData.value = {}
+  isView.value = true
+  emit('onClose')
+}
+// 默认要校验的
+const formRules = {
+  zzType: [required('请选择资质类型')],
+  baType: [required('请选择备案类型')],
+  companyCode: [required('请输入统一社会信用代码')],
+  companyName: [required('请输入企业注册名称')],
+  companyLegal: [required('请输入法定代表人')],
+  companyLegalPhone: [required('请输入法定代表人联系电话')],
+  companyLinkMan: [required('请输入联系人')],
+  companyType: [required('请选择企业类型')],
+  companyRegisteredCapital: [required('请输入注册资本')],
+  companyRegisterDate: [required('请输入成立日期')],
+  companyAddress: [required('请输入企业地址')],
+  companyDeadline: [required('请输入营业期限')],
+  companyRegistration: [required('请选择登记机关')],
+  companySupervisionPlaceType: [required('请选择监管场所')],
+  companyMainHgType: [required('请选择主管海关')],
+  companyJyFw: [required('请输入经营范围')],
+  applyType: [required('请选择申报类型')],
+}
+// 验证并提交数据
+const onSubmit = () => {
+  formRef.value
+  .validate()
+  .then(() => {
+    submitLoading.value = true
+    const formDataParam = cloneDeep(formData.value)
+    formDataParam.status = '2'
+    qyRecordApi
+    .qyRecordSubmitForm(formDataParam, formDataParam.id)
+    .then(() => {
+      onClose()
+      emit('successful')
+    })
+    .finally(() => {
+      submitLoading.value = false
+    })
+  })
+  .catch(() => {
+  })
+}
+// 验证并提交数据
+const onTemp = () => {
+  formRef.value
+  .validate()
+  .then(() => {
+    submitLoading.value = true
+    const formDataParam = cloneDeep(formData.value)
+    formDataParam.status = '1'
+    qyRecordApi
+    .qyRecordSubmitForm(formDataParam, formDataParam.id)
+    .then(() => {
+      onClose()
+      emit('successful')
+    })
+    .finally(() => {
+      submitLoading.value = false
+    })
+  })
+  .catch(() => {
+  })
+}
+// 抛出函数
+defineExpose({
+  onOpen
+})
 </script>
 
 <style lang="less" scoped>

+ 249 - 224
snowy-admin-web/src/views/yqyc/zero/enterprise-qualification/index.vue

@@ -1,234 +1,259 @@
 <template>
-	<a-card :bordered="false" v-if="indexShow">
-		<a-form ref="searchFormRef" name="advanced_search" :model="searchFormState" class="ant-advanced-search-form">
-            <a-row :gutter="24">
-                <a-col :span="6">
-                    <a-form-item label="主管海关" name="companyMainHgType">
-                        <a-select v-model:value="searchFormState.companyMainHgType" placeholder="请选择主管海关" :options="companyMainHgTypeOptions" show-search allow-clear option-filter-prop="label"/>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="6">
-                    <a-form-item label="申报时间" name="applyTime">
-                        <a-range-picker v-model:value="searchFormState.applyTime" value-format="YYYY-MM-DD HH:mm:ss" show-time allow-clear/>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="6">
-                    <a-form-item label="录入时间" name="createTime">
-                        <a-range-picker v-model:value="searchFormState.createTime" value-format="YYYY-MM-DD HH:mm:ss" show-time allow-clear/>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="6">
-                    <a-button type="primary" @click="onSearch()">查询</a-button>
-                    <a-button style="margin: 0 8px" @click="reset">重置</a-button>
-                </a-col>
-            </a-row>
-        </a-form>
-		<s-table
-			ref="tableRef"
-			:columns="columns"
-			:data="loadData"
-			:alert="options.alert.show"
-			bordered
-			:row-key="(record) => record.id"
-			:tool-config="toolConfig"
-			:row-selection="options.rowSelection"
-			v-model:filterParam="filterParam"
-			:scroll="{ x: 2000 }"
-		>
-			<template #operator class="table-operator">
-				<a-space>
-					<a-button type="primary" @click="onDetail()" v-if="hasPerm('qyRecordAdd')">
-						<template #icon><plus-outlined /></template>
-						新增
-					</a-button>
-					<xn-batch-delete
-						v-if="hasPerm('qyRecordDelete')"
-						:selectedRowKeys="selectedRowKeys"
-						@batchDelete="deleteBatchQyRecord"
-					/>
-					<a-button @click="onExport" v-if="hasPerm('qyRecordBatchExport')">
-                        <template #icon><export-outlined /></template>
-                        批量导出
-                    </a-button>
-				</a-space>
-			</template>
-			<template #bodyCell="{ column, record }">
-				<template v-if="column.dataIndex === 'companyMainHgType'">
-					{{ $TOOL.dictTypeData('zhhg', record.companyMainHgType) }}
-				</template>
-				<template v-if="column.dataIndex === 'applyType'">
-					{{ $TOOL.dictTypeData('shenbaoleixing', record.applyType) }}
-				</template>
-				<template v-if="column.dataIndex === 'status'">
-					{{ $TOOL.dictTypeData('djzt', record.status) }}
-				</template>
-				<template v-if="column.dataIndex === 'action'">
-					<a-space>
-					    <a @click="onDetail(record, true)" v-if="hasPerm('qyRecordView')">查看</a>
-                        <a-divider type="vertical" v-if="hasPerm('qyRecordView') && hasPerm(['qyRecordEdit', 'qyRecordDelete'], 'or')" />
-						<a @click="onDetail(record)" v-if="hasPerm('qyRecordEdit')">编辑</a>
-						<a-divider type="vertical" v-if="hasPerm(['qyRecordEdit', 'qyRecordDelete'], 'and')" />
-						<a-popconfirm title="确定要删除吗?" @confirm="deleteQyRecord(record)">
-							<a-button type="link" danger size="small" v-if="hasPerm('qyRecordDelete')">删除</a-button>
-						</a-popconfirm>
-					</a-space>
-				</template>
-			</template>
-		</s-table>
-	</a-card>
-	<Detail v-else ref="detailRef" @onClose="indexShow = true" @successful="onSearch()" />
+  <a-card :bordered="false" v-if="indexShow">
+    <a-tabs v-model:activeKey="searchFormState.qybalx" @change="onSearch()">
+      <a-tab-pane key="basq" tab="备案申请"/>
+      <a-tab-pane key="bgsq" tab="变更申请"/>
+      <a-tab-pane key="zxsq" tab="注销申请"/>
+    </a-tabs>
+    <a-form ref="searchFormRef" name="advanced_search" :model="searchFormState" class="ant-advanced-search-form">
+      <a-row :gutter="24">
+        <a-col :span="6">
+          <a-form-item label="主管海关" name="companyMainHgType">
+            <a-select v-model:value="searchFormState.companyMainHgType" placeholder="请选择主管海关"
+                      :options="companyMainHgTypeOptions" show-search allow-clear option-filter-prop="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="申报时间" name="applyTime">
+            <a-range-picker v-model:value="searchFormState.applyTime" value-format="YYYY-MM-DD HH:mm:ss" show-time
+                            allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="录入时间" name="createTime">
+            <a-range-picker v-model:value="searchFormState.createTime" value-format="YYYY-MM-DD HH:mm:ss" show-time
+                            allow-clear/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="单据状态" name="status">
+            <a-select v-model:value="searchFormState.status	" placeholder="请选择单据状态"
+                      :options="statusOptions" show-search allow-clear option-filter-prop="label"/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6" :offset="18">
+          <div style="width: 100%;display: flex;justify-content: flex-end">
+            <a-button type="primary" @click="onSearch()">查询</a-button>
+            <a-button style="margin: 0 0 0 8px" @click="reset">重置</a-button>
+          </div>
+        </a-col>
+      </a-row>
+    </a-form>
+    <s-table
+      ref="tableRef"
+      :columns="columns"
+      :data="loadData"
+      :alert="options.alert.show"
+      bordered
+      :row-key="(record) => record.id"
+      :tool-config="toolConfig"
+      :row-selection="options.rowSelection"
+      v-model:filterParam="filterParam"
+      :scroll="{ x: 2000 }"
+    >
+      <template #operator class="table-operator">
+        <a-space>
+          <a-button type="primary" @click="onDetail()" v-if="hasPerm('qyRecordAdd') && searchFormState.qybalx === 'basq'">
+            <template #icon>
+              <plus-outlined/>
+            </template>
+            新增
+          </a-button>
+          <xn-batch-delete
+            v-if="hasPerm('qyRecordDelete')"
+            :selectedRowKeys="selectedRowKeys"
+            @batchDelete="deleteBatchQyRecord"
+          />
+          <a-button @click="onExport" v-if="hasPerm('qyRecordBatchExport')">
+            <template #icon>
+              <export-outlined/>
+            </template>
+            批量导出
+          </a-button>
+        </a-space>
+      </template>
+      <template #bodyCell="{ column, record }">
+        <template v-if="column.dataIndex === 'companyMainHgType'">
+          {{ $TOOL.dictTypeData('zhhg', record.companyMainHgType) }}
+        </template>
+        <template v-if="column.dataIndex === 'applyType'">
+          {{ $TOOL.dictTypeData('shenbaoleixing', record.applyType) }}
+        </template>
+        <template v-if="column.dataIndex === 'status'">
+          {{ $TOOL.dictTypeData('djzt', record.status) }}
+        </template>
+        <template v-if="column.dataIndex === 'action'">
+          <a-space>
+            <a @click="onDetail(record, true)" v-if="hasPerm('qyRecordView')">查看</a>
+            <a-divider type="vertical"
+                       v-if="hasPerm('qyRecordView') && hasPerm(['qyRecordEdit', 'qyRecordDelete'], 'or')"/>
+            <a @click="onDetail(record)" v-if="hasPerm('qyRecordEdit')">编辑</a>
+            <a-divider type="vertical" v-if="hasPerm(['qyRecordEdit', 'qyRecordDelete'], 'and')"/>
+            <a-popconfirm title="确定要删除吗?" @confirm="deleteQyRecord(record)">
+              <a-button type="link" danger size="small" v-if="hasPerm('qyRecordDelete')">删除</a-button>
+            </a-popconfirm>
+          </a-space>
+        </template>
+      </template>
+    </s-table>
+  </a-card>
+  <Detail v-else ref="detailRef" @onClose="indexShow = true" @successful="onSearch()"/>
 </template>
 
 <script setup name="qyrecord">
-	import tool from '@/utils/tool'
-	import { cloneDeep } from 'lodash-es'
-	import Detail from './detail.vue'
-	import qyRecordApi from '@/api/yqyc/qyRecordApi'
-	import downloadUtil from "@/utils/downloadUtil";
-    const { proxy } = getCurrentInstance()
-	const searchFormState = ref({})
-	const searchFormStateReal = ref({}) // 点击搜索后备份的查询参数
-	const searchFormRef = ref()
-	const tableRef = ref()
-	const filterParam = ref({})
-	const detailRef = ref()
-	const indexShow = ref(true)
-	const toolConfig = { refresh: true, height: true, columnSetting: true, striped: false }
-	const columns = [
-		{
-			title: '统一社会信用代码',
-			dataIndex: 'companyCode',
-		},
-		{
-			title: '企业注册名称',
-			dataIndex: 'companyName',
-		},
-		{
-			title: '申报企业编号',
-			dataIndex: 'companyApplyCode',
-		},
-		{
-			title: '主管海关',
-			dataIndex: 'companyMainHgType',
-		},
-		{
-			title: '申报类型',
-			dataIndex: 'applyType',
-		},
-		{
-			title: '申报时间',
-			dataIndex: 'applyTime',
-		},
-		{
-			title: '单据状态',
-			dataIndex: 'status',
-		},
-		{
-			title: '录入时间',
-			dataIndex: 'createTime',
-		},
-	]
-	// 操作栏通过权限判断是否显示
-	if (hasPerm(['qyRecordEdit', 'qyRecordDelete'])) {
-		columns.push({
-			title: '操作',
-			dataIndex: 'action',
-			align: 'center',
-			width: 200,
-			fixed: 'right',
-		})
-	}
-	const selectedRowKeys = ref([])
-	// 列表选择配置
-	const options = {
-		// columns数字类型字段加入 needTotal: true 可以勾选自动算账
-		alert: {
-			show: true,
-			clear: () => {
-				selectedRowKeys.value = ref([])
-			}
-		},
-		rowSelection: {
-			onChange: (selectedRowKey, selectedRows) => {
-				selectedRowKeys.value = selectedRowKey
-			}
-		}
-	}
-	const loadData = (parameter) => {
-        tableRef.value.clearSelected()
-        // applyTime范围查询条件重载
-        if (searchFormStateReal.value.applyTime) {
-            searchFormStateReal.value.startApplyTime = searchFormStateReal.value.applyTime[0]
-            searchFormStateReal.value.endApplyTime = searchFormStateReal.value.applyTime[1]
-            delete searchFormStateReal.value.applyTime
-        }
-        // createTime范围查询条件重载
-        if (searchFormStateReal.value.createTime) {
-            searchFormStateReal.value.startCreateTime = searchFormStateReal.value.createTime[0]
-            searchFormStateReal.value.endCreateTime = searchFormStateReal.value.createTime[1]
-            delete searchFormStateReal.value.createTime
-        }
-        return qyRecordApi.qyRecordPage(Object.assign(parameter, searchFormStateReal.value)).then((data) => {
-            return data
-        })
-    }
-    // 搜索同时备份参数
-    const onSearch = (parameter) => {
-      searchFormStateReal.value = cloneDeep(Object.assign(searchFormState.value, filterParam.value))
-        nextTick(() => {
-            tableRef.value.refresh(parameter)
-        })
-    }
-    // 重置
-    const reset = () => {
-        searchFormRef.value.resetFields()
-        onSearch(true)
+import tool from '@/utils/tool'
+import {cloneDeep} from 'lodash-es'
+import Detail from './detail.vue'
+import qyRecordApi from '@/api/yqyc/qyRecordApi'
+import downloadUtil from "@/utils/downloadUtil";
+
+const {proxy} = getCurrentInstance()
+const searchFormState = ref({
+  qybalx: 'basq'
+})
+const searchFormStateReal = ref(searchFormState.value) // 点击搜索后备份的查询参数
+const searchFormRef = ref()
+const tableRef = ref()
+const filterParam = ref({})
+const detailRef = ref()
+const indexShow = ref(true)
+const toolConfig = {refresh: true, height: true, columnSetting: true, striped: false}
+const columns = [
+  {
+    title: '统一社会信用代码',
+    dataIndex: 'companyCode',
+  },
+  {
+    title: '企业注册名称',
+    dataIndex: 'companyName',
+  },
+  {
+    title: '申报企业编号',
+    dataIndex: 'companyApplyCode',
+  },
+  {
+    title: '主管海关',
+    dataIndex: 'companyMainHgType',
+  },
+  {
+    title: '申报类型',
+    dataIndex: 'applyType',
+  },
+  {
+    title: '申报时间',
+    dataIndex: 'applyTime',
+  },
+  {
+    title: '单据状态',
+    dataIndex: 'status',
+  },
+  {
+    title: '录入时间',
+    dataIndex: 'createTime',
+  },
+]
+// 操作栏通过权限判断是否显示
+if (hasPerm(['qyRecordEdit', 'qyRecordDelete'])) {
+  columns.push({
+    title: '操作',
+    dataIndex: 'action',
+    align: 'center',
+    width: 200,
+    fixed: 'right',
+  })
+}
+const selectedRowKeys = ref([])
+// 列表选择配置
+const options = {
+  // columns数字类型字段加入 needTotal: true 可以勾选自动算账
+  alert: {
+    show: true,
+    clear: () => {
+      selectedRowKeys.value = ref([])
     }
-	// 删除
-	const deleteQyRecord = (record) => {
-		let params = [
-			{
-				id: record.id
-			}
-		]
-		qyRecordApi.qyRecordDelete(params).then(() => {
-			tableRef.value.refresh(true)
-		})
-	}
-	// 批量删除
-	const deleteBatchQyRecord = (params) => {
-		qyRecordApi.qyRecordDelete(params).then(() => {
-			tableRef.value.clearRefreshSelected()
-		})
-	}
-	// 批量导出
-    const onExport = () => {
-        const params = {
-            ...filterParam.value
-        }
-        if (selectedRowKeys.value.length > 0) {
-            params.ids = selectedRowKeys.value
-        } else {
-            Object.entries(searchFormStateReal.value).forEach(([key, value]) => {
-                console.log(key)
-                if (proxy.$util.isValue(value)) {
-                    params[key] = value
-                }
-            })
-        }
-        qyRecordApi.qyRecordExport(params).then((res) => {
-            downloadUtil.resultDownload(res)
-            tableRef.value.clearSelected()
-        })
+  },
+  rowSelection: {
+    onChange: (selectedRowKey, selectedRows) => {
+      selectedRowKeys.value = selectedRowKey
     }
-	// 切换至表单
-    const onDetail = (record = null, view) => {
-    	indexShow.value = false
-    	nextTick(() => {
-            detailRef.value.onOpen(record, view)
-    	})
+  }
+}
+const loadData = (parameter) => {
+  tableRef.value.clearSelected()
+  // applyTime范围查询条件重载
+  if (searchFormStateReal.value.applyTime) {
+    searchFormStateReal.value.startApplyTime = searchFormStateReal.value.applyTime[0]
+    searchFormStateReal.value.endApplyTime = searchFormStateReal.value.applyTime[1]
+    delete searchFormStateReal.value.applyTime
+  }
+  // createTime范围查询条件重载
+  if (searchFormStateReal.value.createTime) {
+    searchFormStateReal.value.startCreateTime = searchFormStateReal.value.createTime[0]
+    searchFormStateReal.value.endCreateTime = searchFormStateReal.value.createTime[1]
+    delete searchFormStateReal.value.createTime
+  }
+  return qyRecordApi.qyRecordPage(Object.assign(parameter, searchFormStateReal.value)).then((data) => {
+    return data
+  })
+}
+// 搜索同时备份参数
+const onSearch = (parameter) => {
+  searchFormStateReal.value = cloneDeep(Object.assign(searchFormState.value, filterParam.value))
+  nextTick(() => {
+    tableRef.value.refresh(parameter)
+  })
+}
+// 重置
+const reset = () => {
+  searchFormRef.value.resetFields()
+  onSearch(true)
+}
+// 删除
+const deleteQyRecord = (record) => {
+  let params = [
+    {
+      id: record.id
     }
-	const companyMainHgTypeOptions = tool.dictList('zhhg')
+  ]
+  qyRecordApi.qyRecordDelete(params).then(() => {
+    tableRef.value.refresh(true)
+  })
+}
+// 批量删除
+const deleteBatchQyRecord = (params) => {
+  qyRecordApi.qyRecordDelete(params).then(() => {
+    tableRef.value.clearRefreshSelected()
+  })
+}
+// 批量导出
+const onExport = () => {
+  const params = {
+    ...filterParam.value
+  }
+  if (selectedRowKeys.value.length > 0) {
+    params.ids = selectedRowKeys.value
+  } else {
+    Object.entries(searchFormStateReal.value).forEach(([key, value]) => {
+      console.log(key)
+      if (proxy.$util.isValue(value)) {
+        params[key] = value
+      }
+    })
+  }
+  qyRecordApi.qyRecordExport(params).then((res) => {
+    downloadUtil.resultDownload(res)
+    tableRef.value.clearSelected()
+  })
+}
+// 切换至表单
+const onDetail = (record = null, view) => {
+  indexShow.value = false
+  nextTick(() => {
+    detailRef.value.onOpen(record, view)
+  })
+}
+const companyMainHgTypeOptions = tool.dictList('zhhg')
+const statusOptions = tool.dictList('djzt')
 </script>
 
 <style lang="less" scoped>

+ 1 - 1
snowy-plugin/snowy-plugin-gen/src/main/resources/frontend/index.vue.btl

@@ -171,7 +171,7 @@
     const { proxy } = getCurrentInstance()
 	<% if (searchCount > 0) { %>
 	const searchFormState = ref({})
-	const searchFormStateReal = ref({}) // 点击搜索后备份的查询参数
+	const searchFormStateReal = ref(searchFormState.value) // 点击搜索后备份的查询参数
 	const searchFormRef = ref()
 	<% } %>
 	const tableRef = ref()

+ 1 - 1
snowy-plugin/snowy-plugin-gen/src/main/resources/frontend/index_inside.vue.btl

@@ -171,7 +171,7 @@
     const { proxy } = getCurrentInstance()
 	<% if (searchCount > 0) { %>
 	const searchFormState = ref({})
-	const searchFormStateReal = ref({}) // 点击搜索后备份的查询参数
+	const searchFormStateReal = ref(searchFormState.value) // 点击搜索后备份的查询参数
 	const searchFormRef = ref()
 	<% } %>
 	const tableRef = ref()