Browse Source

Merge branch 'dev0.3' of http://36.137.93.232:3000/hf/byte-sailing-new into dev0.3

lxf 1 year ago
parent
commit
372c6b83e3

+ 2 - 2
src/components/headerBar/header-bar.vue

@@ -1,5 +1,5 @@
 <template>
-  <div id="main" class="header-bar">
+  <div id="main" class="header-bar" @click="isChildMenu = false">
     <header>
       <ul class="nav">
         <!-- <div class="logo">ByteSailing</div> -->
@@ -8,7 +8,7 @@
           <el-image v-else style="width: 120px; height: 30px" :src="logoUrl" fit="scale-down" />
         </div>
         <li class="header-bar-hover-warp nav-li" :class="isChildMenu ? 'active' : ''">
-          <div @click="isChildMenu = !isChildMenu" class="menu-modal">
+          <div @click.stop="isChildMenu = !isChildMenu" class="menu-modal">
             <i class="iconfont icon-icomx_gongndh" style="margin: 0 5px 0 0"></i>
             {{$t('header.functionGuide')}}
             <i class="iconfont icon-iconm_xialan1" style="margin: 0 0 0 3px"></i>

+ 1 - 1
src/views/connect/E-mail/mail/com/mailDetail.vue

@@ -288,7 +288,7 @@ const getMyFolderTree = (flag) => {
         .then((res) => {
           myFolderTreeData.value = res.map((x) => ({ ...x, value: x.id }));
         });
-    }, 1000);
+    }, 1500);
   } else {
     proxy
       .post("/myFolder/tree", { mailboxId: mailStore.selectMail.id })

+ 16 - 14
src/views/connect/E-mail/mail/com/mailList.vue

@@ -4,7 +4,7 @@
       <el-icon @click="handleRefresh" style="cursor: pointer">
         <Refresh />
       </el-icon>
-      <div class="vertical-line"></div>
+      <!-- <div class="vertical-line"></div>
       <div>
         <el-checkbox
           v-model="isCheckAll"
@@ -49,7 +49,7 @@
       />
       <el-button @click="handleMove" :disabled="selectData.length === 0"
         >删除</el-button
-      >
+      > -->
     </div>
     <div style="padding: 10px 15px; width: 100%">
       <el-table
@@ -59,7 +59,7 @@
         @selection-change="handleSelectionChange"
         v-loading="loading"
       >
-        <el-table-column label=" " width="40" align="center">
+        <!-- <el-table-column label=" " width="40" align="center">
           <template #default="{ row, $index }">
             <div>
               <el-checkbox
@@ -70,7 +70,7 @@
               />
             </div>
           </template>
-        </el-table-column>
+        </el-table-column> -->
         <el-table-column label="状态" width="70">
           <template #default="{ row, $index }">
             <div style="cursor: pointer" @click="handleRowClick(row, $index)">
@@ -343,17 +343,19 @@ const getOtherData = () => {
       });
   }, 1000);
 
-  proxy
-    .post("/myTag/page", {
-      pageNum: 1,
-      pageSize: 9999,
-      id: useUserStore().user.userId,
-    })
-    .then((res) => {
-      tagData.value = res.rows;
-    });
+  setTimeout(() => {
+    proxy
+      .post("/myTag/page", {
+        pageNum: 1,
+        pageSize: 9999,
+        id: useUserStore().user.userId,
+      })
+      .then((res) => {
+        tagData.value = res.rows;
+      });
+  }, 1000);
 };
-getOtherData();
+// getOtherData();
 const isCheckAll = ref(false);
 const selectTag = ref("");
 const selectFolder = ref("");

+ 20 - 1
src/views/connect/E-mail/mail/com/right/contract/pi.vue

@@ -36,7 +36,16 @@
       v-loading="loading"
       :height="tableHeight"
     >
-      <el-table-column prop="code" label="单号" width="115" fixed="left" />
+      <el-table-column prop="code" label="单号" width="130" fixed="left">
+        <template #default="{ row }">
+          <div
+            style="cursor: pointer; color: #409eff"
+            @click="handleClickContractCode(row)"
+          >
+            {{ row.code }}
+          </div>
+        </template>
+      </el-table-column>
       <el-table-column prop="createTime" label="日期" width="140" />
       <el-table-column prop="buyContactName" label="客户" min-width="150" />
       <el-table-column prop="amount" label="报价" width="100">
