ezhizao_zx 3 ماه پیش
والد
کامیت
68f1aeabe1

+ 8 - 0
src/api/business/message.js

@@ -43,3 +43,11 @@ export function delMessage(id) {
     method: 'delete'
   })
 }
+
+export function readMessage(data) {
+  return request({
+    url: baseUrl + '/business/message/read',
+    method: 'post',
+    data: data
+  })
+}

+ 34 - 3
src/layout/components/Navbar.vue

@@ -50,9 +50,9 @@
                   <span>站内信</span>
                 </el-badge>
               </el-dropdown-item>
-              <el-dropdown-item command="sendMessage" v-if="settingsStore.showMessage">
+              <!-- <el-dropdown-item command="sendMessage" v-if="settingsStore.showMessage">
                 <span>发站内信</span>
-              </el-dropdown-item>
+              </el-dropdown-item> -->
               <el-dropdown-item divided command="logout">
                 <span>退出登录</span>
               </el-dropdown-item>
@@ -124,6 +124,27 @@
         <el-button @click="sendMessage">发送</el-button>
       </template>
     </el-dialog>
+    <el-dialog title="查看站内信" v-model="viewMessageDialog" :width="450" center @close="closeViewMessageDialog">
+      <el-form ref="addMessageFormRef" v-model="messageData" label-width="100">
+        <el-row :gutter="10">
+          <el-col :span="12">
+            <el-form-item label="发件人">
+              <div>{{ messageData.fromNickName }}</div>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="收件人">
+              <div>{{ messageData.toNickName }}</div>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="信息">
+              <div v-html="messageData.message"></div>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-dialog>
   </div>
 </template>
 
@@ -143,7 +164,7 @@ import useUserStore from '@/store/modules/user'
 import useSettingsStore from '@/store/modules/settings'
 import { setTenant, getTenant } from '@/utils/auth'
 import { listTenant } from '@/api/business/tenant.js'
-import { listMessage } from '@/api/business/message.js'
+import { listMessage, readMessage } from '@/api/business/message.js'
 import router from '@/router'
 import useMessageStore from '@/store/modules/message'
 import { nextTick, onBeforeUnmount, onMounted } from 'vue'
@@ -159,6 +180,7 @@ const showDialog = ref(false)
 const addMessageDialog = ref(false)
 const tenantList = ref([])
 const messageList = ref([])
