3 Commits 112fe8ebfd ... 23485cb3f5

Author SHA1 Message Date
  wxd 23485cb3f5 wxd 1 month ago
  杜迪迪 837297a4f8 Merge branch 'master' of http://121.28.134.38:2039/wxd/jiliangxiaochengxu into dudidi 1 month ago
  杜迪迪 efc94485c0 7-31 1 month ago
11 changed files with 2376 additions and 926 deletions
  1. 61 0
      api/assay.js
  2. 24 25
      config.js
  3. 246 271
      pages.json
  4. 137 0
      pages/assay/assayDetails.vue
  5. 122 92
      pages/assay/assayForm.vue
  6. 273 112
      pages/assay/assayList.vue
  7. 348 0
      pages/assay/deptList.vue
  8. 364 236
      pages/assay/details.vue
  9. 273 0
      pages/assay/detailsList.vue
  10. 216 0
      pages/assay/equipmentDetails.vue
  11. 312 190
      pages/assay/index.vue

+ 61 - 0
api/assay.js

@@ -0,0 +1,61 @@
+/** @format */
+
+import request from "@/utils/request";
+
+//我的申请列表
+export const getMiAuditApplyList = (params) => {
+	return request({
+		url: "/api/minaudit/order/getMiAuditApplyList",
+		method: "get",
+		params,
+	});
+};
+// 备案查看
+export const getMiAuditApplyOneList = (id) => {
+	return request({
+		url: "/api/minaudit/order/getMiAuditApplyOneList/" + id,
+		method: "get",
+	});
+};
+// 备案查看列表
+export const getMiAuditApplyRoobtList = (params) => {
+	return request({
+		url: "/api/minaudit/order/getMiAuditApplyRoobtList",
+		method: "get",
+		params
+	});
+};
+// 器具列表
+export const pageAudit = (params) => {
+	return request({
+		url: "/api/minaudit/order/page-audit",
+		method: "get",
+		params
+	});
+};
+// 提交备案
+export const addMiAuditOrder = (data) => {
+	return request({
+		url: "/api/minaudit/order/addMiAuditOrder",
+		method: "post",
+		params: data,
+	});
+	// let f = new FormData();
+	// Object.keys(data).forEach((key) => {
+	// 	f.append(key, data[key]);
+	// });
+	// return request({
+	// 	url: "/api/minaudit/order/addMiAuditOrder",
+	// 	method: "post",
+	// 	data: f,
+	// });
+};
+
+//备案撤回
+export const backAudit = (query) => {
+	return request({
+		url: "/api/minaudit/order/back-audit",
+		method: "post",
+		params: query
+	});
+};

+ 24 - 25
config.js

@@ -2,28 +2,27 @@
 
 // 应用全局配置
 module.exports = {
-  // baseUrl: 'https://vue.ruoyi.vip/prod-api',
-  baseUrl: "http://192.168.1.21:8081",
-  // 应用信息
-  appInfo: {
-    // 应用名称
-    name: "ruoyi-app",
-    // 应用版本
-    version: "1.1.0",
-    // 应用logo
-    logo: "/static/logo.png",
-    // 官方网站
-    site_url: "http://ruoyi.vip",
-    // 政策协议
-    agreements: [
-      {
-        title: "隐私政策",
-        url: "https://ruoyi.vip/protocol.html",
-      },
-      {
-        title: "用户服务协议",
-        url: "https://ruoyi.vip/protocol.html",
-      },
-    ],
-  },
-};
+	// baseUrl: 'https://vue.ruoyi.vip/prod-api',
+	baseUrl: "http://192.168.1.42:8081",
+	// 应用信息
+	appInfo: {
+		// 应用名称
+		name: "ruoyi-app",
+		// 应用版本
+		version: "1.1.0",
+		// 应用logo
+		logo: "/static/logo.png",
+		// 官方网站
+		site_url: "http://ruoyi.vip",
+		// 政策协议
+		agreements: [{
+				title: "隐私政策",
+				url: "https://ruoyi.vip/protocol.html",
+			},
+			{
+				title: "用户服务协议",
+				url: "https://ruoyi.vip/protocol.html",
+			},
+		],
+	},
+};

+ 246 - 271
pages.json