@@ -135,6 +144,7 @@ const handleCurrentChange = (val) => {
 
 getData();
 onMounted(() => {});
+
 const handleMakeNew = () => {
   proxy.$router.replace({
     path: "/platform_manage/process/processApproval",
@@ -145,6 +155,15 @@ const handleMakeNew = () => {
     },
   });
 };
+
+const handleClickContractCode = (row) => {
+  proxy.$router.push({
+    path: "/ERP/saleContract/contract",
+    query: {
+      code: row.code,
+    },
+  });
+};
 </script>
   
 <style lang="scss" scoped>

+ 18 - 1
src/views/connect/E-mail/mail/com/right/contract/quotation.vue

@@ -36,7 +36,16 @@
       v-loading="loading"
       :height="tableHeight"
     >
-      <el-table-column prop="code" label="单号" width="115" fixed="left" />
+      <el-table-column prop="code" label="单号" width="130" fixed="left">
+        <template #default="{ row }">
+          <div
+            style="cursor: pointer; color: #409eff"
+            @click="handleClickContractCode(row)"
+          >
+            {{ row.code }}
+          </div>
+        </template>
+      </el-table-column>
       <el-table-column prop="createTime" label="日期" width="140" />
       <el-table-column prop="buyContactName" label="客户" min-width="150" />
       <el-table-column prop="amount" label="报价" width="100">
@@ -146,6 +155,14 @@ const handleMakeNew = () => {
     },
   });
 };
+const handleClickContractCode = (row) => {
+  proxy.$router.push({
+    path: "/ERP/saleContract/priceSheet",
+    query: {
+      code: row.code,
+    },
+  });
+};
 </script>
   
 <style lang="scss" scoped>

+ 190 - 4
src/views/index.vue

@@ -1,5 +1,44 @@
 <template>
 	<div class="app-container home">
+		
+		<div class="stat-warp">
+			<ul class="stat-warp" >
+				<li class="theme6">
+					<div class="label">我的待审批</div>
+					<div class="num">3</div>
+				</li>
+				<li class="theme5">
+					<div class="label">我的发起(未结束)</div>
+					<div class="num">3</div>
+				</li>
+				<li class="theme3">
+					<div class="label">未读消息</div>
+					<div class="num">3</div>
+				</li>
+			</ul>
+		</div>
+		<div class="table-warp">
+			<div class="card">
+				<div class="commons-title">
+					我的待审批
+				</div>
+			</div>
+			<div class="card">
+				<div class="commons-title">
+					业务提醒
+				</div>
+			</div>
+			<div class="card">
+				<div class="commons-title">
+					我的发起(未结束)
+				</div>
+			</div>
+			<div class="card">
+				<div class="commons-title">
+					系统公告
+				</div>
+			</div>
+		</div>
 		<!-- <byTableDemo></byTableDemo> -->
 		<!-- <el-input type="number" v-model='aaa' v-mousewheel></el-input> -->
 		<!-- 111112132131211 -->
@@ -17,14 +56,161 @@ function goTarget(url) {
 	window.open(url, '__blank')
 }
 // ​
-onMounted(() => {
-	
-})
+onMounted(() => {})
 </script>
 <style>
 </style>
 <style scoped lang="scss">
