lem 3 роки тому
батько
коміт
c0afb6f47e

+ 13 - 2
src/views/modules/deductiondetails/DeductionDetailsForm.vue

@@ -160,14 +160,14 @@
     components: {
     },
     methods: {
-      init (method, id) {
+      init (method, id, classId) {
         this.method = method
         this.inputForm.id = id
         this.unitId = id
         if (method === 'add') {
           this.title = `新建扣分详情`
         } else if (method === 'edit') {
-          this.title = '修改扣分详情'
+          this.title = '扣分'
         } else if (method === 'view') {
           this.title = '查看扣分详情'
         }
@@ -190,8 +190,18 @@
               method: 'get'
             }).then(({data}) => {
               this.bigClass = data.bigClass
+              this.inputForm.classId = classId
               this.veto = '0'
               this.loading = false
+              this.$http({
+                url: `/deductiondetails/deductionDetails/getSubClass?id=${this.inputForm.classId}`,
+                method: 'get'
+              }).then(({data}) => {
+                console.log('111')
+                console.log(data)
+                this.subClass = data.subClass
+                this.loading = false
+              })
             })
           }
         })
@@ -230,6 +240,7 @@
         }).then(({data}) => {
           console.log(data)
           this.subClass = data.subClass
+          this.inputForm.subClassId = ''
           this.loading = false
         })
       },

+ 1 - 1
src/views/modules/deductiondetails/DeductionDetailsList.vue

@@ -288,7 +288,7 @@
         id = id || this.dataListSelections.map(item => {
           return item.id
         })[0]
-        this.$refs.deductionDetailsForm.init('edit', id, '', '', '')
+        this.$refs.deductionDetailsForm.init('edit', id, '')
       },
       // 查看
       view (id) {

+ 2 - 2
src/views/modules/deductionshowdetails/CostCompletionList.vue

@@ -251,13 +251,13 @@
             this.subClass = '5aabe8b2882c4de396626e7de6a712f7'
             break
         }
-        this.$router.push({path: './DeductionShowDetailsList', query: {unitId: id, subClass: this.subClass}})
+        this.$router.push({path: './DeductionShowDetailsList', query: {unitId: id, subClass: this.subClass, classId: '783ba447e0774b139fa1dc6ad4eeb4f3'}})
       },
       sub (id) {
         id = id || this.dataListSelections.map(item => {
           return item.id
         })[0]
-        this.$refs.deductionDetailsForm.init('edit', id)
+        this.$refs.deductionDetailsForm.init('edit', id, '783ba447e0774b139fa1dc6ad4eeb4f3')
       },
       // 查看
       view (id) {

+ 127 - 68
src/views/modules/deductionshowdetails/DeductionShowDetailsForm.vue

@@ -8,98 +8,95 @@
              label-width="120px">
       <el-row  :gutter="15">
         <el-col :span="12">
-            <el-form-item label="施工单位Id" prop="unitId"
-                :rules="[
-                 ]">
-              <el-input v-model="inputForm.unitId" placeholder="请填写施工单位Id"     ></el-input>
-           </el-form-item>
-        </el-col>
-        <el-col :span="12">
-            <el-form-item label="大类Id" prop="classId"
-                :rules="[
-                 ]">
-              <el-input v-model="inputForm.classId" placeholder="请填写大类Id"     ></el-input>
-           </el-form-item>
-        </el-col>
-        <el-col :span="12">
-            <el-form-item label="小类Id" prop="subClassId"
-                :rules="[
-                 ]">
-              <el-input v-model="inputForm.subClassId" placeholder="请填写小类Id"     ></el-input>
-           </el-form-item>
-        </el-col>
-        <el-col :span="12">
             <el-form-item label="年份" prop="yearOfEvaluation"
                 :rules="[
                  ]">
-              <el-input v-model="inputForm.yearOfEvaluation" placeholder="请填写年份"     ></el-input>
+              <el-input readonly v-model="inputForm.yearOfEvaluation" placeholder="请填写年份"     ></el-input>
            </el-form-item>
         </el-col>
         <el-col :span="12">
             <el-form-item label="名称" prop="unitName"
                 :rules="[
                  ]">
-              <el-input v-model="inputForm.unitName" placeholder="请填写名称"     ></el-input>
+              <el-input readonly v-model="inputForm.unitName" placeholder="请填写名称"     ></el-input>
            </el-form-item>
         </el-col>
         <el-col :span="12">