+const viewMessageDialog = ref(false)
 const messageData = ref({
   fromUserId: useUserStore().user.userId,
   toUserId: null,
@@ -313,6 +335,15 @@ onMounted(() => {
 onBeforeUnmount(() => {
   window.removeEventListener('messageChange')
 })
+
+function handleView(row) {
+  viewMessageDialog.value = true
+  readMessage(row)
+  messageData.value = row
+}
+function closeViewMessageDialog() {
+  getMessages()
+}
 </script>
 
 <style lang="scss" scoped>

+ 3 - 2
src/views/business/dayworkUpdate/index.vue

@@ -121,11 +121,12 @@ import sortItemForm from "./sortForm"
 import turnoverForm from "./turnoverForm.vue";
 import useUserStore from '@/store/modules/user'
 import DialogDayworkItemHistory from "./DialogDayworkItemHistory.vue";
-const { report_up_limit } = proxy.useDict("report_up_limit")
-const { sort_report_up_limit } = proxy.useDict("sort_report_up_limit")
 
 const { proxy } = getCurrentInstance();
 
+const { report_up_limit } = proxy.useDict("report_up_limit")
+const { sort_report_up_limit } = proxy.useDict("sort_report_up_limit")
+
 /** 字典 */
 const { daywork_status } = proxy.useDict("daywork_status");
 

+ 66 - 133
src/views/business/drawingAuditing/index.vue

@@ -2,122 +2,54 @@
   <div class="page-container row-container">
     <section class="list-part-container" style="flex: 2">
       <!-- 搜索区域 -->
-      <el-form
-        class="list-search-container"
-        :model="queryParams"
-        ref="queryRef"
-        :inline="true"
-      >
+      <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true">
         <el-form-item label="类型:" prop="pattern">
-          <el-select-v2
-            v-model="queryParams.pattern"
-            clearable
-            filterable
-            :options="patternLabels"
-            placeholder="类型"
-            @change="handleRefreshDrawing"
-            style="width: 120px"
-          />
+          <el-select-v2 v-model="queryParams.pattern" clearable filterable :options="patternLabels" placeholder="类型"
+            @change="handleRefreshDrawing" style="width: 120px" />
         </el-form-item>
         <el-form-item label="客户名称:">
-          <el-input
-            placeholder="请输入客户名称"
-            v-model.trim="queryParams.companyAlias"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入客户名称" v-model.trim="queryParams.companyAlias" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item label="图号:">
-          <el-input
-            placeholder="请输入图号"
-            v-model.trim="queryParams.drawingNumber"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入图号" v-model.trim="queryParams.drawingNumber" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item label="规格:">
-          <el-input
-            placeholder="请输入规格"
-            v-model.trim="queryParams.specification"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入规格" v-model.trim="queryParams.specification" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item label="产品描述:">
-          <el-input
-            placeholder="请输入产品描述"
-            v-model.trim="queryParams.description"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入产品描述" v-model.trim="queryParams.description" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item label="工艺版本:" prop="technologyVersion">
-          <el-input
-            placeholder="请输入工艺版本"
-            v-model.trim="queryParams.technologyVersion"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入工艺版本" v-model.trim="queryParams.technologyVersion" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item label="工序:" prop="processAlias">
-          <el-input
-            placeholder="请输入工序"
-            v-model.trim="queryParams.processAlias"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入工序" v-model.trim="queryParams.processAlias" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item>
-          <el-button type="info" icon="Search" @click="handleRefreshDrawing"
-            >搜索</el-button
-          >
+          <el-button type="info" icon="Search" @click="handleRefreshDrawing">搜索</el-button>
         </el-form-item>
       </el-form>
       <div class="list-btns-container">
-        <el-button
-          :disabled="selections.length == 0"
-          type="success"
-          v-hasPermi="['business:electronicDrawings:examine']"
-          @click="handleSaveBacth()"
-          >批量通过
+        <el-button :disabled="selections.length == 0" type="success"
+          v-hasPermi="['business:electronicDrawings:examine']" @click="handleSaveBacth()">批量通过
         </el-button>
-        <el-button
-          :disabled="selections.length == 0"
-          type="danger"
-          v-hasPermi="['business:electronicDrawings:examineNG']"
-          @click="handleNGBacth()"
-          >批量NG
+        <el-button :disabled="selections.length == 0" type="danger"
+          v-hasPermi="['business:electronicDrawings:examineNG']" @click="handleNGBacth()">批量NG
         </el-button>
       </div>
       <!-- 列表区域 -->
       <div class="el-table-container">
         <div class="el-table-inner-container">
-          <el-table
-            ref="drawingTabel"
-            v-loading="loading"
-            :row-key="getRowKey"
-            @selection-change="handleSelectionChange"
-            :data="drawingList"
-            height="100%"
-          >
-            <el-table-column
-              type="selection"
-              width="40"
-              align="center"
-              :reserve-selection="true"
-            />
-            <el-table-column
-              label="行号"
-              type="index"
-              width="50"
-              align="center"
-            />
+          <el-table ref="drawingTabel" v-loading="loading" :row-key="getRowKey"
+            @selection-change="handleSelectionChange" :data="drawingList" height="100%">
+            <el-table-column type="selection" width="40" align="center" :reserve-selection="true" />
+            <el-table-column label="行号" type="index" width="50" align="center" />
             <el-table-column label="客户" width="120" align="center">
               <template #default="scope">
                 <span>{{ scope.row.product.companyAlias }}</span>
@@ -138,22 +70,16 @@
                 <span>{{ scope.row.product.description }}</span>
               </template>
             </el-table-column>
-            <el-table-column
-              label="工艺版本"
-              prop="productVersion"
-              width="100"
-              align="center"
-            />
+            <el-table-column label="工艺版本" prop="productVersion" width="100" align="center" />
             <el-table-column label="工序" prop="processAlias" align="center" />
             <el-table-column label="图纸" prop="drawingName" align="center">
             </el-table-column>
-            <el-table-column label="类型" prop="pattern" align="center" />
-            <el-table-column
-              label="状态"
-              width="80px"
-              prop="status"
-              align="center"
-            >
+            <el-table-column label="类型" prop="pattern" align="center">
+              <template #default="scope">
+                <span :class="getClassByPattern(scope.row.pattern)">{{ scope.row.pattern }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="状态" width="80px" prop="status" align="center">
               <template #default="scope">
                 <dict-tag :options="drawing_status" :value="scope.row.status" />
               </template>
@@ -161,27 +87,15 @@
             <el-table-column label="制作人" prop="producer" align="center" />
             <el-table-column label="操作" width="150" align="center">
               <template #default="scope">
-                <el-button
-                  link
-                  type="primary"
-                  @click="handlePreview(scope.row)"
-                >
+                <el-button link type="primary" @click="handlePreview(scope.row)">
                   预览
                 </el-button>
-                <el-button
-                  v-hasPermi="['business:electronicDrawings:examine']"
-                  link
-                  type="success"
-                  @click="saveDrawingDetail(scope.row)"
-                >
+                <el-button v-hasPermi="['business:electronicDrawings:examine']" link type="success"
+                  @click="saveDrawingDetail(scope.row)">
                   通过
                 </el-button>
-                <el-button
-                  v-hasPermi="['business:electronicDrawings:examineNG']"
-                  link
-                  type="danger"
-                  @click="handleNGdrawingDetail(scope.row.id)"
-                >
+                <el-button v-hasPermi="['business:electronicDrawings:examineNG']" link type="danger"
+                  @click="handleNGdrawingDetail(scope.row.id)">
                   NG
                 </el-button>
               </template>
@@ -189,17 +103,12 @@
           </el-table>
         </div>
       </div>
-      <pagination
-        v-show="total > 0"
-        :total="total"
-        v-model:page="queryParams.pageNum"
-        v-model:limit="queryParams.pageSize"
-        @pagination="getDrawingList"
-      />
+      <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
+        v-model:limit="queryParams.pageSize" @pagination="getDrawingList" />
     </section>
   </div>
 </template>
-  
+
 <script setup name="drawingAuditing">
 //   import {
 //     getNormalDrawing,
@@ -281,7 +190,7 @@ function handleNGdrawingDetail(row) {
       open.value = false;
       proxy.$modal.msgSuccess("废弃成功");
     })
-    .catch(() => {});
+    .catch(() => { });
 }
 
 /**通过按钮 */
@@ -374,6 +283,19 @@ function handleNGBacth() {
     });
   }
 }