@@ -1,273 +1,248 @@
 {
-  "pages": [
-    {
-      "path": "pages/login",
-      "style": {
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/register",
-      "style": {
-        "navigationBarTitleText": "注册"
-      }
-    },
-    {
-      "path": "pages/index",
-      "style": {
-        "navigationBarTitleText": "首页"
-      }
-    },
-    {
-      "path": "pages/work/index",
-      "style": {
-        "navigationBarTitleText": "工作台"
-      }
-    },
-    {
-      "path": "pages/mine/index",
-      "style": {
-        "navigationBarTitleText": "我的"
-      }
-    },
-    {
-      "path": "pages/mine/avatar/index",
-      "style": {
-        "navigationBarTitleText": "修改头像"
-      }
-    },
-    {
-      "path": "pages/mine/info/index",
-      "style": {
-        "navigationBarTitleText": "个人信息"
-      }
-    },
-    {
-      "path": "pages/mine/info/edit",
-      "style": {
-        "navigationBarTitleText": "编辑资料"
-      }
-    },
-    {
-      "path": "pages/mine/pwd/index",
-      "style": {
-        "navigationBarTitleText": "修改密码"
-      }
-    },
-    {
-      "path": "pages/mine/setting/index",
-      "style": {
-        "navigationBarTitleText": "应用设置"
-      }
-    },
-    {
-      "path": "pages/mine/help/index",
-      "style": {
-        "navigationBarTitleText": "常见问题"
-      }
-    },
-    {
-      "path": "pages/mine/about/index",
-      "style": {
-        "navigationBarTitleText": "关于我们"
-      }
-    },
-    {
-      "path": "pages/common/webview/index",
-      "style": {
-        "navigationBarTitleText": "浏览网页"
-      }
-    },
-    {
-      "path": "pages/common/textview/index",
-      "style": {
-        "navigationBarTitleText": "浏览文本"
-      }
-    },
-    {
-      "path": "pages/Ledger/list",
-      "style": {
-        "navigationBarTitleText": "计量器具台账"
-      }
-    },
-    {
-      "path": "pages/Ledger/details",
-      "style": {
-        "navigationBarTitleText": "详情"
-      }
-    },
-    {
-      "path": "pages/assay/index",
-      "style": {
-        "navigationBarTitleText": "我的备案申请"
-      }
-    },
-    {
-      "path": "pages/verification/list",
-      "style": {
-        "navigationBarTitleText": "检定"
-      }
-    },
-    {
-      "path": "pages/verification/details",
-      "style": {
-        "navigationBarTitleText": "检定申请单详细"
-      }
-    },
-    {
-      "path": "pages/assay/details",
-      "style": {
-        "navigationBarTitleText": "备案申请单详细"
-      }
-    },
-    {
-      "path": "pages/assay/application",
-      "style": {
-        "navigationBarTitleText": "器具备案申请"
-      }
-    },
-    {
-      "path": "pages/verification/taskList",
-      "style": {
-        "navigationBarTitleText": "机构任务单"
-      }
-    },
-    {
-      "path": "pages/verification/department",
-      "style": {
-        "navigationBarTitleText": "部门流转记录"
-      }
-    },
-    {
-      "path": "pages/verification/external",
-      "style": {
-        "navigationBarTitleText": "外检申请单"
-      }
-    },
-    {
-      "path": "pages/verification/externalList",
-      "style": {
-        "navigationBarTitleText": "器具列表"
-      }
-    },
-    {
-      "path": "pages/assay/assayList",
-      "style": {
-        "navigationBarTitleText": "器具列表"
-      }
-    },
-    {
-      "path": "pages/assay/assayForm",
-      "style": {
-        "navigationBarTitleText": "备案申请"
-      }
-    },
-    {
-      "path": "pages/assay/equipmentDetails",
-      "style": {
-        "navigationBarTitleText": "计量器具信息"
-      }
-    },
-    {
-      "path": "pages/assay/detailsList",
-      "style": {
-        "navigationBarTitleText": "拟备案计量器具列表"
-      }
-    },
-    {
-      "path": "pages/assay/assayList",
-      "style": {
-        "navigationBarTitleText": "选择拟备案计量器具"
-      }
-    },
-    {
-      "path": "pages/companiesRegistered/index",
-      "style": {
-        "navigationBarTitleText": "企业注册"
-      }
-    },
-    {
-      "path": "pages/personRegistered/index",
-      "style": {
-        "navigationBarTitleText": "个人注册"
-      }
-    },
-    {
-      "path": "pages/personRegistered/bindCompanies",
-      "style": {
-        "navigationBarTitleText": "账号绑定"
-      }
-    },
-    {
-      "path": "pages/companiesRegistered/companiesPassword",
-      "style": {
-        "navigationBarTitleText": "账号密码"
-      }
-    },
-    {
-      "path": "pages/bindweixin",
-      "style": {
-        "navigationBarTitleText": "绑定用户"
-      }
-    },
-    {
-      "path": "pages/assay/deptList",
-      "style": {
-        "navigationBarTitleText": "备案新增",
-        "enablePullDownRefresh": false,
-        "app-plus": {
-          "titleNView": {
-            "buttons": [
-              {
-                "fontSize": "16px",
-                "text": "新增",
-                "color": "#3c9cff"
-              }
-            ]
-          }
-        }
-      }
-    }
-  ],
-  "tabBar": {
-    "color": "#000000",
-    "selectedColor": "#000000",
-    "borderStyle": "white",
-    "backgroundColor": "#ffffff",
-    "list": [
-      {
-        "pagePath": "pages/index",
-        "iconPath": "static/images/1.png",
-        "selectedIconPath": "static/images/11.png",
-        "text": "首页"
-      },
-      {
-        "pagePath": "pages/work/index",
-        "iconPath": "static/images/2.png",
-        "selectedIconPath": "static/images/22.png",
-        "text": "消息"
-      },
-      {
-        "pagePath": "pages/mine/index",
-        "iconPath": "static/images/3.png",
-        "selectedIconPath": "static/images/33.png",
-        "text": "我的"
-      }
-    ]
-  },
-  "globalStyle": {
-    "navigationBarTextStyle": "black",
-    "navigationBarTitleText": "RuoYi",
-    "navigationBarBackgroundColor": "#FFFFFF"
-  },
-  "condition": {
-    "current": 0,
-    "list": [
-      {
-        "name": "",
-        "path": "pages/Ledger/list",
-        "query": ""
-      }
-    ]
-  }
+	"pages": [{
+			"path": "pages/login",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/register",
+			"style": {
+				"navigationBarTitleText": "注册"
+			}
+		},
+		{
+			"path": "pages/index",
+			"style": {
+				"navigationBarTitleText": "首页"
+			}
+		},
+		{
+			"path": "pages/work/index",
+			"style": {
+				"navigationBarTitleText": "工作台"
+			}
+		},
+		{
+			"path": "pages/mine/index",
+			"style": {
+				"navigationBarTitleText": "我的"
+			}
+		},
+		{
+			"path": "pages/mine/avatar/index",
+			"style": {
+				"navigationBarTitleText": "修改头像"
+			}
+		},
+		{
+			"path": "pages/mine/info/index",
+			"style": {
+				"navigationBarTitleText": "个人信息"
+			}
+		},
+		{
+			"path": "pages/mine/info/edit",
+			"style": {
+				"navigationBarTitleText": "编辑资料"
+			}
+		},
+		{
+			"path": "pages/mine/pwd/index",
+			"style": {
+				"navigationBarTitleText": "修改密码"
+			}
+		},
+		{
+			"path": "pages/mine/setting/index",
+			"style": {
+				"navigationBarTitleText": "应用设置"
+			}
+		},
+		{
+			"path": "pages/mine/help/index",
+			"style": {
+				"navigationBarTitleText": "常见问题"
+			}
+		},
+		{
+			"path": "pages/mine/about/index",
+			"style": {
+				"navigationBarTitleText": "关于我们"
+			}
+		},
+		{
+			"path": "pages/common/webview/index",
+			"style": {
+				"navigationBarTitleText": "浏览网页"
+			}
+		},
+		{
+			"path": "pages/common/textview/index",
+			"style": {
+				"navigationBarTitleText": "浏览文本"
+			}
+		},
+		{
+			"path": "pages/Ledger/list",
+			"style": {
+				"navigationBarTitleText": "台账"
+			}
+		},
+		{
+			"path": "pages/Ledger/details",
+			"style": {
+				"navigationBarTitleText": "详情"
+			}
+		},
+		{
+			"path": "pages/assay/index",
+			"style": {
+				"navigationBarTitleText": "我的备案申请"
+			}
+		},
+		{
+			"path": "pages/verification/list",
+			"style": {
+				"navigationBarTitleText": "检定"
+			}
+		},
+		{
+			"path": "pages/verification/details",
+			"style": {
+				"navigationBarTitleText": "检定申请单详细"
+			}
+		},
+		{
+			"path": "pages/assay/details",
+			"style": {
+				"navigationBarTitleText": "备案查看"
+			}
+		},
+		{
+			"path": "pages/assay/application",
+			"style": {
+				"navigationBarTitleText": "器具备案申请"
+			}
+		},
+		{
+			"path": "pages/verification/taskList",
+			"style": {
+				"navigationBarTitleText": "机构任务单"
+			}
+		},
+		{
+			"path": "pages/verification/department",
+			"style": {
+				"navigationBarTitleText": "部门流转记录"
+			}
+		},
+		{
+			"path": "pages/verification/external",
+			"style": {
+				"navigationBarTitleText": "外检申请单"
+			}
+		},
+		{
+			"path": "pages/verification/externalList",
+			"style": {
+				"navigationBarTitleText": "器具列表"
+			}
+		},
+
+		{
+			"path": "pages/assay/assayForm",
+			"style": {
+				"navigationBarTitleText": "备案申请"
+			}
+		},
+		{
+			"path": "pages/companiesRegistered/index",
+			"style": {
+				"navigationBarTitleText": "企业注册"
+			}
+		},
+		{
+			"path": "pages/assay/assayDetails",
+			"style": {
+				"navigationBarTitleText": "器具详情"
+			}
+		},
+		{
+			"path": "pages/assay/equipmentDetails",
+			"style": {
+				"navigationBarTitleText": "计量器具信息"
+			}
+		},
+		{
+			"path": "pages/assay/detailsList",
+			"style": {
+				"navigationBarTitleText": "拟备案计量器具列表"
+			}
+		},
+		{
+			"path": "pages/assay/assayList",
+			"style": {
+				"navigationBarTitleText": "选择拟备案计量器具"
+			}
+		},
+
+		{
+			"path": "pages/assay/deptList",
+			"style": {
+				"navigationBarTitleText": "备案新增",
+				"enablePullDownRefresh": false,
+				"app-plus": {
+					// "bounce": "none",
+					"titleNView": {
+						"buttons": [{
+							"fontSize": "16px",
+							"text": "新增",
+							"color": "#3c9cff"
+							// "onclick": "navigateToAddPage"
+						}]
+					}
+				}
+			}
+		}
+
+	],
+	"tabBar": {
+		"color": "#000000",
+		"selectedColor": "#000000",
+		"borderStyle": "white",
+		"backgroundColor": "#ffffff",
+		"list": [{
+				"pagePath": "pages/index",
+				"iconPath": "static/images/1.png",
+				"selectedIconPath": "static/images/11.png",
+				"text": "首页"
+			},
+			{
+				"pagePath": "pages/work/index",
+				"iconPath": "static/images/2.png",
+				"selectedIconPath": "static/images/22.png",
+				"text": "消息"
+			},
+			{
+				"pagePath": "pages/mine/index",
+				"iconPath": "static/images/3.png",
+				"selectedIconPath": "static/images/33.png",
+				"text": "我的"
+			}
+		]
+	},
+	"globalStyle": {
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "RuoYi",
+		"navigationBarBackgroundColor": "#FFFFFF"
+	},
+	"condition": {
+		"current": 0,
+		"list": [{
+			"name": "",
+			"path": "pages/Ledger/list",
+			"query": ""
+		}]
+	}
 }

+ 137 - 0
pages/assay/assayDetails.vue

@@ -0,0 +1,137 @@
+<template>
+	<view class="container">
+		<view class="contentItems">
+			<view class="content">
+				<view style="font-size: 32rpx;" class="title">器具名称 </view>
+				<view style="font-size: 32rpx;" class="title">验光</view>
+			</view>
+
+			<view class="content">
+				<view class="title">检定状态</view>
+				<view class="message">未检定</view>
+			</view>
+			<view class="content">
+				<view class="title">备案状态</view>
+				<!-- <view :style="{
+			  color: recordColor[recordStatus(item)],
+			}">{{ recordStatus(item) }}</view> -->
+			</view>
+			<view class="content">
+				<view class="title">制造单位</view>
+				<view class="message">上海光正</view>
+			</view>
+			<view class="content">
+				<view class="title">出厂编号</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">内部编号</view>
+				<view class="message">ygjpx-05</view>
+			</view>
+			<view class="content">
+				<view class="title">责任人员</view>
+				<view class="message"></view>
+			</view>
+			<view class="content">
+				<view class="title">器具项别</view>
+				<view class="message">顶焦度</view>
+			</view>
+			<view class="content">
+				<view class="title">器具种别</view>
+				<view class="message">眼科光学</view>
+			</view>
+			<view class="content">
+				<view class="title">专业类别</view>
+				<view class="message">光学</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				recordColor: {
+					已撤回: "#fa3534",
+					已接收: "#2979ff",
+					待提交: "#2979ff",
+					备案中: "#2979ff",
+					已拒绝: "#fa3534",
+					勿备案: "#fa3534",
+					未备案: "#909399",
+					免备案: "#909399",
+					已退回: "#fa3534",
+				},
+				record: []
+			}
+		},
+		onLoad() {
+			useDict("ejian_instrFillingStatus").then((res) => {
+				this.record = res;
+			});
+		},
+		computed: {
+			// //检定状态
+			// verificationStatus() {
+			// 	return (row) => {
+			// 		return paraseDict(this.verification, row);
+			// 	};
+			// },
+			// //申请状态
+			// applicationStatus() {
+			// 	return (row) => {
+			// 		return paraseDict(this.application, row);
+			// 	};
+			// },
+			//备案状态
+			recordStatus() {
+				return (row) => {
+					return paraseDict(this.record, row);
+				};
+			},
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style>
+	.container {
+		height: 100vh;
+		background: rgb(243, 244, 249);
+		padding: 0rpx 0 110rpx;
+		margin-top: 20rpx;
+
+		.contentItems {
+			width: 95%;
+			border-radius: 6px;
+			background: #fff;
+			margin: 0rpx auto 20rpx;
+			padding: 20rpx 30rpx 20rpx;
+
+			.content {
+				border-bottom: 1px solid rgb(242, 242, 242);
+				padding: 24rpx 0;
+				display: flex;
+				justify-content: space-between;
+			}
+
+			.content:last-child {
+				border-bottom: none;
+			}
+
+			.title {
+				font-size: 26rpx;
+				color: black;
+				letter-spacing: 3rpx;
+			}
+
+			.message {
+				font-size: 26rpx;
+				color: rgb(146, 146, 146);
+			}
+		}
+	}
+</style>

+ 122 - 92
pages/assay/assayForm.vue

@@ -1,108 +1,138 @@
 <!-- @format -->
 
 <template>
-  <view class="container">
-    <view style="margin: 15rpx 0">
-      <view class="contentItems">
-        <u-form labelPosition="left" labelWidth="160rpx">
-          <view class="content">
-            <u-form-item label="选择器具:">
-              <u-input
-                border="none"
-                placeholder="请输入申请单位"
-                value="血氧仪器"
-              ></u-input>
-            </u-form-item>
-          </view>
-          <view class="content">
-            <u-form-item label="申请单位:">
-              <u-input border="none" placeholder="请输入申请单位"></u-input>
-            </u-form-item>
-          </view>
-          <view class="content">
-            <u-form-item label="申请日期:">
-              <u-input border="none" placeholder="请输入申请日期"></u-input>
-            </u-form-item>
-          </view>
-          <view class="content">
-            <u-form-item label="申请人:">
-              <u-input border="none" placeholder="请输入申请人"></u-input>
-            </u-form-item>
-          </view>
-          <view class="content">
-            <u-form-item label="联系电话:">
-              <u-input border="none" placeholder="请输入联系电话"> </u-input>
-            </u-form-item>
-          </view>
-        </u-form>
-      </view>
-      <view style="width: 95%; margin: 20rpx auto 0">
-        <u-button type="primary"> 提交 </u-button>
-      </view>
-    </view>
-  </view>
+	<view class="container">
+		<view style="margin: 15rpx 0">
+			<view class="contentItems">
+				<u-form labelPosition="left" labelWidth="160rpx">
+					<view class="content">
+						<u-form-item label="选择器具:">
+							<u-input border="none" placeholder="请输入申请单位" value="血氧仪器"></u-input>
+						</u-form-item>
+					</view>
+					<view class="content">
+						<u-form-item label="申请单位:">
+							<u-input border="none" placeholder="请输入申请单位"></u-input>
+						</u-form-item>
+					</view>
+					<view class="content">
+						<u-form-item label="申请日期:">
+							<u-input border="none" placeholder="请输入申请日期"></u-input>
+						</u-form-item>
+					</view>
+					<view class="content">
+						<u-form-item label="申请人:">
+							<u-input border="none" placeholder="请输入申请人"></u-input>
+						</u-form-item>
+					</view>
+					<view class="content">
+						<u-form-item label="联系电话:">
+							<u-input border="none" placeholder="请输入联系电话"> </u-input>
+						</u-form-item>
+					</view>
+				</u-form>
+				<u-checkbox-group style="margin-top: 20rpx;" v-model="checkboxValue1" placement="column"
+					@change="checkboxChange">
+					<u-checkbox style="color:red" v-for="item in checkBoxList" :key="item" :label="item.name"
+						:name='item.label'>
+					</u-checkbox>
+				</u-checkbox-group>
+
+			</view>
+		</view>
+		<view style="width: 95%; margin: 20rpx auto 0">
+			<u-button type="primary"> 提交 </u-button>
+		</view>
+	</view>
+	</view>
 </template>
 
 <script>
-export default {
-  data() {
-    return {};
-  },
-  methods: {},
-};
+	export default {
+		data() {
+			return {
+				checked: null,
+				checkBoxList: [{
+					name: '我单位承诺,本次提交备案的计量器具的相关信息均真实准确,经过自我严格审核,均符合《市场监管总局关于调整实施强制管理的计量器具目录的公告》(国家市场监督管理总局公告2020年第42号)中《实施强制管理的计量器具目录》的规定。',
+					label: false
+				}],
+				checkboxValue1: [],
+			};
+		},
+		methods: {
+			checkboxChange(value) {
+				console.log('Checkbox changed:', value);
+			},
+		},
+	};
 </script>
 
 <style lang="scss" scoped>
-.createFixed {
-  background: #2979ff;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  width: 90rpx;
-  height: 90rpx;
-  border-radius: 50%;
-  position: fixed;
-  right: 30rpx;
-  bottom: 200rpx;
-}
+	::v-deep .u-checkbox {
+		display: flex;
+		flex-direction: row;
+		/* overflow: hidden; */
+		flex-direction: row;
+		align-items: flex-start;
+
+	}
+
+	::v-deep uni-text[data-v-c4a74aee] span {
+		font-size: 26rpx;
+		color: red;
+		line-height: 40rpx;
+	}
+
+	.createFixed {
+		background: #2979ff;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		width: 90rpx;
+		height: 90rpx;
+		border-radius: 50%;
+		position: fixed;
+		right: 30rpx;
+		bottom: 200rpx;
+	}
 
-.createNew {
-  font-size: 30rpx;
-  margin: 20rpx 0 20rpx 20rpx;
-  color: #3c9ff3;
-}
+	.createNew {
+		font-size: 30rpx;
+		margin: 20rpx 0 20rpx 20rpx;
+		color: #3c9ff3;
+	}
 
-.container {
-  height: 100vh;
-  background: rgb(243, 244, 249);
+	.container {
+		height: 100vh;
+		background: rgb(243, 244, 249);
 
-  .contentItems {
-    width: 93%;
-    border-radius: 6px;
-    background: #fff;
-    margin: 0rpx auto 20rpx;
-    padding: 20rpx 30rpx 20rpx;
+		.contentItems {
+			width: 93%;
+			border-radius: 6px;
+			background: #fff;
+			margin: 0rpx auto 20rpx;
+			padding: 20rpx 30rpx 20rpx;
 
-    .content {
-      border-bottom: 1px solid rgb(242, 242, 242);
-      display: flex;
-      justify-content: space-between;
-    }
+			.content {
+				border-bottom: 1px solid rgb(242, 242, 242);
+				display: flex;
+				justify-content: space-between;
+			}
 
-    // .content:last-child {
-    //   border-bottom: none;
-    // }
+			// .content:last-child {
+			//   border-bottom: none;
+			// }
 
-    .title {
-      font-size: 26rpx;
-      color: black;
-      letter-spacing: 3rpx;
-    }
+			.title {
+				font-size: 26rpx;
+				color: black;
+				letter-spacing: 3rpx;
+			}
 
-    .message {
-      font-size: 26rpx;
-      color: rgb(146, 146, 146);
-    }
-  }
-}
-</style>
+			.message {
+				font-size: 26rpx;
+				color: rgb(146, 146, 146);
+			}
+		}
+	}
+</style>

+ 273 - 112
pages/assay/assayList.vue

@@ -1,127 +1,288 @@
 <!-- @format -->
 
 <template>
-  <view class="container">
-    <view style="margin: 15rpx 0">
-      <view class="contentItems" @click="handleDetails" v-for="item of 2">
-        <u-checkbox :customStyle="{ marginBottom: '8px' }"> </u-checkbox>
-        <view class="content">
-          <view class="title"
-            >器具出厂编号
-            <text style="margin-left: 40rpx"> 2024845782 </text>
-          </view>
-        </view>
-        <view class="content">
-          <view class="title">器具名称</view>
-          <view class="message">血压计和高压</view>
-        </view>
-        <view class="content">
-          <view class="title">规格型号</view>
-          <view class="message">20kg*10</view>
-        </view>
-      </view>
-    </view>
-    <view
-      style="
+	<view class="container">
+		<!-- <view style="margin: 15rpx 0">
+			<view class="contentItems" @click="handleDetails" v-for="item of 2">
+				<u-checkbox :customStyle="{ marginBottom: '8px' }"> 器具名称</u-checkbox>
+				<view class="content">
+					<view class="title">器具出厂编号
+						<text style="margin-left: 50rpx"> 2024845782 </text>
+					</view>
+				</view>
+				<view class="content">
+					<view class="title">器具内部编号
+						<text style="margin-left: 50rpx"> ygjpx-05 </text>
+					</view>
+				</view>
+				<view class="content">
+					<view class="title">制造单位</view>
+					<view class="message">上海光正医疗有限公司</view>
+				</view>
+				<view class="content">
+					<view class="title">规格型号</view>
+					<view class="message">20kg*10</view>
+				</view>
+			</view>
+		</view> -->
+		<view style="margin: 15rpx 0">
+			<view v-for="item in ledgerList" class="contentItems">
+				<u-checkbox-group placement="column" @change="changeCheckBox(item)">
+					<view>
+						<view class="" style="display: flex;justify-content: space-between;">
+							<view style="display: flex;" class="">
+								<u-checkbox :name="item.id"></u-checkbox>
+								<span style="font-weight: 700;font-size: 36rpx;">{{item.name}}</span>
+							</view>
+							<view style="padding-top: 5rpx;" :style="{
+							  color: recordColor[recordStatus(item.fillingStatus)],
+							}">{{ recordStatus(item.fillingStatus) }}</view>
+						</view>
+						<view style='margin:10rpx 30rpx;color: #606266;line-height: 50rpx;' class="">
+							<view>唯一标识:<span>
+									{{item.instrNo}}
+								</span>
+							</view>
+							<span style="line-height: 50rpx;"> 制造单位:{{item.manufactoryName}}
+							</span>
+							<br />
+							<view style="display: flex;justify-content: space-between;">
+								<view>器具用途:{{item.purposeName}}</view>
+								<view>
+									规格型号:{{item.modelSpecific}}</view>
+							</view>
+							<span
+								style="display: flex; justify-content: space-between;align-items: center;line-height: 50rpx;"
+								class="">
+								<span> 出厂编号: {{item.serialNumber}}</span>
+								<span> 内部编号: {{item.internalNumber}}</span>
+							</span>
+						</view>
+
+
+					</view>
+				</u-checkbox-group>
+			</view>
+		</view>
+		<view style="
         background: #fff;
         padding: 20rpx 0;
         position: fixed;
         bottom: 0;
         left: 0;
         width: 100%;