-.home {
+.app-container {
+	height: 100%;
+	.table-warp{
+		//页面全屏,占据剩下的位置
+		height: calc(100% - 157px);
+		border-radius: 5px;
+		display: none;
+		.card{
+			width: calc(50% - 10px);
+			height: calc(50% - 10px);
+			background: #fff;
+			float: left;
+			border-radius: 5px;
+			padding:20px;
+		}
+		.card:nth-child(2n + 1){
+			margin-right: 20px;
+		}
+		.card:nth-child(1){
+			margin-bottom: 20px;
+		}
+		.card:nth-child(2){
+			margin-bottom: 20px;
+		}
+	}
+	.stat-warp {
+		margin-bottom: 20px;
+		background: #fff;
+		padding: 20px;
+		overflow: hidden;
+		position: relative;
+		border-radius: 5px;
+		display: none;
+		.title {
+			height: 60px;
+			select {
+				height: 60px;
+				border: none;
+				outline: none;
+				-webkit-appearance: none;
+				appearance: none;
+				font-size: 14px;
+				font-weight: bold;
+				background: url('@/assets/images/sanjiao.png') no-repeat right
+					center;
+				padding-right: 20px;
+			}
+			div {
+				height: 60px;
+				font-size: 14px;
+				font-weight: bold;
+				line-height: 60px;
+			}
+		}
+		ul {
+			padding: 0;
+			overflow: hidden;
+			margin: 0;
+			li {
+				list-style: none;
+				min-width: 285px;
+				box-sizing: border-box;
+				margin-right: 20px;
+				background: #eff6ff;
+				float: left;
+				overflow: hidden;
+				padding: 20px;
+				color: #333333;
+				border-radius: 10px;
+				.label {
+					font-size: 14px;
+				}
+				.label::before {
+					width: 10px;
+					height: 10px;
+					content: '';
+					border-radius: 50%;
+					background: #0084ff;
+					display: inline-block;
+					margin-right: 10px;
+				}
+				.num {
+					margin-top: 10px;
+					font-size: 24px;
+					font-weight: bold;
+				}
+			}
+			//#F5F3FF #9E64ED
+			.theme2 {
+				background: #f5f3ff;
+				.label::before {
+					background: #9e64ed;
+				}
+			}
+			//#FFF1E1 #FF9315
+			.theme3 {
+				background: #fff1e1;
+				.label::before {
+					background: #ff9315;
+				}
+			}
+			//#E2FBE8 #39C55A
+			.theme4 {
+				background: #e2fbe8;
+				.label::before {
+					background: #39c55a;
+				}
+			}
+			.theme5 {
+				background: #ffebe9;
+				.label::before {
+					background: #f94539;
+				}
+			}
+			.theme6 {
+				background: #e4f9f9;
+				.label::before {
+					background: #53cbcb;
+				}
+			}
+			.multi-data {
+				.label::before {
+					display: none;
+				}
+				.label {
+					font-size: 14px;
+					font-weight: bold;
+					color: #333;
+					margin-bottom: 8px;
+				}
+				.num-warp {
+					overflow: hidden;
+					.num-box {
+						float: left;
+						min-width: 80px;
+						margin-right: 20px;
+						.num-small {
+							font-size: 16px;
+							font-weight: bold;
+							margin-bottom: 8px;
+						}
+						.label-small {
+							color: #666;
+							font-size: 14px;
+						}
+					}
+				}
+			}
+		}
+	}
 }
 </style>
 

+ 1 - 0
src/views/product/product/index.vue

@@ -545,6 +545,7 @@ const submitForm = () => {
         getList();
       },
       (err) => {
+        formData.data.standardJson = JSON.parse(formData.data.standardJson);
         submitLoading.value = false;
       }
     );

+ 1 - 0
src/views/production/project/bom/index.vue

@@ -36,6 +36,7 @@
       v-model="dialogVisible"
       width="800"
       v-loading="loading"
+      destroy-on-close
     >
       <byForm
         :formConfig="formConfig"

+ 4 - 1
src/views/purchaseSales/outAndInWarehouse/waitingForDelivery/index.vue

@@ -244,7 +244,10 @@ const getList = async (req) => {
   proxy
     .post("/stockWaitDetails/page", sourceList.value.pagination)
     .then((res) => {
-      sourceList.value.data = res.rows;
+      sourceList.value.data = res.rows.map((x) => ({
+        ...x,
+        quantity: x.quantity - x.receiptQuantity,
+      }));
       sourceList.value.pagination.total = res.total;
       setTimeout(() => {
         loading.value = false;

+ 4 - 1
src/views/purchaseSales/outAndInWarehouse/waitingForStorage/index.vue

@@ -240,7 +240,10 @@ const getList = async (req) => {
   proxy
     .post("/stockWaitDetails/page", sourceList.value.pagination)
     .then((res) => {
-      sourceList.value.data = res.rows;
+      sourceList.value.data = res.rows.map((x) => ({
+        ...x,
+        quantity: x.quantity - x.receiptQuantity,
+      }));
       sourceList.value.pagination.total = res.total;
       setTimeout(() => {
         loading.value = false;

+ 4 - 0
src/views/salesMange/saleContract/contract/index.vue

@@ -237,6 +237,7 @@ import { computed, ref } from "vue";
 import byTable from "@/components/byTable/index";
 import useUserStore from "@/store/modules/user";
 import { ElMessage, ElMessageBox } from "element-plus";
+const route = useRoute();
 
 const { proxy } = getCurrentInstance();
 const contractType = ref([]);
@@ -597,6 +598,9 @@ const getList = async (req) => {
   });
 };
 getDict();
+if(route.query.code){
+    sourceList.value.pagination.keyword=route.query.code
+}
 getList();
 const newContract = () => {
   proxy.$router.replace({

+ 4 - 0
src/views/salesMange/saleContract/priceSheet/index.vue

@@ -227,6 +227,7 @@ import { computed, ref } from "vue";
 import byTable from "@/components/byTable/index";
 import moment from "moment";
 import useUserStore from "@/store/modules/user";
+const route = useRoute();
 
 const { proxy } = getCurrentInstance();
 const accountList = ref([]);
@@ -498,6 +499,9 @@ const getList = async (req) => {
   });
 };
 getDict();
+if(route.query.code){
+    sourceList.value.pagination.keyword=route.query.code
+}
 getList();
 const newPriceSheet = () => {
   proxy.$router.replace({