+
+function getClassByPattern(pattern) {
+  switch (pattern) {
+    case "替换产品":
+      return "font-warning";
+    case "新产品":
+      return "font-success";
+    case "作废产品":
+      return "font-danger";
+    default:
+      return "";
+  }
+}
 function getRowKey(row) {
   return row.id;
 }
@@ -396,5 +318,16 @@ function getRowKey(row) {
   cursor: move;
   background-color: #eee;
 }
-</style>
-  
+
+.font-success {
+  color: #67c23a;
+}
+
+.font-danger {
+  color: #f56c6c;
+}
+
+.font-warning {
+  color: #e6a23c;
+}
+</style>

+ 68 - 150
src/views/business/drawingRatify/index.vue

@@ -2,122 +2,54 @@
   <div class="page-container row-container">
     <section class="list-part-container" style="flex: 2">
       <!-- 搜索区域 -->
-      <el-form
-        class="list-search-container"
-        :model="queryParams"
-        ref="queryRef"
-        :inline="true"
-      >
+      <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true">
         <el-form-item label="类型:" prop="pattern">
-          <el-select-v2
-            v-model="queryParams.pattern"
-            clearable
-            filterable
-            :options="patternLabels"
-            placeholder="类型"
-            @change="handleRefreshDrawing"
-            style="width: 120px"
-          />
+          <el-select-v2 v-model="queryParams.pattern" clearable filterable :options="patternLabels" placeholder="类型"
+            @change="handleRefreshDrawing" style="width: 120px" />
         </el-form-item>
         <el-form-item label="客户名称:">
