瀏覽代碼

添加了一个moment插件
载具完善完成

zhuangdezheng 1 年之前
父節點
當前提交
f331acad73

+ 1 - 0
package.json

@@ -27,6 +27,7 @@
     "i": "^0.3.7",
     "js-cookie": "3.0.1",
     "jsencrypt": "3.3.1",
+    "moment": "^2.29.4",
     "nprogress": "0.2.0",
     "pinia": "2.0.22",
     "qs": "^6.11.0",

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

@@ -71,3 +71,11 @@ export function delCarrier(id) {
     method: 'delete'
   })
 }
+
+// 取消废弃
+export function unAbandoned(id) {
+  return request({
+    url: baseUrl + '/business/carrier/unAbandoned/' + id,
+    method: 'get'
+  })
+}

+ 8 - 5
src/main.js

@@ -5,6 +5,9 @@ import Cookies from 'js-cookie'
 import ElementPlus from 'element-plus'
 import locale from 'element-plus/lib/locale/lang/zh-cn' // 中文语言
 
+import moment from 'moment'
+moment.locale('zh-cn')
+
 import './assets/font-awesome-4.7.0/css/font-awesome.min.css'
 import '@/assets/styles/index.scss' // global css
 import '@/assets/styles/ezhizao/list.css'
@@ -16,7 +19,6 @@ import store from './store'
 import router from './router'
 import directive from './directive' // directive
 
-
 // 注册指令
 import plugins from './plugins' // plugins
 import { download } from '@/utils/request'
@@ -37,11 +39,11 @@ import Pagination from '@/components/Pagination'
 // 自定义表格工具组件
 import RightToolbar from '@/components/RightToolbar'
 // 文件上传组件
-import FileUpload from "@/components/FileUpload"
+import FileUpload from '@/components/FileUpload'
 // 图片上传组件
-import ImageUpload from "@/components/ImageUpload"
+import ImageUpload from '@/components/ImageUpload'
 // 图片预览组件
-import ImagePreview from "@/components/ImagePreview"
+import ImagePreview from '@/components/ImagePreview'
 // 自定义树选择组件
 import TreeSelect from '@/components/TreeSelect'
 // 字典标签组件
@@ -63,6 +65,7 @@ app.config.globalProperties.addDateRange = addDateRange
 app.config.globalProperties.selectDictLabel = selectDictLabel
 app.config.globalProperties.selectDictLabels = selectDictLabels
 app.config.globalProperties.deepClone = deepClone
+app.config.globalProperties.moment = moment
 
 // 全局组件挂载
 app.component('DictTag', DictTag)
@@ -72,7 +75,7 @@ app.component('FileUpload', FileUpload)
 app.component('ImageUpload', ImageUpload)
 app.component('ImagePreview', ImagePreview)
 app.component('RightToolbar', RightToolbar)
-app.component('Editor',Editor)
+app.component('Editor', Editor)
 app.component('CountTo', CountTo)
 
 app.use(router)

+ 5 - 25
src/views/business/carrier/form.vue

@@ -2,26 +2,13 @@
   <!-- 添加或修改项目信息对话框 -->
   <el-dialog title="载具信息表单" v-model="visible" width="400px" append-to-body draggable>
     <div class="form-container">
-      <el-form ref="carrierFormRef" class="master-container" :model="form" label-width="80px">
+      <el-form ref="carrierFormRef" class="master-container" v-loading="loading" :model="form" label-width="80px">
         <el-form-item label="载具编号" prop="code" required>
           <el-input v-model="form.code" placeholder="请输入载具编号" />
         </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" placeholder="请输入备注" />
         </el-form-item>