-            <el-form-item label="大类名称" prop="bigName"
-                :rules="[
+          <el-form-item label="扣分大类" prop="classId"
+                        :rules="[
+                  {required: true, message:'扣分大类不能为空', trigger:'blur'}
                  ]">
-              <el-input v-model="inputForm.bigName" placeholder="请填写大类名称"     ></el-input>
-           </el-form-item>
+            <el-select v-model="inputForm.classId" placeholder="请选择" @change="selectGoodsByGroupId($event)"  style="width: 100%;">
+              <el-option
+                v-for="item in bigClass"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
         </el-col>
         <el-col :span="12">
-            <el-form-item label="小类序号" prop="serialNumber"
-                :rules="[
+          <el-form-item label="扣分小类" prop="subClassId"
+                        :rules="[
+                  {required: true, message:'扣分小类不能为空', trigger:'blur'}
                  ]">
-              <el-input v-model="inputForm.serialNumber" placeholder="请填写小类序号"     ></el-input>
-           </el-form-item>
+            <el-select v-model="inputForm.subClassId" placeholder="请选择" @change="selectVeto($event)"  style="width: 100%;">
+              <el-option
+                v-for="item in subClass"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
         </el-col>
         <el-col :span="12">
-            <el-form-item label="小类名称" prop="smallName"
-                :rules="[
+          <el-form-item v-if="inputForm.veto != 1" label="扣分" prop="deductPoints"
+                        :rules="[
+                  {required: true,  message:'扣分分数不为空', trigger:'blur'},
+                  {validator: isNumberZero, trigger:'blur'}
                  ]">
-              <el-input v-model="inputForm.smallName" placeholder="请填写小类名称"     ></el-input>
-           </el-form-item>
+            <el-input type="number" v-model="inputForm.deductPoints" placeholder="请填写扣分"     ></el-input>
+          </el-form-item>
         </el-col>
         <el-col :span="12">
-            <el-form-item label="扣分分数" prop="deductPoints"
-                :rules="[
-                  {required: true, message:'扣分分数不能为空', trigger:'blur'}
+          <el-form-item label="扣分详情" prop="deductionDetails"
+                        :rules="[
+                  {required: true,  message:'扣分详情不为空', trigger:'blur'},
                  ]">
-              <el-input v-model="inputForm.deductPoints" placeholder="请填写扣分分数"     ></el-input>
-           </el-form-item>
+            <el-input type="textarea" resize="none" :autosize="{ minRows: 4, maxRows: 4 }" v-model="inputForm.deductionDetails" placeholder="请填写扣分详情"     ></el-input>
+          </el-form-item>
         </el-col>
         <el-col :span="12">
-            <el-form-item label="扣分详情" prop="deductionDetails"
-                :rules="[
-                  {required: true, message:'扣分详情不能为空', trigger:'blur'}
+          <el-form-item label="日期" prop="deductionDate"
+                        :rules="[
+                  {required: true,  message:'扣分日期不为空', trigger:'blur'},
                  ]">
-              <el-input v-model="inputForm.deductionDetails" placeholder="请填写扣分详情"     ></el-input>
-           </el-form-item>
+            <el-date-picker
+              style="width: 100%;"
+              readonly
+              v-model="inputForm.deductionDate"
+              type="date"
+              value-format="yyyy-MM-dd"
+              placeholder="选择扣分日期">
+            </el-date-picker>
+          </el-form-item>
         </el-col>
         <el-col :span="12">
-            <el-form-item label="扣分日期" prop="deductionDate"
-                :rules="[
+          <el-form-item v-if="veto == '1'" label="是否否决" prop="veto"
+                        :rules="[
+                  {required: true,  message:'是否否决不能为空', trigger:'blur'},
                  ]">
-              <el-input v-model="inputForm.deductionDate" placeholder="请填写扣分日期"     ></el-input>
-           </el-form-item>
-        </el-col>
-        <el-col :span="12">
-            <el-form-item label="是否否决" prop="veto"
-                :rules="[
-                  {required: true, message:'是否否决不能为空', trigger:'blur'}
-                 ]">
-                <el-select v-model="inputForm.veto" placeholder="请选择"  style="width: 100%;">
-                          <el-option
-                            v-for="item in $dictUtils.getDictList('')"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value">
-                          </el-option>
-                      </el-select>
-           </el-form-item>
+            <el-select v-model="inputForm.veto" placeholder="请选择"  style="width: 100%;">
+              <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
         </el-col>
         </el-row>
     </el-form>
