Explorar o código

设备台账完成

yuedefeng %!s(int64=6) %!d(string=hai) anos
pai
achega
c2a6a073af

+ 1 - 1
src/dashoo.cn/backend/api/business/limscheckequipmentlist/limscheckequipmentlist.go

@@ -15,7 +15,7 @@ type LimsCheckEquipmentList struct {
 	Position        string    `json:"Position" xorm:"comment('安装位置') VARCHAR(255) 'Position'"`
 	CustNo          string    `json:"CustNo" xorm:"comment('编号') VARCHAR(255) 'CustNo'"`
 	DeviceName       string    `json:"DeviceName" xorm:"comment('设备名称') VARCHAR(255) 'DeviceName'"`
-	TemplateTypeId   string    `json:"TemplateTypeId" xorm:"comment('模板分类ID') VARCHAR(255) 'TemplateTypeId'"`
+	TemplateTypeId   int    	`json:"TemplateTypeId" xorm:"comment('模板分类ID') INT(11) 'TemplateTypeId'"`
 	TemplateTypeName string    `json:"TemplateTypeName" xorm:"comment('模板分类名称') VARCHAR(255) 'TemplateTypeName'"`
 	Spec            string    `json:"Spec" xorm:"comment('规格型号') VARCHAR(255) 'Spec'"`
 	SpecId          string    `json:"SpecId" xorm:"comment('规格型号Id') VARCHAR(255) 'SpecId'"`

+ 5 - 0
src/dashoo.cn/backend/api/controllers/lims/limscheckequipmentlist.go

@@ -1,6 +1,7 @@
 package lims
 
 import (
+	"dashoo.cn/backend/api/business/organize"
 	"encoding/json"
 	//"strings"
 	"time"
@@ -172,6 +173,10 @@ func (this *LimsCheckEquipmentListController) AddEntity() {
 	model.CreateBy = this.User.Realname
 	model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
 	model.DepartmentId, _ = utils.StrTo(this.User.DepartmentId).Int()
+	var organizeEntity organize.Base_Organize
+	orgsrv := organize.GetOrganizeService(utils.DBE)
+	orgsrv.GetEntityById(this.User.DepartmentId, &organizeEntity)
+	model.Departmentname = organizeEntity.Fullname
 
 	_, err := svc.InsertEntityBytbl(this.User.AccCode+LimsCheckEquipmentListName, &model)
 

+ 1 - 1
src/dashoo.cn/frontend_web/nuxt.config.ignore.js

@@ -173,7 +173,7 @@ module.exports = {
     'pages/lims/tasksentrust/*.*',
     'pages/system/*.*',
     'pages/setting/*.*',
-    'pages/prototype/!*.*',
+    'pages/prototype/*.*',
     'pages/material/*.*',
     'pages/report/*.*',
   ]

+ 1 - 1
src/dashoo.cn/frontend_web/package.json

@@ -6,7 +6,7 @@
   "private": true,
   "scripts": {
     "dev": "nuxt",
-    "dev2": "nuxt --max-old-space-size=4096 -c nuxt.config.ignore.js",
+    "dev2": "nuxt -c nuxt.config.ignore.js",
     "build": "nuxt build",
     "build2": "nuxt build -c nuxt.config.ignore.js --spa",
     "start": "cross-env HOST=0.0.0.0 PORT=9605 nuxt start",

+ 82 - 70
src/dashoo.cn/frontend_web/src/pages/lims/checkequipmentlist/index.vue

@@ -6,7 +6,7 @@
       <el-breadcrumb-item :to="{ path: '/' }">平台首页</el-breadcrumb-item>
       <el-breadcrumb-item :to="{ path: '/lims/s5ovelimscheckequipmentlist' }">二级单位设备台账表</el-breadcrumb-item>
     </el-breadcrumb>-->
-    <el-card class="box-card" style="height: calc(100vh - 115px);">
+    <el-card class="box-card" style="height: calc(100vh - 90px);">
       <div slot="header">
         <span>
           <i class="icon icon-table2"></i> 设备台账
@@ -64,27 +64,15 @@
             </el-form-item>
           </el-col>
 
-          <el-col :span="12">
-            <el-form-item label="">
-              <el-input size="mini" v-model="searchForm.Id" style="width:100%" placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-
-          <el-col :span="12">
-            <el-form-item label="二级单位ID">
-              <el-input size="mini" v-model="searchForm.DepartmentId" style="width:100%" placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-
           <el-col :span="12">
             <el-form-item label="序号">
-              <el-input size="mini" v-model="searchForm.OrderNo" style="width:100%" placeholder="请输入"></el-input>
+              <el-input v-model="searchForm.OrderNo" style="width:100%" placeholder="请输入"></el-input>
             </el-form-item>
           </el-col>
 
           <el-col :span="12">
-            <el-form-item label="检测地点ID">
-              <el-input size="mini" v-model="searchForm.PositionCheckId" style="width:100%" placeholder="请输入"></el-input>
+            <el-form-item label="编号">
+              <el-input size="mini" v-model="searchForm.CustNo" style="width:100%" placeholder="请输入"></el-input>
             </el-form-item>
           </el-col>
 
@@ -94,43 +82,24 @@
             </el-form-item>
           </el-col>
 
-          <el-col :span="12">
-            <el-form-item label="安装位置ID">
-              <el-input size="mini" v-model="searchForm.PositionID" style="width:100%" placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-
           <el-col :span="12">
             <el-form-item label="安装位置">
               <el-input size="mini" v-model="searchForm.Position" style="width:100%" placeholder="请输入"></el-input>
             </el-form-item>
           </el-col>
 
-          <el-col :span="12">
-            <el-form-item label="编号">
-              <el-input size="mini" v-model="searchForm.CustNo" style="width:100%" placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-
           <el-col :span="12">
             <el-form-item label="规格型号">
               <el-input size="mini" v-model="searchForm.Spec" style="width:100%" placeholder="请输入"></el-input>
             </el-form-item>
           </el-col>
 
-
           <el-col :span="12">
             <el-form-item label="制造厂家">
               <el-input size="mini" v-model="searchForm.Manufacturer" style="width:100%" placeholder="请输入"></el-input>
             </el-form-item>
           </el-col>
 
-          <el-col :span="12">
-            <el-form-item label="产品状态">
-              <el-input size="mini" v-model="searchForm.Status" style="width:100%" placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-
         </el-row>
       </el-form>
       <span slot="footer" class="dialog-footer">
@@ -142,8 +111,13 @@
     <el-dialog title="编辑" :visible.sync="dialogFormVisible">
       <el-form :model="formData" ref="EntityForm">
         <el-form-item label="序号" :label-width="formLabelWidth">
-          <el-input v-model="formData.OrderNo" autocomplete="off"></el-input>
+          <el-input-number v-model="formData.OrderNo" :min="1" style="width:100%" placeholder="请输入"></el-input-number>
         </el-form-item>
+
+        <el-form-item label="编号" :label-width="formLabelWidth">
+          <el-input v-model="formData.CustNo" style="width:100%" placeholder="请输入"></el-input>
+        </el-form-item>
+
         <el-form-item label="设备名称" :label-width="formLabelWidth">
           <el-input v-model="formData.DeviceName" autocomplete="off"></el-input>
         </el-form-item>
@@ -154,7 +128,8 @@
         </el-form-item>
         <el-form-item label="安装地点" :label-width="formLabelWidth" required>
           <el-cascader
-            v-model="formData.PositionCheckId" placeholder="请选择安装地点"
+            ref="cascaderPosition"
+            v-model="PositionList" placeholder="请选择安装地点"
             :options="customerTreeList"
             :props="orgtreeprops"
             style="width: 100%;"
@@ -172,7 +147,7 @@
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible=false">取 消</el-button>
-        <el-button type="primary" @click="saveEntity">确 定</el-button>
+        <el-button type="primary" @click="saveEntity" :loading="saveLoading">确 定</el-button>
       </div>
     </el-dialog>
 
@@ -196,8 +171,10 @@
       return {
         dialogVisible: false,
         dialogFormVisible: false,
+        saveLoading: false,
         //列表数据
         entityList: [],
+        PositionList: [],
         //分页参数
         size: 10,
         currentPage: 1,
@@ -230,11 +207,10 @@
         projectTypeList: [],
         customerTreeList: [],
         tableColumns: [
-
           {
-            prop: 'Id',
-            label: 'ID',
-            width: 100,
+            prop: 'TemplateTypeName',
+            label: '检测报告',
+            width: 200,
             sort: true
           },
 
@@ -262,51 +238,43 @@
           {
             prop: 'Manufacturer',
             label: '制造厂家',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: 'Status',
-            label: '产品状态',
-            width: 100,
+            width: 200,
             sort: true
           },
-
           {
-            prop: 'PositionCheckId',
+            prop: 'PositionCheck',
             label: '检测地点',
-            width: 100,
+            width: 200,
             sort: true
           },
 
           {
             prop: 'Position',
             label: '安装位置',
-            width: 100,
+            width: 200,
             sort: true
           },
 
           {
-            prop: 'Department',
-            label: '二级单位',
-            width: 100,
+            prop: 'DepartmentName',
+            label: '所属单位',
+            width: 200,
             sort: true
-          },
+          }
 
         ],
         formData: {
-          Id: '',
-          DepartmentId: '',
+          Id: 0,
+          DepartmentId: 0,
           DepartmentName: '',
-          OrderNo: '',
-          PositionCheckId: '',
+          OrderNo: 0,
+          PositionCheckId: 0,
           PositionCheck: '',
-          PositionID: '',
+          PositionID: 0,
           Position: '',
           CustNo: '',
           DeviceName: '',
-          TemplateTypeId: '',
+          TemplateTypeId: 0,
           TemplateTypeName: '',
           Spec: '',
           SpecId: '',
@@ -350,7 +318,7 @@
         }
         let myCreateOn = []
         // 解析时间
-        if (this.CreateOn.length == 2) {
+        if (this.CreateOn && this.CreateOn.length == 2) {
           this.CreateOn[1].setHours(23)
           this.CreateOn[1].setMinutes(59)
           this.CreateOn[1].setSeconds(59)
@@ -368,7 +336,7 @@
         })
       },
 
-      getDictOptions() {
+      getDictOptions () {
         api.getDictList(this.$axios).then(res => {
           //this.dictOptions.customerList = res.data.items['customerList']
           //this.dictOptions.projectList = res.data.items['projectList']
@@ -404,7 +372,7 @@
       handleSearch() {
         this.currentPage = 1;
         this.dialogVisible = false;
-        this.initDatas();
+        this.initDatas()
       },
       handleCurrentChange(value) {
         this.currentPage = value
@@ -428,7 +396,7 @@
         row.deleteConfirmFlag = false;
         api.deleteEntity(row.Id, this.$axios).then(res => {
           if (res.data.code === 0) {
-            this.initDatas();
+            this.initDatas()
             this.$message({
               type: 'success',
               message: res.data.message
@@ -518,7 +486,30 @@
 
       NewEntity () {
         this.dialogFormVisible = true
+        this.PositionList = []
         this.formData.Id = 0
+        this.formData.DepartmentId = 0
+        this.formData.DepartmentName = ''
+        this.formData.OrderNo = 0
+        this.formData.PositionCheckId = 0
+        this.formData.PositionCheck = ''
+        this.formData.PositionID = 0
+        this.formData.Position = ''
+        this.formData.CustNo = ''
+        this.formData.DeviceName = ''
+        this.formData.TemplateTypeId = ''
+        this.formData.TemplateTypeName = ''
+        this.formData.Spec = ''
+        this.formData.SpecId = 0
+        this.formData.Manufacturer = ''
+        this.formData.Status = ''
+        this.formData.Remark = ''
+        this.formData.CreateOn = ''
+        this.formData.CreateUserId = 0
+        this.formData.CreateBy = ''
+        this.formData.ModifiedOn = ''
+        this.formData.ModifiedUserId = 0
+        this.formData.ModifiedBy = ''
       },
 
       handlePositionChange (value) {
@@ -526,13 +517,14 @@
         this.formData.PositionID = value[1]
       },
       ShowEntityDialog (entityId) {
-        this.dialogFormVisible = true
         this.initEntity(entityId)
+        this.dialogFormVisible = true
       },
       initEntity (entityId) {
         if (entityId) {
           api.getEntity(entityId, this.$axios).then(res => {
             this.formData = res.data
+            this.PositionList = [ this.formData.PositionCheckId, this.formData.PositionID ]
           }).catch(err => {
             console.error(err)
           })
@@ -541,9 +533,26 @@
 
       // 保存信息
       saveEntity () {
+        if (this.$refs.refProjectTypeId.selectedLabel <= 0) {
+          this.$message({
+            type: 'warning',
+            message: '请选择检测报告'
+          })
+          return
+        }
+        if (this.PositionList.length <= 0) {
+          this.$message({
+            type: 'warning',
+            message: '请选择安装位置'
+          })
+          return
+        }
         this.$refs['EntityForm'].validate((valid) => {
           if (valid) {
+            this.saveLoading = true
             this.formData.TemplateTypeName = this.$refs.refProjectTypeId.selectedLabel + ''
+            this.formData.PositionCheck = this.$refs.cascaderPosition.presentText.split('/')[0]
+            this.formData.Position = this.$refs.cascaderPosition.presentText.split('/')[1]
 
             if (!this.formData.Id) {
               this.addEntity()
@@ -561,6 +570,7 @@
           if (res.data.code === 0) {
             // 保存成功后,初始化数据,变成修改
             this.formData.Id = res.data.item
+            this.dialogFormVisible = false
             this.initDatas()
             this.$message({
               type: 'success',
@@ -572,6 +582,7 @@
               message: res.data.message
             })
           }
+          this.saveLoading = false
         }).catch(err => {
           console.error(err)
         })
@@ -581,18 +592,19 @@
         api.updateEntity(this.formData.Id, this.formData, this.$axios).then(res => {
           if (res.data.code === 0) {
             // 保存成功后,初始化数据,变成修改
+            this.dialogFormVisible = false
             this.initDatas()
             this.$message({
               type: 'success',
               message: res.data.message
             })
-
           } else {
             this.$message({
               type: 'warning',
               message: res.data.message
             })
           }
+          this.saveLoading = false
         }).catch(err => {
           console.error(err)
         })

+ 1 - 3
src/dashoo.cn/frontend_web/src/pages/lims/secondunitform/positionmgr.vue

@@ -1,7 +1,5 @@
 <template>
-  <div style="width: 100%; overflow-y: auto">
-    <customer-position :CustomerId="this.customerForm.Id" DivStyle="height: (100vh - 100px);" v-if="this.customerForm.Id"></customer-position>
-  </div>
+  <customer-position :CustomerId="this.customerForm.Id" DivStyle="height: calc(100vh - 90px);" v-if="this.customerForm.Id"></customer-position>
 </template>
 
 <script>