diff --git a/main/src/components/index.js b/main/src/components/index.js
new file mode 100644
index 0000000..4b90587
--- /dev/null
+++ b/main/src/components/index.js
@@ -0,0 +1,7 @@
+import SvgIcon from './svg-icon';
+import CustomTableOperate from './custom-table-operate';
+import CustomImportExcel from './custom-import-excel';
+import CustomRichEditor from './custom-rich-editor';
+import CustomEchartBar from './custom-echart-bar';
+
+export { SvgIcon, CustomTableOperate, CustomImportExcel, CustomRichEditor, CustomEchartBar };
diff --git a/sub-government-affairs-service/src/apis/coding.js b/sub-government-affairs-service/src/apis/coding.js
new file mode 100644
index 0000000..a927a22
--- /dev/null
+++ b/sub-government-affairs-service/src/apis/coding.js
@@ -0,0 +1,72 @@
+import request from '@/utils/axios';
+
+/**
+ * @Title: 列表
+ */
+export function GetEntityList(params = {}) {
+ return request('/trace/code/farmMange/page', {
+ method: 'GET',
+ params,
+ });
+}
+
+/**
+ * @Title: 新增
+ */
+export function AddEntity(data = {}) {
+ return request('/trace/code/farmMange/save', {
+ method: 'POST',
+ data,
+ });
+}
+
+/**
+ * @Title: 修改
+ */
+export function UpdateEntity(data = {}) {
+ return request('/trace/code/farmMange/edit', {
+ method: 'PUT',
+ data,
+ });
+}
+
+/**
+ * @Title: 删除
+ */
+export function DeleteEntity(params = {}) {
+ return request('/trace/code/farmMange/delete', {
+ method: 'DELETE',
+ params,
+ });
+}
+
+/**
+ * @Title: 导入
+ */
+export function ImportEntity(data = {}) {
+ return request('/trace/code/farmMange/import', {
+ method: 'POST',
+ headers: { 'Content-Type': 'multipart/form-data' },
+ data,
+ });
+}
+
+/**
+ * @Title: 导出
+ */
+export function ExportEntity(params = {}) {
+ return request('/trace/code/farmMange/export', {
+ method: 'GET',
+ params,
+ responseType: 'blob',
+ });
+}
+
+/**
+ * @Title: 详情
+ */
+export function GetEntity(params = {}) {
+ return request(`/trace/code/farmMange/qualityCheck/${params?.id}`, {
+ method: 'GET',
+ });
+}
diff --git a/sub-government-affairs-service/src/apis/index.js b/sub-government-affairs-service/src/apis/index.js
new file mode 100644
index 0000000..108e284
--- /dev/null
+++ b/sub-government-affairs-service/src/apis/index.js
@@ -0,0 +1,27 @@
+import request from '@/utils/axios';
+import { isEmpty } from '@/utils';
+
+/**
+ * @Title: 获取字典
+ */
+export function CommonDicData(params = { pageNum: 1, pageSize: 20, dictType: null }) {
+ if (isEmpty(params?.dictType)) return;
+ return request(`/system/dict/data/list`, {
+ method: 'GET',
+ apisType: 'dicData',
+ params,
+ });
+}
+
+/**
+ * @Title: 上传图片
+ */
+export function CommonUpload(data, params) {
+ return request(`/upload`, {
+ method: 'POST',
+ apisType: 'upload',
+ uploadType: 'multipart/form-data',
+ data,
+ params,
+ });
+}
diff --git a/sub-government-affairs-service/src/apis/quality.js b/sub-government-affairs-service/src/apis/quality.js
new file mode 100644
index 0000000..5d2f580
--- /dev/null
+++ b/sub-government-affairs-service/src/apis/quality.js
@@ -0,0 +1,41 @@
+import request from '@/utils/axios';
+
+/**
+ * @Title: 列表
+ */
+export function GetEntityList(params) {
+ return request('/trace/code/qualityManage/page', {
+ method: 'GET',
+ params,
+ });
+}
+
+/**
+ * @Title: 新增
+ */
+export function AddEntity(data) {
+ return request('/trace/code/qualityManage/save', {
+ method: 'POST',
+ data,
+ });
+}
+
+/**
+ * @Title: 修改
+ */
+export function UpdateEntity(data) {
+ return request('/trace/code/qualityManage/edit', {
+ method: 'PUT',
+ data,
+ });
+}
+
+/**
+ * @Title: 删除
+ */
+export function DeleteEntity(params) {
+ return request('/trace/code/qualityManage/delete', {
+ method: 'DELETE',
+ params,
+ });
+}
diff --git a/sub-government-affairs-service/src/assets/template/采收赋码-导入模板.xlsx b/sub-government-affairs-service/src/assets/template/采收赋码-导入模板.xlsx
new file mode 100644
index 0000000..2f3782e
Binary files /dev/null and b/sub-government-affairs-service/src/assets/template/采收赋码-导入模板.xlsx differ
diff --git a/sub-government-affairs-service/src/views/trace/breeding/coding/index.vue b/sub-government-affairs-service/src/views/trace/breeding/coding/index.vue
new file mode 100644
index 0000000..be49713
--- /dev/null
+++ b/sub-government-affairs-service/src/views/trace/breeding/coding/index.vue
@@ -0,0 +1,586 @@
+
+
+
+
+ 批量删除
+ 导入
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sub-government-affairs-service/src/views/trace/breeding/coding/info.vue b/sub-government-affairs-service/src/views/trace/breeding/coding/info.vue
new file mode 100644
index 0000000..f1f3d4b
--- /dev/null
+++ b/sub-government-affairs-service/src/views/trace/breeding/coding/info.vue
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+ 下载
+
+ 暂无
+
+
+
+
+
+
diff --git a/sub-government-affairs-service/src/views/trace/breeding/quality/form.vue b/sub-government-affairs-service/src/views/trace/breeding/quality/form.vue
new file mode 100644
index 0000000..1262950
--- /dev/null
+++ b/sub-government-affairs-service/src/views/trace/breeding/quality/form.vue
@@ -0,0 +1,235 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sub-government-affairs-service/src/views/trace/breeding/quality/index.vue b/sub-government-affairs-service/src/views/trace/breeding/quality/index.vue
new file mode 100644
index 0000000..8992543
--- /dev/null
+++ b/sub-government-affairs-service/src/views/trace/breeding/quality/index.vue
@@ -0,0 +1,403 @@
+
+
+
+
+ 批量删除
+
+
+
+
+ 下载
+
+ 暂无
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sub-government-affairs-service/src/views/trace/planting/base/index.vue b/sub-government-affairs-service/src/views/trace/planting/base/index.vue
new file mode 100644
index 0000000..b98966e
--- /dev/null
+++ b/sub-government-affairs-service/src/views/trace/planting/base/index.vue
@@ -0,0 +1,301 @@
+
+
+
+
diff --git a/sub-government-affairs-service/src/views/trace/planting/seed/index.vue b/sub-government-affairs-service/src/views/trace/planting/seed/index.vue
new file mode 100644
index 0000000..c8ff0a6
--- /dev/null
+++ b/sub-government-affairs-service/src/views/trace/planting/seed/index.vue
@@ -0,0 +1,213 @@
+
+
+
+