@@ -119,6 +116,19 @@
         method: '',
         visible: false,
         loading: false,
+        isNumberZero: (rule, value, callback) => {
+          const reg = /^[+]?[1-9]+$/
+          if (!reg.test(value)) {
+            return callback(new Error('情输入正确的扣分分数'))
+          }
+          this.$http.get(`/database/datalink/dataSource/checkEnName?oldEnName=${this.inputForm.oldEnName}&enName=${value}`).then(({data}) => {
+            if (!data.success) {
+              return callback(new Error('连接英文名已存在!'))
+            } else {
+              return callback()
+            }
+          })
+        },
         inputForm: {
           id: '',
           unitId: '',
@@ -133,7 +143,17 @@
           deductionDetails: '',
           deductionDate: '',
           veto: ''
-        }
+        },
+        bigClass: [],
+        subClass: [],
+        veto: '0',
+        options: [ {
+          value: '0',
+          label: '否'
+        }, {
+          value: '1',
+          label: '是'
+        }]
       }
     },
     components: {
@@ -145,7 +165,7 @@
         if (method === 'add') {
           this.title = `新建扣分详细`
         } else if (method === 'edit') {
-          this.title = '查看扣分详细'
+          this.title = '修改'
         } else if (method === 'view') {
           this.title = '查看扣分详细'
         }
@@ -156,10 +176,26 @@
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
             this.$http({
-              url: `/deductionshowdetails/deductionShowDetails/queryById?id=${this.inputForm.id}`,
+              url: `/deductionShowDetails/deductionShowDetails/queryById?id=${this.inputForm.id}`,
               method: 'get'
             }).then(({data}) => {
+              console.log(data)
               this.inputForm = this.recover(this.inputForm, data.deductionShowDetails)
+              this.veto = data.deductionShowDetails.veto
+              this.$http({
+                url: `/deductiondetails/deductionDetails/getBigClass?id=0`,
+                method: 'get'
+              }).then(({data}) => {
+                this.bigClass = data.bigClass
+                this.loading = false
+                this.$http({
+                  url: `/deductiondetails/deductionDetails/getSubClass?id=${this.inputForm.classId}`,
+                  method: 'get'
+                }).then(({data}) => {
+                  this.subClass = data.subClass
+                  this.loading = false
+                })
+              })
               this.loading = false
             })
           }
@@ -171,7 +207,7 @@
           if (valid) {
             this.loading = true
             this.$http({
-              url: `/deductionshowdetails/deductionShowDetails/save`,
+              url: `/deductionShowDetails/deductionShowDetails/update`,
               method: 'post',
               data: this.inputForm
             }).then(({data}) => {
@@ -184,6 +220,29 @@
             })
           }
         })
+      },
+      selectGoodsByGroupId (val) {
+        this.$http({
+          url: `/deductiondetails/deductionDetails/getSubClass?id=${this.inputForm.classId}`,
+          method: 'get'
+        }).then(({data}) => {
+          console.log(data)
+          this.subClass = data.subClass
+          this.inputForm.subClassId = ''
+          this.loading = false
+        })
+      },
+      selectVeto (val) {
+        console.log(val)
+        this.$http({
+          url: `/deductiondetails/deductionDetails/getVeto?id=${this.inputForm.subClassId}`,
+          method: 'get'
+        }).then(({data}) => {
+          console.log(data)
+          this.veto = data.veto
+          this.inputForm.veto = '0'
+          this.loading = false
+        })
       }
     }
   }

+ 92 - 12
src/views/modules/deductionshowdetails/DeductionShowDetailsList.vue

@@ -18,6 +18,30 @@
             <el-input size="small" v-model="searchForm.unitName" placeholder="单位名称" clearable></el-input>
           </el-form-item>
         </el-col>
+        <el-col :span="8">
+          <el-form-item label="扣分大类" prop="classId">
+            <el-select v-model="searchForm.classId" placeholder="请选择" @change="selectGoodsByGroupId($event)"  style="width: 100%;">
+              <el-option
+                v-for="item in bigClass"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="扣分小类" prop="subClassId">
+            <el-select v-model="searchForm.subClassId" placeholder="请选择"  style="width: 100%;">
+              <el-option
+                v-for="item in subClass"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
         <el-form-item>
             <el-button type="primary" @click="refreshList()" size="small">查询</el-button>
             <el-button @click="resetSearch()" size="small">重置</el-button>