-      "
-    >
-      <u-button
-        @click="handleApplicat"
-        style="width: 95%; margin: 0 auto"
-        type="primary"
-        >下一步</u-button
-      >
-    </view>
-  </view>
+		display: flex;
+      ">
+			<u-button @click="handleApplicat" style="width: 95%; margin: 0 auto" type="primary">确定</u-button>
+
+		</view>
+	</view>
 </template>
 
 <script>
-export default {
-  data() {
-    return {
-      activeContent: "我的申请",
-      tabsList: [
-        {
-          name: "我的申请",
-        },
-      ],
-    };
-  },
-  methods: {
-    handleApplicat() {
-      uni.navigateTo({
-        url: "/pages/assay/assayForm",
-        success: (res) => {},
-        fail: () => {},
-        complete: () => {},
-      });
-    },
-    handleChange(row) {
-      this.activeContent = row.name;
-    },
-    handleCurrentForm() {},
-  },
-};
+	import {
+		pageAudit
+	} from "@/api/assay";
+	import {
+		useDict,
+		paraseDict
+	} from "@/utils/index";
+	export default {
+		data() {
+			return {
+				selectedItems: [],
+				recordColor: {
+					已撤回: "#fa3534",
+					已接收: "#2979ff",
+					待提交: "#2979ff",
+					备案中: "#2979ff",
+					已拒绝: "#fa3534",
+					勿备案: "#fa3534",
+					未备案: "#909399",
+					免备案: "#909399",
+					已退回: "#fa3534",
+				},
+				record: [], //备案字典
+				activeContent: "我的申请",
+				tabsList: [{
+					name: "我的申请",
+				}, ],
+				queryParams: {
+					pageNum: 1,
+					pageSize: 10,
+					orderByColumn: 'createTime',
+					isAsc: 'Desc'
+
+				},
+				ledgerList: [],
+				total: 0,
+				loading: false,
+				finished: false,
+			};
+		},
+		onLoad(options) {
+			useDict("ejian_instrFillingStatus").then((res) => {
+				this.record = res;
+			});
+			this.queryParams.excludeIds = options.ids
+			this.getList()
+		},
+		computed: {
+			// //检定状态
+			// verificationStatus() {
+			// 	return (row) => {
+			// 		return paraseDict(this.verification, row);
+			// 	};
+			// },
+			// //申请状态
+			// applicationStatus() {
+			// 	return (row) => {
+			// 		return paraseDict(this.application, row);
+			// 	};
+			// },
+			//备案状态
+			recordStatus() {
+				return (row) => {
+					return paraseDict(this.record, row);
+				};
+			},
+		},
+		methods: {
+			changeCheckBox(val) {
+				console.log('val', val)
+				console.log(this.selectedItems)
+				if (this.selectedItems.indexOf(val) === -1) {
+					this.selectedItems.push(val);
+				} else {
+					this.selectedItems.splice(this.selectedItems.indexOf(val), 1);
+				}
+
+				console.log('selectedItems', this.selectedItems)
+			},
+			getList() {
+				pageAudit({
+					...this.queryParams
+				}).then(({
+					rows,
+					total
+				}) => {
+					this.ledgerList = rows;
+					this.total = total;
+				});
+			},
+			onReachBottom() {
+				//触底事件
+				if (this.queryParams.pageNum * this.queryParams.pageSize >= this.total) {
+					uni.showToast({
+						title: "没有更多数据了",
+						icon: "none",
+						duration: 1000,
+					});
+					setTimeout(() => {
+						uni.hideLoading();
+					}, 500);
+				} else {
+					if (this.queryParams.pageNum <= this.queryParams.pageNum - 1) {
+						setTimeout(() => {
+							uni.hideLoading();
+						}, 500);
+					} else {
+						uni.showLoading({
+							title: "加载中",
+						});
+						this.queryParams.pageNum++;
+
+						pageAudit({
+							...this.queryParams
+						}).then(({
+							rows,
+							total
+						}) => {
+							this.ledgerList = [...this.ledgerList, ...rows];
+							this.total = total;
+						});
+					}
+					setTimeout(() => {
+						uni.hideLoading();
+					}, 500);
+				}
+			},
+			handleDetails() {
+				uni.navigateTo({
+					url: "/pages/assay/assayDetails",
+					success: (res) => {},
+					fail: () => {},
+					complete: () => {},
+				});
+			},
+			handleApplicat() {
+				getApp().globalData.deptListBeiAn = this.selectedItems
+				console.log('getApp().globalData.deptListBeiAn ', getApp().globalData.deptListBeiAn)
+				uni.$emit('query', {
+					a: 'two'
+				})
+				uni.navigateBack()
+			},
+			handleChange(row) {
+				this.activeContent = row.name;
+			},
+			handleCurrentForm() {},
+		},
+	};
 </script>
 
 <style lang="scss" scoped>