-          <el-input
-            placeholder="请输入客户名称"
-            v-model.trim="queryParams.companyAlias"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入客户名称" v-model.trim="queryParams.companyAlias" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item label="图号:">
-          <el-input
-            placeholder="请输入图号"
-            v-model.trim="queryParams.drawingNumber"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入图号" v-model.trim="queryParams.drawingNumber" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item label="规格:">
-          <el-input
-            placeholder="请输入规格"
-            v-model.trim="queryParams.specification"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入规格" v-model.trim="queryParams.specification" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item label="产品描述:">
-          <el-input
-            placeholder="请输入产品描述"
-            v-model.trim="queryParams.description"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入产品描述" v-model.trim="queryParams.description" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item label="工艺版本:" prop="technologyVersion">
-          <el-input
-            placeholder="请输入工艺版本"
-            v-model.trim="queryParams.technologyVersion"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入工艺版本" v-model.trim="queryParams.technologyVersion" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item label="工序:" prop="processAlias">
-          <el-input
-            placeholder="请输入工序"
-            v-model.trim="queryParams.processAlias"
-            @keydown.enter.prevent
-            clearable
-            style="width: 120px"
-          />
+          <el-input placeholder="请输入工序" v-model.trim="queryParams.processAlias" @keydown.enter.prevent clearable
+            style="width: 120px" />
         </el-form-item>
         <el-form-item>
-          <el-button type="info" icon="Search" @click="handleRefreshDrawing"
-            >搜索</el-button
-          >
+          <el-button type="info" icon="Search" @click="handleRefreshDrawing">搜索</el-button>
         </el-form-item>
       </el-form>
       <div class="list-btns-container">
-        <el-button
-          :disabled="selections.length == 0"
-          type="success"
-          v-hasPermi="['business:electronicDrawings:raift']"
-          @click="handleSaveBacth()"
-          >批量批准
+        <el-button :disabled="selections.length == 0" type="success" v-hasPermi="['business:electronicDrawings:raift']"
+          @click="handleSaveBacth()">批量批准
         </el-button>
-        <el-button
-          :disabled="selections.length == 0"
-          type="danger"
-          v-hasPermi="['business:electronicDrawings:raiftNG']"
-          @click="handleNGBacth()"
-          >批量NG
+        <el-button :disabled="selections.length == 0" type="danger" v-hasPermi="['business:electronicDrawings:raiftNG']"
+          @click="handleNGBacth()">批量NG
         </el-button>
       </div>
       <!-- 列表区域 -->
       <div class="el-table-container">
         <div class="el-table-inner-container">
-          <el-table
-            ref="drawingTabel"
-            v-loading="loading"
-            :row-key="getRowKey"
-            @selection-change="handleSelectionChange"
-            :data="drawingList"
-            height="100%"
-          >
-            <el-table-column
-              type="selection"
-              width="40"
-              align="center"
-              :reserve-selection="true"
-            />
-            <el-table-column
-              label="行号"
-              type="index"
-              width="50"
-              align="center"
-            />
+          <el-table ref="drawingTabel" v-loading="loading" :row-key="getRowKey"
+            @selection-change="handleSelectionChange" :data="drawingList" height="100%">
+            <el-table-column type="selection" width="40" align="center" :reserve-selection="true" />
+            <el-table-column label="行号" type="index" width="50" align="center" />
             <el-table-column label="客户" width="120" align="center">
               <template #default="scope">
                 <span>{{ scope.row.product.companyAlias }}</span>
@@ -138,65 +70,32 @@
                 <span>{{ scope.row.product.description }}</span>
               </template>
             </el-table-column>