@@ -40,10 +64,10 @@
         </el-form-item>
       </el-form>
       <el-row>
-        <el-button v-if="hasPermission('deductiondetails:deductionDetails:edit')" type="warning" size="small" icon="el-icon-edit-outline" @click="sub()"
-                   :disabled="dataListSelections.length != 1" plain>扣分</el-button>
-<!--        <el-button v-if="hasPermission('deductionshowdetails:deductionShowDetails:edit')" type="warning" size="small" icon="el-icon-edit-outline" @click="edit()"
-         :disabled="dataListSelections.length != 1" plain>修改</el-button>-->
+        <!--<el-button v-if="hasPermission('deductiondetails:deductionDetails:edit')" type="warning" size="small" icon="el-icon-edit-outline" @click="sub()"
+                   :disabled="dataListSelections.length != 1" plain>扣分</el-button>-->
+        <el-button v-if="hasPermission('deductionshowdetails:deductionShowDetails:edit')" type="warning" size="small" icon="el-icon-edit-outline" @click="edit()"
+         :disabled="dataListSelections.length != 1" plain>修改</el-button>
         <el-button v-if="hasPermission('deductionshowdetails:deductionShowDetails:del')" type="danger"   size="small" icon="el-icon-delete" @click="del()"
                   :disabled="dataListSelections.length <= 0" plain>删除
         </el-button>
@@ -178,6 +202,7 @@
           unitId: '',
           classId: '',
           subClassId: '',
+          unitName: '',
           subClass: ''
         },
         dataList: [],
@@ -188,7 +213,11 @@
         dataListSelections: [],
         isSearchCollapse: false,
         isImportCollapse: false,
-        loading: false
+        loading: false,
+        bigClassId: '',
+        classId: '',
+        bigClass: [],
+        subClass: []
       }
     },
     components: {
@@ -196,17 +225,60 @@
       DeductionDetailsForm
     },
     activated () {
-      this.refreshList()
+      this.initList()
     },
 
     methods: {
       // 获取数据列表
       refreshList () {
+        this.$http({
+          url: '/deductionShowDetails/deductionShowDetails/list',
+          method: 'get',
+          params: {
+            'pageNo': this.pageNo,
+            'pageSize': this.pageSize,
+            'orderBy': this.orderBy,
+            ...this.searchForm
+          }
+        }).then(({data}) => {
+          if (data && data.success) {
+            this.dataList = data.page.list
+            this.total = data.page.count
+            this.loading = false
+          }
+        })
+      },
+      initList () {
         this.loading = true
         this.searchForm.unitId = this.$route.query.unitId
-        this.searchForm.classId = this.$route.query.classId
-        this.searchForm.subClassId = this.$route.query.subClass
-        console.log(this.searchForm)
+        this.$http({
+          url: '/deductionShowDetails/deductionShowDetails/getName',
+          method: 'get',
+          params: {
+            'id': this.searchForm.unitId
+          }
+        }).then(({data}) => {
+          this.searchForm.unitName = data.unitName
+        })
+        this.$http({
+          url: `/deductiondetails/deductionDetails/getBigClass?id=0`,
+          method: 'get'
+        }).then(({data}) => {
+          this.bigClass = data.bigClass
+          console.log(data.bigClass)
+          this.searchForm.classId = this.$route.query.classId
+          this.veto = '0'
+          this.loading = false
+          this.$http({
+            url: `/deductiondetails/deductionDetails/getSubClass?id=${this.searchForm.classId}`,
+            method: 'get'
+          }).then(({data}) => {
+            this.subClass = data.subClass
+            this.searchForm.subClassId = this.$route.query.subClass
+            this.loading = false
+          })
+        })
+
         this.$http({
           url: '/deductionShowDetails/deductionShowDetails/list',
           method: 'get',
@@ -224,7 +296,6 @@
           }
         })
       },