-        <el-form-item label="是否废弃" prop="isAbandoned">
-          <el-select v-model="form.isAbandoned" placeholder="请选择是否为工段">
-            <el-option v-for="item in carrier_status" :key="item.value" :label="item.label" :value="item.value" />
-          </el-select>
-        </el-form-item>
-        <template v-if="form.isAbandoned === 1">
-          <el-form-item label="废弃日期" prop="abandonmentDate" required>
-            <el-input v-model="form.abandonmentDate" placeholder="请输入废弃日期" />
-          </el-form-item>
-          <el-form-item label="废弃原因" prop="abandonmentReason" required>
-            <el-input v-model="form.abandonmentReason" placeholder="请输入废弃原因" />
-          </el-form-item>
-        </template>
       </el-form>
     </div>
     <template #footer>
@@ -61,10 +48,7 @@ const reset = () => {
   form.value = {
     id: null,
     categoryId: 0,
-    isAbandoned: 0,
     code: '',
-    abandonmentDate: '',
-    abandonmentReason: '',
     remark: ''
   }
   proxy.resetForm('carrierFormRef')
@@ -76,15 +60,11 @@ const handleSave = () => {
     proxy.$modal.msgError('载具编号不能为空')
     return
   }
-  if (form.value.isAbandoned === 1 && form.value.abandonmentDate === '') {
-    proxy.$modal.msgError('废弃日期不能为空')
-    return
-  }
-  if (form.value.isAbandoned === 1 && form.value.abandonmentReason === '') {
-    proxy.$modal.msgError('废弃原因不能为空')
-    return
-  }
   saveCarrier(form.value).then((res) => {
+    if (res.code === 601) {
+      proxy.$modal.msgWarn(res.msg)
+      return
+    }
     if (res.code === 200) {
       proxy.$modal.msgSuccess('操作成功')
       emit('handleSaveSuccess')

+ 92 - 0
src/views/business/carrier/formAbandonment.vue

@@ -0,0 +1,92 @@
+<template>
+  <!-- 添加或修改项目信息对话框 -->
+  <el-dialog title="载具信息表单" v-model="visible" width="400px" append-to-body draggable>
+    <div class="form-container">
+      <el-form ref="carrierFormRef" class="master-container" v-loading="loading" :model="form" label-width="80px">
+        <el-form-item label="载具编号" prop="code" required>{{ form.code }}</el-form-item>
+        <el-form-item label="废弃日期" prop="abandonmentDate" required>
+          <el-date-picker type="date" v-model="form.abandonmentDate" placeholder="请选择废弃日期" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
+        </el-form-item>
+        <el-form-item label="废弃原因" prop="abandonmentReason" required>
+          <el-input v-model="form.abandonmentReason" placeholder="请输入废弃原因" />
+        </el-form-item>
+      </el-form>
+    </div>
+    <template #footer>
+      <el-button type="primary" @click="handleSave">确 定</el-button>
+      <el-button @click="handleCancel">取 消</el-button>
+    </template>
+  </el-dialog>
+</template>
+<script setup>
+import { getCarrier, saveCarrier } from '@/api/business/carrier'
+import { ref } from 'vue'
+const { proxy } = getCurrentInstance()
+const emit = defineEmits(['handleSaveSuccess'])
+
+const loading = ref(false)
+const visible = ref(false)
+const form = ref({})
+
+/***********************  方法区  ****************************/
+/** 打开抽屉 */
+const open = (data) => {
+  reset()
+  visible.value = true
+  loading.value = true
+  form.value.categoryId = data.categoryId
+  getCarrier(data.id || 0).then((res) => {
+    if (res.data) {
+      form.value = res.data
+      form.value.abandonmentDate = form.value.isAbandoned === 1 ? res.data.abandonmentDate : proxy.moment().format('YYYY-MM-DD')
+      form.value.isAbandoned = '1'
+
+      console.log(form.value)
+    }
+    loading.value = false
+  })
+}
+
+/** 表单重置 */
+const reset = () => {
+  form.value = {
+    id: null,
+    categoryId: 0,
+    isAbandoned: '1',
+    code: '',
+    abandonmentDate: proxy.moment().format('YYYY-MM-DD'),
+    abandonmentReason: ''
+  }
+  proxy.resetForm('carrierFormRef')
+}
+
+/** 提交按钮 */
+const handleSave = () => {
+  if (form.value.abandonmentReason === '') {
+    proxy.$modal.msgError('废弃原因不能为空')
+    return
+  }
+  saveCarrier(form.value).then((res) => {
+    if (res.code === 601) {
+      proxy.$modal.msgWarn(res.msg)
+      return
+    }
+    if (res.code === 200) {
+      proxy.$modal.msgSuccess('操作成功')
+      emit('handleSaveSuccess')
+    }
+    visible.value = false
+  })
+}
+
+/** 取消按钮 */
+const handleCancel = () => {
+  visible.value = false
+  reset()
+}
+
+/** 暴露给父组件的方法 */
+defineExpose({
+  open
+})
+</script>

+ 61 - 15
src/views/business/carrier/index.vue

@@ -62,6 +62,7 @@
         </el-form-item>
         <el-form-item>
           <el-button type="info" icon="Search" @click="handleQueryCarrier">搜索</el-button>
+          <el-button type="success" icon="Refresh" @click="handleRefreshCarrier">刷新</el-button>
           <el-button type="primary" icon="Plus" @click="handleShowCarrierDialog(null)" v-hasPermi="['business:carrier:add']">新增</el-button>
           <el-button type="warning">批量下载二维码</el-button>
         </el-form-item>
@@ -76,19 +77,53 @@
             <el-table-column prop="code" label="载具编号" width="80" align="center" />
             <el-table-column label="状态" width="70" prop="status" align="center">
               <template #default="scope">
-                <dict-tag :options="carrier_status" :value="scope.row.status" />
+                {{ scope.row.status }}
+                <dict-tag :options="carrier_status" :value="scope.row.isAbandoned" />
               </template>
             </el-table-column>
-            <el-table-column prop="creatTime" label="添加时间" width="120" align="center" />
-            <el-table-column prop="remark" label="废弃原因" align="center" />
-            <el-table-column label="操作" align="center" width="150">
+            <el-table-column prop="createTime" label="添加日期" width="120" align="center">
+              <template #default="scope">
+                {{ proxy.moment(scope.row.createTime).format('YYYY-MM-DD') }}
+              </template>
+            </el-table-column>
+            <el-table-column prop="remark" label="备注" align="center" />
+            <el-table-column prop="abandonmentDate" label="废弃日期" width="120" align="center">
+              <template #default="scope">
+                {{
+                  scope.row.abandonmentDate && proxy.moment(scope.row.abandonmentDate).format('YYYY-MM-DD') !== '1970-01-01'
+                    ? proxy.moment(scope.row.abandonmentDate).format('YYYY-MM-DD')
+                    : '-'
+                }}
+              </template>
+            </el-table-column>
+            <el-table-column prop="abandonmentReason" label="废弃原因" align="center">
+              <template #default="scope">
+                {{ scope.row.abandonmentReason ? scope.row.abandonmentReason : '-' }}
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" header-align="center" width="152">
               <template #default="scope">
                 <el-button link type="warning" icon="Edit" @click="handleShowCarrierDialog(scope.row.id)" v-hasPermi="['business:carrier:edit']">
                   编辑
                 </el-button>
-                <el-button link type="info" icon="Delete" @click="handleDeleteCarrier(scope.row.id)" v-hasPermi="['business:process:remove']"
+                <el-button
+                  v-if="scope.row.isAbandoned === 0"
+                  link
+                  type="danger"
+                  icon="Delete"
+                  @click="handleShowAbandonDialog(scope.row.id)"
+                  v-hasPermi="['business:carrier:abandonment']"
                   >废弃</el-button
                 >
+                <el-button
+                  v-else
+                  link
+                  type="success"
+                  icon="CircleCheck"
+                  @click="handleUnAbandoned(scope.row.id)"
+                  v-hasPermi="['business:carrier:unAbandonment']"
+                  >取消废弃</el-button
+                >
               </template>
             </el-table-column>
           </el-table>
@@ -100,17 +135,21 @@
     </section>
 
     <!-- 载具类别表单 -->
-    <carrier-category-form ref="carrierCategoryRef" @handleSaveSuccess="handleQueryCategory" />
+    <carrier-category-form ref="carrierCategoryRef" @handleSaveSuccess="handleRefreshCarrier" />
 
     <!-- 载具表单 -->
-    <carrier-form ref="carrierRef" @handleSaveSuccess="handleQueryCarrier" />
+    <carrier-form ref="carrierRef" @handleSaveSuccess="handleRefreshCarrier" />
+
+    <!-- 废弃弹窗 -->
+    <carrier-abandonment-form ref="carrierAbandonmentRef" @handleSaveSuccess="handleRefreshCarrier" />
   </div>
 </template>
 
 <script setup name="Process">
-import { listCategory, delCategory, listCarrier, delCarrier } from '@/api/business/carrier'
+import { listCategory, delCategory, listCarrier, unAbandoned } from '@/api/business/carrier'
 import carrierForm from './form'
 import carrierCategoryForm from './formCategory'
+import carrierAbandonmentForm from './formAbandonment'
 const { proxy } = getCurrentInstance()
 const { carrier_status } = proxy.useDict('carrier_status')
 
@@ -193,26 +232,33 @@ const getCarriers = () => {
   })
 }
 
+const handleRefreshCarrier = () => {
+  getCarriers()
+}
+
 const handleQueryCarrier = () => {
   queryParams.value.pageNum = 1
-  getCarriers()
+  handleRefreshCarrier()
 }
 
 /** 修改按钮操作 */
-function handleShowCarrierDialog(id) {
+const handleShowCarrierDialog = (id) => {
   proxy.$refs.carrierRef.open({ categoryId: currentCategory.value.id, id: id })
 }
 
-/** 删除按钮操作 */
-function handleDeleteCarrier(id) {
+const handleShowAbandonDialog = (id) => {
+  proxy.$refs.carrierAbandonmentRef.open({ id: id })
+}
+
+const handleUnAbandoned = (id) => {
   proxy.$modal
-    .confirm('确认删除选中项?')
+    .confirm('确定取消废弃选中项?')
     .then(() => {
-      return delCarrier(id)
+      return unAbandoned(id)
     })
     .then(() => {
       proxy.$modal.msgSuccess('操作成功!')
-      getList()
+      handleRefreshCarrier()
     })
     .catch(() => {})
 }

+ 9 - 7
src/views/business/turnover/index.vue

@@ -6,7 +6,7 @@
       <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true">
         <el-form-item label="车间管理" />
         <el-form-item>
-          <el-button type="primary" icon="Plus" @click="handleAdd" v-hasPermi="['system:menu:add']">新增</el-button>
+          <el-button type="primary" icon="Plus" @click="handleAdd" v-hasPermi="['system:turnover:add']">新增</el-button>
         </el-form-item>
       </el-form>
       <!-- 列表区 -->
@@ -25,8 +25,10 @@
             <el-table-column label="工段名称" prop="name" align="center" />
             <el-table-column label="操作" width="150" align="center">
               <template #default="scope">
-                <el-button link type="warning" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['business:vehicle:edit']">编辑</el-button>
-                <el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['business:vehicle:remove']">删除</el-button>
+                <el-button link type="warning" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['business:turnover:edit']">编辑</el-button>
+                <el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['business:turnover:remove']"
+                  >删除</el-button
+                >
               </template>
             </el-table-column>
           </el-table>
@@ -39,11 +41,11 @@
       <!-- 搜索区域 -->
       <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true">
         <el-form-item label="周转位置" />
+        <el-form-item>
+          <el-button type="primary" icon="Plus" @click="handleAdd" v-hasPermi="['system:turnover:add']">新增</el-button>
+        </el-form-item>
       </el-form>
-      <!-- 按钮区域 -->
-      <div class="list-btns-container">
-        <el-button type="primary" icon="Plus" @click="handleAdd" v-hasPermi="['system:menu:add']">新增</el-button>
-      </div>
+
       <!-- 列表区 -->
       <div class="el-table-container">
         <div class="el-table-inner-container">