-            <el-table-column
-              label="工艺版本"
-              prop="productVersion"
-              width="60"
-              align="center"
-            />
+            <el-table-column label="工艺版本" prop="productVersion" width="60" align="center" />
             <el-table-column label="工序" prop="processAlias" align="center" />
             <el-table-column label="图纸" prop="drawingName" align="center" />
-            <el-table-column
-              label="类型"
-              prop="pattern"
-              align="center"
-              width="60"
-            />
-            <el-table-column
-              label="状态"
-              width="80px"
-              prop="status"
-              align="center"
-            >
+            <el-table-column label="类型" prop="pattern" align="center" width="60">
+              <template #default="scope">
+                <span :class="getClassByPattern(scope.row.pattern)">{{ scope.row.pattern }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="状态" width="80px" prop="status" align="center">
               <template #default="scope">
                 <dict-tag :options="drawing_status" :value="scope.row.status" />
               </template>
             </el-table-column>
-            <el-table-column
-              label="制作人"
-              prop="producer"
-              align="center"
-              width="100"
-            />
-            <el-table-column
-              label="审核人"
-              prop="reviewer"
-              align="center"
-              width="100"
-            />
+            <el-table-column label="制作人" prop="producer" align="center" width="100" />
+            <el-table-column label="审核人" prop="reviewer" align="center" width="100" />
             <el-table-column label="操作" width="150" align="center">
               <template #default="scope">
-                <el-button
-                  link
-                  type="primary"
-                  @click="handlePreview(scope.row)"
-                >
+                <el-button link type="primary" @click="handlePreview(scope.row)">
                   预览
                 </el-button>
-                <el-button
-                  v-hasPermi="['business:electronicDrawings:raift']"
-                  link
-                  type="success"
-                  @click="saveDrawingDetail(scope.row)"
-                >
+                <el-button v-hasPermi="['business:electronicDrawings:raift']" link type="success"
+                  @click="saveDrawingDetail(scope.row)">
                   通过
                 </el-button>
-                <el-button
-                  v-hasPermi="['business:electronicDrawings:raiftNG']"
-                  link
-                  type="danger"
-                  @click="handleNGdrawingDetail(scope.row.id)"
-                >
+                <el-button v-hasPermi="['business:electronicDrawings:raiftNG']" link type="danger"
+                  @click="handleNGdrawingDetail(scope.row.id)">
                   NG
                 </el-button>
               </template>
@@ -204,17 +103,12 @@
           </el-table>
         </div>
       </div>
-      <pagination
-        v-show="total > 0"
-        :total="total"
-        v-model:page="queryParams.pageNum"
-        v-model:limit="queryParams.pageSize"
-        @pagination="getDrawingList"
-      />
+      <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
+        v-model:limit="queryParams.pageSize" @pagination="getDrawingList" />
     </section>
   </div>
 </template>
-  
+
 <script setup name="drawingAuditing">
 //   import {
 //     getNormalDrawing,
@@ -295,7 +189,7 @@ function handleNGdrawingDetail(row) {
       open.value = false;
       proxy.$modal.msgSuccess("废弃成功");
     })
-    .catch(() => {});
+    .catch(() => { });
 }
 
 /**预览 */
@@ -391,6 +285,19 @@ function handleNGBacth() {
 function getRowKey(row) {
   return row.id;
 }
+
+function getClassByPattern(pattern) {
+  switch (pattern) {
+    case "替换产品":
+      return "font-warning";
+    case "新产品":
+      return "font-success";
+    case "作废产品":
+      return "font-danger";
+    default:
+      return "";
+  }
+}
 </script>
 <style scoped>
 :deep(.el-tree-node__label) {
@@ -410,5 +317,16 @@ function getRowKey(row) {
   cursor: move;
   background-color: #eee;
 }
-</style>
-  
+
+.font-success {
+  color: #67c23a;
+}
+
+.font-danger {
+  color: #f56c6c;
+}
+
+.font-warning {
+  color: #e6a23c;
+}
+</style>