-
       // 每页数
       sizeChangeHandle (val) {
         this.pageSize = val
@@ -240,7 +311,16 @@
       selectionChangeHandle (val) {
         this.dataListSelections = val
       },
-
+      selectGoodsByGroupId (val) {
+        this.$http({
+          url: `/deductiondetails/deductionDetails/getSubClass?id=${this.searchForm.classId}`,
+          method: 'get'
+        }).then(({data}) => {
+          this.subClass = data.subClass
+          this.searchForm.subClassId = ''
+          this.loading = false
+        })
+      },
     // 排序
       sortChangeHandle (obj) {
         if (obj.order === 'ascending') {
@@ -285,7 +365,7 @@
         }).then(() => {
           this.loading = true
           this.$http({
-            url: '/deductionshowdetails/deductionShowDetails/delete',
+            url: '/deductionShowDetails/deductionShowDetails/delete',
             method: 'delete',
             params: {'ids': ids}
           }).then(({data}) => {

+ 3 - 3
src/views/modules/deductionshowdetails/OtherPointsList.vue

@@ -249,17 +249,17 @@
             this.subClass = 'be115e9ac0c841d5b475743be8499f4c'
             break
         }
-        this.$router.push({path: './DeductionShowDetailsList', query: {unitId: id, subClass: this.subClass}})
+        this.$router.push({path: './DeductionShowDetailsList', query: {unitId: id, subClass: this.subClass, classId: '2f0e74b9e50b4bbb8d6322feac578076'}})
       },
       sub (id) {
         id = id || this.dataListSelections.map(item => {
           return item.id
         })[0]
-        this.$refs.deductionDetailsForm.init('edit', id)
+        this.$refs.deductionDetailsForm.init('edit', id, '2f0e74b9e50b4bbb8d6322feac578076')
       },
       // 查看
       view (id) {
-        this.$refs.deductionShowDetailsForm.init('view', id)
+        this.$refs.deductionDetailsForm.init('edit', id)
       },
       // 删除
       del (id) {

+ 2 - 2
src/views/modules/deductionshowdetails/QualityCivilizedList.vue

@@ -285,13 +285,13 @@
             this.subClass = '70ed4b0c8a0443d586f9f9c97a044c41'
             break
         }
-        this.$router.push({path: './DeductionShowDetailsList', query: {unitId: id, subClass: this.subClass}})
+        this.$router.push({path: './DeductionShowDetailsList', query: {unitId: id, subClass: this.subClass, classId: 'bc91443b714c4993a3b136e000eb8bc2'}})
       },
       sub (id) {
         id = id || this.dataListSelections.map(item => {
           return item.id
         })[0]
-        this.$refs.deductionDetailsForm.init('edit', id)
+        this.$refs.deductionDetailsForm.init('edit', id, 'bc91443b714c4993a3b136e000eb8bc2')
       },
       // 查看
       view (id) {

+ 3 - 3
src/views/modules/deductionshowdetails/SiteQualityList.vue

@@ -193,7 +193,7 @@
       refreshList () {
         this.loading = true
         this.$http({
-          url: '/deductionShowDetails/deductionShowDetails/SiteQualityList',
+          url: '/deductionShowDetails/deductionShowDetails/siteQualityList',
           method: 'get',
           params: {
             'pageNo': this.pageNo,
@@ -273,13 +273,13 @@
             this.subClass = '7e9cdf43a4ba4db490ae03a23844b2f3'
             break
         }
-        this.$router.push({path: './DeductionShowDetailsList', query: {unitId: id, subClass: this.subClass}})
+        this.$router.push({path: './DeductionShowDetailsList', query: {unitId: id, subClass: this.subClass, classId: '8c9fe0f62745471e8c341e0e7327aa9b'}})
       },
       sub (id) {
         id = id || this.dataListSelections.map(item => {
           return item.id
         })[0]
-        this.$refs.deductionDetailsForm.init('edit', id)
+        this.$refs.deductionDetailsForm.init('edit', id, '8c9fe0f62745471e8c341e0e7327aa9b')
       },
       // 查看
       view (id) {

+ 2 - 2
src/views/modules/deductionshowdetails/SiteSafetyList.vue

@@ -249,13 +249,13 @@
             this.subClass = 'b88060ddd070461dbc0b27ca22b599a7'
             break
         }
-        this.$router.push({path: './DeductionShowDetailsList', query: {unitId: id, subClass: this.subClass}})
+        this.$router.push({path: './DeductionShowDetailsList', query: {unitId: id, subClass: this.subClass, classId: '7a77a8251b124e858a1bef1bb353372b'}})
       },
       sub (id) {
         id = id || this.dataListSelections.map(item => {
           return item.id
         })[0]
-        this.$refs.deductionDetailsForm.init('edit', id)
+        this.$refs.deductionDetailsForm.init('edit', id, '7a77a8251b124e858a1bef1bb353372b')
       },
       // 查看
       view (id) {