-.createFixed {
-  background: #2979ff;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  width: 90rpx;
-  height: 90rpx;
-  border-radius: 50%;
-  position: fixed;
-  right: 30rpx;
-  bottom: 200rpx;
-}
-
-.createNew {
-  font-size: 30rpx;
-  margin: 20rpx 0 20rpx 20rpx;
-  color: #3c9ff3;
-}
-
-.container {
-  height: 100vh;
-  background: rgb(243, 244, 249);
-
-  .contentItems {
-    width: 93%;
-    border-radius: 6px;
-    background: #fff;
-    margin: 0rpx auto 20rpx;
-    padding: 20rpx 30rpx 20rpx;
-
-    .content {
-      border-bottom: 1px solid rgb(242, 242, 242);
-      padding: 24rpx 0;
-      display: flex;
-      justify-content: space-between;
-    }
-
-    .content:last-child {
-      border-bottom: none;
-    }
-
-    .title {
-      font-size: 26rpx;
-      color: black;
-      letter-spacing: 3rpx;
-    }
-
-    .message {
-      font-size: 26rpx;
-      color: rgb(146, 146, 146);
-    }
-  }
-}
-</style>
+	.createFixed {
+		background: #2979ff;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		width: 90rpx;
+		height: 90rpx;
+		border-radius: 50%;
+		position: fixed;
+		right: 30rpx;
+		bottom: 200rpx;
+	}
+
+	.createNew {
+		font-size: 30rpx;
+		margin: 20rpx 0 20rpx 20rpx;
+		color: #3c9ff3;
+	}
+
+	.container {
+		height: 100vh;
+		background: rgb(243, 244, 249);
+
+		.contentItems {
+			width: 93%;
+			border-radius: 6px;
+			background: #fff;
+			margin: 0rpx auto 20rpx;
+			padding: 20rpx 30rpx 20rpx;
+
+			.content {
+				border-bottom: 1px solid rgb(242, 242, 242);
+				padding: 24rpx 0;
+				display: flex;
+				justify-content: space-between;
+			}
+
+			.content:last-child {
+				border-bottom: none;
+			}
+
+			.title {
+				font-size: 26rpx;
+				color: black;
+				letter-spacing: 3rpx;
+			}
+
+			.message {
+				font-size: 26rpx;
+				color: rgb(146, 146, 146);
+			}
+		}
+	}
+</style>

+ 348 - 0
pages/assay/deptList.vue

@@ -0,0 +1,348 @@
+<template>
+	<view class="container">
+		<view style="margin-top: 15rpx;padding-bottom: 110rpx;">
+			<view style="font-size: 30rpx;" class="content-header">
+				<view class="content">
+					<view style="font-size: 30rpx;" class="title">申请单位</view>
+					<view>{{danwei}}</view>
+				</view>
+				<view class="content">
+					<view style="font-size: 30rpx;" class="title">申请人</view>
+					<view>{{applyPeople}}</view>
+				</view>
+
+				<view class="content">
+					<view style="font-size: 30rpx;" class="title">联系电话</view>
+					<view>{{userMobile}}</view>
+				</view>
+			</view>
+			<view class="">
+				<u-swipe-action ref="swipeAction" v-for="(item,index) in assList"
+					style="margin: 20rpx; border-radius: 10rpx; overflow: hidden;">
+					<u-swipe-action-item ref="item" @click="shanchu(item)" :options="options2">
+						<view style="border-radius: 10rpx; background-color: #fff; padding: 10rpx;">
+							<view class="">
+								<view style="margin-top: 15rpx;" class="content-header1">
+									<view style="margin-bottom: 30rpx;" class="">
+										<view style="justify-content: space-between; " class="content">
+											<view style="color:black;font-size: 36rpx;font-weight: 700;"
+												class="message">
+												{{item.name}}
+											</view>
+											<view style="padding-top: 5rpx;" :style="{
+										  color: recordColor[recordStatus(item.fillingStatus)],
+										}">{{ recordStatus(item.fillingStatus) }}</view>
+										</view>
+
+										<view style="display: flex;" class="content">
+											<view class="title">唯一标识:<span class="message">
+													{{item.instrNo}}
+												</span>
+											</view>
+										</view>
+										<view style="display: flex;" class="content">
+											<view class="title">器具用途:</view>
+											<view class="message">
+												{{item.purposeName}}
+											</view>
+										</view>
+
+										<view class="content">
+											<view class="title">制造单位:</view>
+											<view class="message">
+												{{item.manufactoryName}}
+											</view>
+										</view>
+										<view style="display: flex;justify-content: space-between;" class="">
+											<view style="display: flex;" class="content">
+												<view class="title">器具类型:</view>
+												<view class="message">
+													{{item.typeName}}
+												</view>
+											</view>
+											<view style="display: flex; align-items: center;" class="content">
+												<view class="title">规格型号:</view>
+												<view style="padding-top: 5rpx; " class="message">
+													{{item.modelSpecific}}
+												</view>
+											</view>
+										</view>
+										<view style="display: flex;justify-content: space-between;" class="">
+											<view style="display: flex;" class="content">
+												<view class="title">出厂编号:</view>
+												<view style="padding-top: 5rpx; " class="message">
+													{{item.serialNumber}}
+												</view>
+											</view>
+											<view style="display: flex; align-items: center;" class="content">
+												<view class="title">内部编号:</view>
+												<view class="message">
+													{{item.internalNumber}}
+												</view>
+											</view>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</u-swipe-action-item>
+				</u-swipe-action>
+			</view>
+			<view style="height: 270rpx;" class="content-header">
+				<u-checkbox-group style="margin-top: 20rpx;" v-model="checkboxValue1" placement="column"
+					@change="checkboxChange">
+					<u-checkbox style="color:red;" v-for="item in checkBoxList" :key="item" :label="item.name"
+						:name='item.label'>
+					</u-checkbox>
+				</u-checkbox-group>
+			</view>
+		</view>
+		<view class="submitBtn" style="
+				display: flex; 
+		">
+			<u-button @click="qingkong" style="width: 47%; margin: 0 auto" type="warning">清空</u-button>
+			<u-button @click="submitBeian" style="width: 47%; margin: 0 auto" type="success">提交</u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		useDict,
+		paraseDict
+	} from "@/utils/index";
+	import {
+		addMiAuditOrder
+	} from '@/api/assay.js'
+
+	import {
+		getInfo
+	} from '@/api/login.js'
+	export default {
+		data() {
+			return {
+				options2: [{
+					text: '删除',
+					style: {
+						backgroundColor: '#f56c6c'
+					}
+				}, ],
+				danwei: '',
+				checkboxValue1: [],
+				checkBoxList: [{
+					name: '我单位承诺,本次提交备案的计量器具的相关信息均真实准确,经过自我严格审核,均符合《市场监管总局关于调整实施强制管理的计量器具目录的公告》(国家市场监督管理总局公告2020年第42号)中《实施强制管理的计量器具目录》的规定。',
+					label: false
+				}],
+				applyPeople: '',
+				createTime: '',
+				userMobile: '',
+				dataList: [],
+				assList: [],
+				recordColor: {
+					已撤回: "#fa3534",
+					已接收: "#2979ff",
+					待提交: "#2979ff",
+					备案中: "#2979ff",
+					已拒绝: "#fa3534",
+					勿备案: "#fa3534",
+					未备案: "#909399",
+					免备案: "#909399",
+					已退回: "#fa3534",
+				},
+				record: [], //备案字典
+			}
+		},
+		onLoad() {
+			useDict("ejian_instrFillingStatus").then((res) => {
+				this.record = res;
+			});
+			getInfo().then((res) => {
+				console.log(',', res)
+				this.danwei = res.data.mechanism.insertName
+				this.applyPeople = res.data.mechanism.userName
+				this.userMobile = res.data.mechanism.userMobile
+			})
+			let that = this
+		},
+		onShow() {
+			uni.$once('query', (query) => {
+				if (query.a == 'two') {
+					console.log('11', getApp().globalData.deptListBeiAn)
+					this.assList.push(...getApp().globalData.deptListBeiAn)
+				}
+			})
+		},
+		computed: {
+			// //检定状态
+			// verificationStatus() {
+			// 	return (row) => {
+			// 		return paraseDict(this.verification, row);
+			// 	};
+			// },
+			// //申请状态
+			// applicationStatus() {
+			// 	return (row) => {
+			// 		return paraseDict(this.application, row);
+			// 	};
+			// },
+			//备案状态
+			recordStatus() {
+				return (row) => {
+					return paraseDict(this.record, row);
+				};
+			},
+		},
+		methods: {
+			submitBeian() {
+				if (this.checkboxValue1.length == 0) {
+					this.$modal.showToast('提交前,请认真阅读理解自我承诺内容后勾选')
+				} else {
+					let ids = this.assList.map(item => item.id).join(',');
+					console.log('ids', ids);
+					addMiAuditOrder({
+						instrumentIds: ids
+					}).then((res) => {
+						console.log('res', res)
+						uni.showToast({
+							title: "新增成功",
+							icon: "none",
+							duration: 1000,
+						});
+
+						setTimeout(() => {
+							this.assList = []
+							this.checkboxValue1 = []
+							uni.navigateBack()
+						}, 1000)
+					})
+				}
+			},
+			checkboxChange(value) {
+				console.log('Checkbox changed:', value);
+			},
+			shanchu(val) {
+				console.log('val', val)
+				console.log(this.$refs)
+				this.$refs.item.forEach(item => item.closeHandler(true));
+				this.assList.splice(val, 1)
+			},
+			qingkong() {
+				this.assList = []
+				getApp().globalData.deptListBeiAn = []
+				this.checkboxValue1 = []
+			},
+			onNavigationBarButtonTap(event) {
+				console.log('event', event)
+				let ids = this.assList.map(item => item.id).join(',')
+				uni.navigateTo({
+					url: '/pages/assay/assayList?ids=' + ids,
+					success: (res) => {},
+					fail: () => {},
+					complete: () => {},
+				});
+			}
+		}
+	}
+</script>
+
+<style>
+	.container {
+		height: 100rpx;
+	}
+
+	::v-deep .u-checkbox {
+		display: flex;
+		flex-direction: row;
+		/* overflow: hidden; */
+		flex-direction: row;
+		align-items: flex-start;
+
+	}
+
+	::v-deep uni-text[data-v-c4a74aee] span {
+		font-size: 28rpx;
+		color: red;
+		line-height: 40rpx;
+	}
+
+	.submitBtn {
+		width: 100%;
+		background: #fff;
+		padding: 15rpx 0;
+		position: fixed;
+		bottom: 0;
+		z-index: 9999;
+	}
+
+	.content-header1 {
+		width: 95%;
+		border-radius: 6px;
+		background: #fff;
+		margin: 10rpx auto 10rpx;
+		padding: 20rpx 20rpx 10rpx;
+
+		.content {
+			/* border-bottom: 1px solid rgb(242, 242, 242); */
+			padding: 8rpx 0;
+			display: flex;
+			/* justify-content: space-between; */
+		}
+
+		.content:last-child {
+			border-bottom: none;
+		}
+
+		.passIcon {
+			position: absolute;
+			top: 20rpx;
+			right: 40rpx;
+		}
+
+		.title {
+			font-size: 28rpx;
+			color: rgb(146, 146, 146);
+			letter-spacing: 3rpx;
+		}
+
+		.message {
+			font-size: 28rpx;
+			color: rgb(146, 146, 146);
+		}
+	}
+
+	.content-header {
+		width: 95%;
+		border-radius: 6px;
+		background: #fff;
+		margin: 0rpx auto 20rpx;
+		padding: 20rpx 30rpx 20rpx;
+
+		.content {
+			border-bottom: 1px solid rgb(242, 242, 242);
+			padding: 24rpx 0;
+			display: flex;
+			justify-content: space-between;
+		}
+
+		.content:last-child {
+			border-bottom: none;
+		}
+
+		.passIcon {
+			position: absolute;
+			top: 20rpx;
+			right: 40rpx;
+		}
+
+		.title {
+			font-size: 26rpx;
+			color: black;
+			letter-spacing: 3rpx;
+		}
+
+		.message {
+			font-size: 26rpx;
+			color: rgb(146, 146, 146);
+		}
+	}
+</style>

File diff suppressed because it is too large
+ 364 - 236
pages/assay/details.vue


+ 273 - 0
pages/assay/detailsList.vue

@@ -0,0 +1,273 @@
+<template>
+	<view class="container">
+		<view style="margin-top: 15rpx;" class="content-header">
+			<view v-for="item in ledgerList" style="margin-bottom: 30rpx;" class="">
+				<view style="justify-content: space-between; " class="content">
+					<view style="color:black;font-size: 36rpx;font-weight: 700;" class="message">
+						{{item.miInstrument.name}}
+					</view>
+					<view style="padding-top: 5rpx;" :style="{
+					  color: recordColor[recordStatus(item.miInstrument.fillingStatus)],
+					}">{{ recordStatus(item.miInstrument.fillingStatus) }}</view>
+				</view>
+
+				<view style="display: flex;" class="content">
+					<view class="title">唯一标识:<span class="message">{{item.miInstrument.instrNo}}
+						</span>
+					</view>
+				</view>
+				<view style="display: flex;" class="content">
+					<view class="title">器具用途:</view>
+					<view class="message">{{item.miInstrument.purposeName}}</view>
+				</view>
+
+				<view class="content">
+					<view class="title">制造单位:</view>
+					<view class="message">{{item.miInstrument.manufactoryName}}</view>
+				</view>
+				<view style="display: flex;justify-content: space-between;" class="">
+					<view style="display: flex;" class="content">
+						<view class="title">器具类型:</view>
+						<view style="padding-top: 5rpx; " class="message">
+							{{item.miInstrument.typeName}}
+						</view>
+					</view>
+					<view style="display: flex; align-items: center;" class="content">
+						<view class="title">规格型号:</view>
+						<view class="message">{{item.miInstrument.modelSpecific}}</view>
+					</view>
+				</view>
+				<view style="display: flex;justify-content: space-between;" class="">
+					<view style="display: flex;" class="content">
+						<view class="title">出厂编号:</view>
+						<view style="padding-top: 5rpx; " class="message">
+							{{item.miInstrument.serialNumber}}
+						</view>
+					</view>
+					<view style="display: flex; align-items: center;" class="content">
+						<view class="title">内部编号:</view>
+						<view class="message">{{item.miInstrument.internalNumber}}</view>
+					</view>
+				</view>
+
+			</view>
+		</view>
+		<view style="display: flex;" class="submitBtn">
+			<u-button @click="downLoadPDF" type="primary" style="margin: 0 auto; width:47%">备案申请单PDF下载</u-button>
+			<u-button @click="chehui" type="error" style="margin: 0rpx auto; width: 47%">撤回</u-button>
+		</view>
+		<u-modal :show="show" :showCancelButton='true' @cancel="show=false" @confirm="handleGD" title="提示"
+			content='确认要撤回此备案单吗?'></u-modal>
+	</view>
+</template>
+
+<script>
+	import {
+		getMiAuditApplyOneList,
+		getMiAuditApplyRoobtList,
+		backAudit
+	} from "@/api/assay";
+	import {
+		useDict,
+		paraseDict
+	} from "@/utils/index";
+	export default {
+		data() {
+			return {
+				show: false,
+				recordColor: {
+					已撤回: "#fa3534",
+					已接收: "#2979ff",
+					待提交: "#2979ff",
+					备案中: "#2979ff",
+					已拒绝: "#fa3534",
+					勿备案: "#fa3534",
+					未备案: "#909399",
+					免备案: "#909399",
+					已退回: "#fa3534",
+				},
+				record: [], //备案字典
+				ledgerList: [],
+				total: 0,
+				record: [],
+				queryParams: {
+					pageNum: 1,
+					pageSize: 10,
+					auditOrderId: '',
+					auditOrderApplyId: ''
+				}
+			}
+		},
+		onLoad(option) {
+			useDict("ejian_instrFillingStatus").then((res) => {
+				this.record = res;
+			});
+			this.queryParams.auditOrderId = option.auditOrderId,
+				this.queryParams.auditOrderApplyId = option.auditOrderApplyId
+			getMiAuditApplyRoobtList({
+				...this.queryParams
+			}).then((res) => {
+				this.ledgerList = res.rows;
+				this.total = res.total;
+			})
+		},
+		computed: {
+			// //检定状态
+			// verificationStatus() {
+			// 	return (row) => {
+			// 		return paraseDict(this.verification, row);
+			// 	};
+			// },
+			// //申请状态
+			// applicationStatus() {
+			// 	return (row) => {
+			// 		return paraseDict(this.application, row);
+			// 	};
+			// },
+			//备案状态
+			recordStatus() {
+				return (row) => {
+					return paraseDict(this.record, row);
+				};
+			},
+		},
+		methods: {
+			chehui() {
+				this.show = true
+
+			},
+			handleGD() {
+				backAudit().then((res) => {
+					uni.showToast({
+						title: "撤回成功",
+						icon: "none",
+						duration: 1000,
+					});
+					setTimeout(() => {
+						uni.navigateBack()
+					})
+				})
+			},
+			downLoadPDF() {},
+			onReachBottom() {
+				//触底事件
+				if (this.queryParams.pageNum * this.queryParams.pageSize >= this.total) {
+					uni.showToast({
+						title: "没有更多数据了",
+						icon: "none",
+						duration: 1000,
+					});
+					setTimeout(() => {
+						uni.hideLoading();
+					}, 500);
+				} else {
+					if (this.queryParams.pageNum <= this.queryParams.pageNum - 1) {
+						setTimeout(() => {
+							uni.hideLoading();
+						}, 500);
+					} else {
+						uni.showLoading({
+							title: "加载中",
+						});
+						this.queryParams.pageNum++;
+
+						getMiAuditApplyRoobtList({
+							...this.queryParams
+						}).then(({
+							rows,
+							total
+						}) => {
+							this.ledgerList = [...this.ledgerList, ...rows];
+							this.total = total;
+						});
+					}
+					setTimeout(() => {
+						uni.hideLoading();
+					}, 500);
+				}
+			},
+		}
+	}
+</script>
+
+<style>
+	.submitBtn {
+		width: 100%;
+		background: #fff;
+		padding: 15rpx 0;
+		position: fixed;
+		bottom: 0;
+	}
+
+	.content-header {
+		width: 95%;
+		border-radius: 6px;
+		background: #fff;
+		margin: 10rpx auto 10rpx;
+		padding: 20rpx 30rpx 10rpx;
+
+		.content {
+			/* border-bottom: 1px solid rgb(242, 242, 242); */
+			padding: 8rpx 0;
+			display: flex;
+			/* justify-content: space-between; */
+		}
+
+		.content:last-child {
+			border-bottom: none;
+		}
+
+		.passIcon {
+			position: absolute;
+			top: 20rpx;
+			right: 40rpx;
+		}
+
+		.title {
+			font-size: 28rpx;
+			color: rgb(146, 146, 146);
+			letter-spacing: 3rpx;
+		}
+
+		.message {
+			font-size: 28rpx;
+			color: rgb(146, 146, 146);
+		}
+	}
+
+	.container {
+		height: 100vh;
+		background: rgb(243, 244, 249);
+		padding: 0rpx 0 110rpx;
+
+		.contentItems {
+			width: 95%;
+			border-radius: 6px;
+			background: #fff;
+			margin: 0rpx auto 10rpx;
+			padding: 10rpx 30rpx 10rpx;
+
+			.content {
+				/* border-bottom: 1px solid rgb(242, 242, 242); */
+				padding: 14rpx 0;
+				display: flex;
+				/* justify-content: space-between; */
+			}
+
+			.content:last-child {
+				border-bottom: none;
+			}
+
+			.title {
+				font-size: 28rpx;
+				color: black;
+				letter-spacing: 3rpx;
+			}
+
+			.message {
+				font-size: 28rpx;
+				color: rgb(146, 146, 146);
+			}
+		}
+	}
+</style>

+ 216 - 0
pages/assay/equipmentDetails.vue

@@ -0,0 +1,216 @@
+<template>
+	<view class="container">
+		<view style="margin-top: 15rpx;" class="contentItems">
+			<view class="content">
+				<view class="title">唯一标识</view>
+				<view class="message">XX021406000006</view>
+			</view>
+			<view class="content">
+				<view class="title">器具类型</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">器具用途</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">器具名称</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">器具项别</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">器具种别</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">专业类别</view>
+				<view class="message">2</view>
+			</view>
+		</view>
+		<view style="margin-top: 15rpx;" class="contentItems">
+			<view class="content">
+				<view class="title">强检一级目录</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">强检二级目录</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">制造单位</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">规格型号</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">型批证号</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">出产编号</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">生产日期</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">内部编号</view>
+				<view class="message">2</view>
+			</view>
+		</view>
+		<view style="margin-top: 15rpx;" class="contentItems">
+			<view class="content">
+				<view class="title">使用状态</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">使用单位</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">单位区域</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">使用位置</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">购置日期</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">使用部门</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">保管人员</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">保管手机号</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">保管身份证号</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">使用区域</view>
+				<view class="message">2</view>
+			</view>
+
+		</view>
+		<view style="margin-top: 15rpx;" class="contentItems">
+			<view class="content">
+				<view style="width:95%;text-align: center;">强检证明</view>
+			</view>
+			<view class="content1">
+				<view class="title">贸易结算的相关证明</view>
+				<br />
+				<u-album :urls="urls2"></u-album>
+				<div class="message">暂无</div>
+			</view>
+			<view class="content1">
+				<view class="title">最近一次检定证书或新购置器具的购销合同或发票</view>
+				<br />
+				<u-album :urls="urls2"></u-album>
+				<div class="message">暂无</div>
+			</view>
+			<view class="content1">
+				<view class="title">含有出厂编号规格型号的铭牌图片</view>
+				<br />
+				<u-album :urls="urls2"></u-album>
+				<div class="message">暂无</div>
+			</view>
+		</view>
+		<view style="margin-top: 15rpx;" class="contentItems">
+			<view class="content">
+				<view style="width:95%;text-align: center;">技术参数信息</view>
+			</view>
+			<view class="content">
+				<view class="title">测量范围</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">允许误差</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">准确度等级</view>
+				<view class="message">2</view>
+			</view>
+			<view class="content">
+				<view class="title">分度值</view>
+				<view class="message">2</view>
+			</view>
+		</view>
+
+	</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				urls2: ['https://cdn.uviewui.com/uview/album/1.jpg',
+					'https://cdn.uviewui.com/uview/album/2.jpg',
+				]
+			}
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style>
+	.container {
+		height: 100vh;
+		background: rgb(243, 244, 249);
+		padding: 0rpx 0 110rpx;
+
+		.contentItems {
+			width: 95%;
+			border-radius: 6px;
+			background: #fff;
+			margin: 0rpx auto 20rpx;
+			padding: 10rpx 30rpx 20rpx;
+
+			.content {
+				border-bottom: 1px solid rgb(242, 242, 242);
+				padding: 24rpx 0;
+				display: flex;
+				justify-content: space-between;
+			}
+
+			.content1 {
+				border-bottom: 1px solid rgb(242, 242, 242);
+				padding: 24rpx 0;
+				justify-content: space-between;
+			}
+
+			.content:last-child {
+				border-bottom: none;
+			}
+
+			.title {
+				font-size: 26rpx;
+				color: black;
+				letter-spacing: 3rpx;
+			}
+
+			.message {
+				font-size: 26rpx;
+				color: rgb(146, 146, 146);
+			}
+		}
+	}
+</style>

+ 312 - 190
pages/assay/index.vue

@@ -1,199 +1,321 @@
 <!-- @format -->
 
 <template>
-  <view class="container">
-    <view @click="handleApplicat" class="createFixed">
-      <u-icon name="plus" color="#fff" size="23"></u-icon>
-    </view>
-
-    <view style="margin: 15rpx 0" v-if="activeContent == '我的申请'">
-      <view style="background: #fff; padding: 20rpx 0; margin-bottom: 15rpx">
-        <u-search
-          shape="square"
-          :showAction="false"
-          placeholder="请输入备案单编号"
-          style="width: 95%; margin: 0rpx auto"
-        ></u-search>
-      </view>
-      <view class="contentItems" @click="handleDetails" v-for="item of 2">
-        <view class="content">
-          <view class="title"
-            >备案单编号
-            <text style="margin-left: 40rpx"> 2024845782 </text>
-          </view>
-        </view>
-        <view class="content">
-          <view class="title">器具名称</view>
-          <view class="message">血压计和高压</view>
-        </view>
-        <view class="content">
-          <view class="title">备案状态</view>
-          <view class="message">备案中</view>
-        </view>
-        <view class="content">
-          <view class="title">行政部门</view>
-          <view class="message">单位</view>
-        </view>
-        <view class="content">
-          <view class="title">发起人</view>
-          <view class="message">李某某</view>
-        </view>
-        <view class="content">
-          <view class="title">发起时间</view>
-          <view class="message">2024-07-23 </view>
-        </view>
-        <view class="content">
-          <view class="title">联系电话</view>
-          <view class="message">153430587834</view>
-        </view>
-        <view class="content">
-          <view class="title">器具数</view>
-          <view class="message">4</view>
-        </view>
-      </view>
-    </view>
-
-    <view v-else>
-      <view>
-        <view class="createNew">选择器具进行申请</view>
-        <view class="contentItems" @click="handleCurrentForm">
-          <view class="content">
-            <view class="title">出厂编号</view>
-            <view class="message">123478654</view>
-          </view>
-          <view class="content">
-            <view class="title">器具名称</view>
-            <view class="message">血压计和血压表</view>
-          </view>
-          <view class="content">
-            <view class="title">规格型号</view>
-            <view class="message">153430587834</view>
-          </view>
-        </view>
-        <view class="contentItems">
-          <view class="content">
-            <view class="title">出厂编号</view>
-            <view class="message">123478654</view>
-          </view>
-          <view class="content">
-            <view class="title">器具名称</view>
-            <view class="message">燃油加油机</view>
-          </view>
-          <view class="content">
-            <view class="title">规格型号</view>
-            <view class="message">20kg*10</view>
-          </view>
-        </view>
-        <view class="contentItems">
-          <view></view>
-          <view class="content">
-            <view class="title">出厂编号</view>
-            <view class="message">123478654</view>
-          </view>
-          <view class="content">
-            <view class="title">器具名称</view>
-            <view class="message">汽车发动机检测仪</view>
-          </view>
-          <view class="content">
-            <view class="title">规格型号</view>
-            <view class="message">BJL</view>
-          </view>
-        </view>
-      </view>
-    </view>
-  </view>
+	<view class="container">
+		<view @click="handleApplicat" class="createFixed">
+			<u-icon name="plus" color="#fff" size="23"></u-icon>
+		</view>
+
+		<view style="margin: 15rpx 0" v-if="activeContent == '我的申请'">
+			<view style="background: #fff; padding: 10rpx 0; margin-bottom: 15rpx">
+				<u-search @search='sousuo' shape="square" placeholder="请输入备案单编号"
+					style="width: 95%; margin: 0rpx auto"></u-search>
+			</view>
+			<view class="contentItems" @click="handleDetails(item)" v-for="item in ledgerList">
+				<view class="content">
+					<!-- <view class="title">器具名称</view> -->
+					<view style="color:black;font-size: 36rpx;font-weight:700;" class="message">{{item.instrName}}
+					</view>
+				</view>
+				<view class="content">
+					<view class="title">备案单编号:
+						<text class="message" style="margin-left: 10rpx;color: red;font-weight: 700;font-size: 30rpx;">
+							{{item.filingNo}}
+						</text>
+					</view>
+				</view>
+
+				<!-- <view class="content">
+					<view class="title">备案状态</view>
+					<view :style="{
+			    color: recordColor[recordStatus(item)],
+			  }">{{ recordStatus(item) }}</view>
+				</view> -->
+				<!-- 		<view class="content">
+					<view class="title">行政部门</view>
+					<view style="font-weight: 700;color: black;" class="message">{{item.useOrgName}}</view>
+				</view> -->
+				<view style="display: flex;justify-content: space-between;" class="">
+					<view class="content">
+						<view class="title">发起人:
+						</view>
+						<view style="width: 120rpx;" class="message">{{item.userName}}</view>
+					</view>
+					<view class="content">
+						<view class="title">发起时间:</view>
+						<view style="padding-top:5rpx;" class="message">{{item.createTime}}</view>
+					</view>
+
+				</view>
+				<view style="display: flex;justify-content: space-between;" class="">
+					<view style="display: flex;" class="content">
+						<view class="title">联系电话:</view>
+						<view style="padding-top:5rpx;" class="message">{{item.userMobile}}</view>
+					</view>
+					<view style="display: flex; align-items: center; " class="content">
+						<view class="title">器具数量:</view>
+						<view style="padding-top: 5rpx; " class="message">{{item.instrCount}}</view>
+					</view>
+				</view>
+
+			</view>
+		</view>
+
+		<!-- 	<view v-else>
+			<view>
+				<view class="createNew">选择器具进行申请</view>
+				<view class="contentItems" @click="handleCurrentForm">
+					<view class="content">
+						<view class="title">出厂编号</view>
+						<view class="message">123478654</view>
+					</view>
+					<view class="content">
+						<view class="title">器具名称</view>
+						<view class="message">血压计和血压表</view>
+					</view>
+					<view class="content">
+						<view class="title">规格型号</view>
+						<view class="message">153430587834</view>
+					</view>
+				</view>
+				<view class="contentItems">
+					<view class="content">
+						<view class="title">出厂编号</view>
+						<view class="message">123478654</view>
+					</view>
+					<view class="content">
+						<view class="title">器具名称</view>
+						<view class="message">燃油加油机</view>
+					</view>
+					<view class="content">
+						<view class="title">规格型号</view>
+						<view class="message">20kg*10</view>
+					</view>
+				</view>
+				<view class="contentItems">
+					<view></view>
+					<view class="content">
+						<view class="title">出厂编号</view>
+						<view class="message">123478654</view>
+					</view>
+					<view class="content">
+						<view class="title">器具名称</view>
+						<view class="message">汽车发动机检测仪</view>
+					</view>
+					<view class="content">
+						<view class="title">规格型号</view>
+						<view class="message">BJL</view>
+					</view>
+				</view>
+			</view>
+		</view> -->
+	</view>
 </template>
 
 <script>
-export default {
-  data() {
-    return {
-      activeContent: "我的申请",
-      tabsList: [
-        {
-          name: "我的申请",
-        },
-      ],
-    };
-  },
-  methods: {
-    //备案申请
-    handleApplicat() {
-      uni.navigateTo({
-        url: "/pages/assay/assayList",
-        success: (res) => {},
-        fail: () => {},
-        complete: () => {},
-      });
-    },
-    handleChange(row) {
-      this.activeContent = row.name;
-    },
-    handleCurrentForm() {},
-    handleDetails() {
-      uni.navigateTo({
-        url: "/pages/assay/details",
-        success: (res) => {},
-        fail: () => {},
-        complete: () => {},
-      });
-    },
-  },
-};
+	import {
+		getMiAuditApplyList
+	} from "@/api/assay";
+	import {
+		useDict,
+		paraseDict
+	} from "@/utils/index";
+	export default {
+		data() {
+			return {
+				recordColor: {
+					已撤回: "#fa3534",
+					已接收: "#2979ff",
+					待提交: "#2979ff",
+					备案中: "#2979ff",
+					已拒绝: "#fa3534",
+					勿备案: "#fa3534",
+					未备案: "#909399",
+					免备案: "#909399",
+					已退回: "#fa3534",
+				},
+				record: [], //备案字典
+				activeContent: "我的申请",
+				tabsList: [{
+					name: "我的申请",
+				}, ],
+				ledgerList: [],
+				queryParams: {
+					pageNum: 1,
+					pageSize: 10,
+					filingNo: '',
+					orderByColumn: 'createTime',
+					isAsc: 'Desc'
+				},
+				total: 0,
+			};
+		},
+		async onLoad() {
+			// useDict("ejian_instrCheckStatus").then((res) => {
+			//   this.verification = res;
+			// });
+			// useDict("ejian_instrCheckRecordStatusV2").then((res) => {
+			//   this.application = res;
+			// });
+			useDict("ejian_instrFillingStatus").then((res) => {
+				this.record = res;
+			});
+			this.getList();
+		},
+		onShow() {
+			// this.getList()
+		},
+		computed: {
+			// //检定状态
+			// verificationStatus() {
+			// 	return (row) => {
+			// 		return paraseDict(this.verification, row);
+			// 	};
+			// },
+			// //申请状态
+			// applicationStatus() {
+			// 	return (row) => {
+			// 		return paraseDict(this.application, row);
+			// 	};
+			// },
+			//备案状态
+			recordStatus() {
+				return (row) => {
+					return paraseDict(this.record, row);
+				};
+			},
+		},
+		methods: {
+			sousuo(val) {
+				console.log(val)
+				this.queryParams.filingNo = val
+				this.getList()
+			},
+			getList() {
+				getMiAuditApplyList({
+					...this.queryParams
+				}).then((res) => {
+					this.ledgerList = res.rows;
+					this.total = res.total;
+				})
+			},
+			onReachBottom() {
+				//触底事件
+				if (this.queryParams.pageNum * this.queryParams.pageSize >= this.total) {
+					uni.showToast({
+						title: "没有更多数据了",
+						icon: "none",
+						duration: 1000,
+					});
+					setTimeout(() => {
+						uni.hideLoading();
+					}, 500);
+				} else {
+					if (this.queryParams.pageNum <= this.queryParams.pageNum - 1) {
+						setTimeout(() => {
+							uni.hideLoading();
+						}, 500);
+					} else {
+						uni.showLoading({
+							title: "加载中",
+						});
+						this.queryParams.pageNum++;
+
+						getMiAuditApplyList({
+							...this.queryParams
+						}).then(({
+							rows,
+							total
+						}) => {
+							this.ledgerList = [...this.ledgerList, ...rows];
+							this.total = total;
+						});
+					}
+					setTimeout(() => {
+						uni.hideLoading();
+					}, 500);
+				}
+			},
+			//备案申请
+			handleApplicat() {
+				uni.navigateTo({
+					// url: "/pages/assay/assayList",
+					url: '/pages/assay/deptList',
+					success: (res) => {},
+					fail: () => {},
+					complete: () => {},
+				});
+			},
+			handleChange(row) {
+				this.activeContent = row.name;
+			},
+			handleCurrentForm() {},
+			handleDetails(item) {
+				uni.navigateTo({
+					url: "/pages/assay/details?id=" + item.id + '&danwei=' + item.useOrgName + '&applypeople=' +
+						item.userName + '&userMobile=' + item.userMobile + '&createTime=' + item.createTime,
+					success: (res) => {},
+					fail: () => {},
+					complete: () => {},
+				});
+			},
+		},
+	};
 </script>
 
 <style lang="scss" scoped>
-.createFixed {
-  background: #2979ff;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  width: 90rpx;
-  height: 90rpx;
-  border-radius: 50%;
-  position: fixed;
-  right: 30rpx;
-  bottom: 200rpx;
-}
-
-.createNew {
-  font-size: 30rpx;
-  margin: 20rpx 0 20rpx 20rpx;
-  color: #3c9ff3;
-}
-
-.container {
-  height: 100vh;
-  background: rgb(243, 244, 249);
-
-  .contentItems {
-    width: 93%;
-    border-radius: 6px;
-    background: #fff;
-    margin: 0rpx auto 20rpx;
-    padding: 20rpx 30rpx 20rpx;
-
-    .content {
-      border-bottom: 1px solid rgb(242, 242, 242);
-      padding: 24rpx 0;
-      display: flex;
-      justify-content: space-between;
-    }
-
-    .content:last-child {
-      border-bottom: none;
-    }
-
-    .title {
-      font-size: 26rpx;
-      color: black;
-      letter-spacing: 3rpx;
-    }
-
-    .message {
-      font-size: 26rpx;
-      color: rgb(146, 146, 146);
-    }
-  }
-}
-</style>
+	.createFixed {
+		background: #2979ff;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		width: 90rpx;
+		height: 90rpx;
+		border-radius: 50%;
+		position: fixed;
+		right: 30rpx;
+		bottom: 200rpx;
+	}
+
+	.createNew {
+		font-size: 30rpx;
+		margin: 10rpx 0 10rpx 10rpx;
+		color: #3c9ff3;
+	}
+
+	.container {
+		height: 100vh;
+		background: rgb(243, 244, 249);
+
+		.contentItems {
+			width: 93%;
+			border-radius: 6px;
+			background: #fff;
+			margin: 20rpx auto 10rpx;
+			padding: 10rpx 30rpx 10rpx;
+
+			.content {
+				// border-bottom: 1px solid rgb(242, 242, 242);
+				padding: 10rpx 0;
+				display: flex;
+
+				// justify-content: space-between;
+			}
+
+			.content:last-child {
+				border-bottom: none;
+			}
+
+			.title {
+				font-size: 28rpx;
+				color: rgb(146, 146, 146);
+				letter-spacing: 3rpx;
+			}
+
+			.message {
+				font-size: 28rpx;
+				color: rgb(146, 146, 146);
+			}
+		}
+	}
+</style>