2
3
lining 5 سال پیش
والد
کامیت
f6ebed5920

+ 40 - 0
src/dashoo.cn/backend/api/business/oilsupplier/badrecord/badrecordservice.go

@@ -1,6 +1,7 @@
 package BadRecord
 
 import (
+	"dashoo.cn/utils"
 	"strconv"
 
 	. "dashoo.cn/backend/api/mydb"
@@ -53,6 +54,45 @@ func (s *BadRecordService) GetMyPagingEntitiesWithOrderBytbl(tableName string, p
 	return total
 }
 
+func (s *BadRecordService) GetMyPagingEntitiesWithOrderBytbl1(TableName, supTableName string, pageIndex, itemsPerPage int64, orderby string, asc bool, entitiesPtr interface{}, where string) (total int64) {
+	var resultsSlice []map[string][]byte
+
+	//获取总记录数
+	sqlCount := `select count(*) from ` + TableName + ` a `
+	sqlCount += ` left join ` + supTableName + " b on (b.SupplierId = a.Id)"
+	sqlCount += ` where ` + where
+
+	var sql string
+	sql = `select a.Id, a.CompanyName, a.CompanyCode, a.CategoryName, a.CategoryCode, a.Record, a.Bak2, a.Bak3, 
+			a.Bak4, a.WZStatus, a.WZRecord, a.JJStatus, a.JJRecord, a.JFStatus, a.JFRecord, a.CertRecord
+			, a.Remark, a.CreateOn, a.CreateUserId, a.CreateBy,count(b.Id) as Bak1 `
+	sql += ` from ` + TableName + ` a `
+	sql += ` left join ` + supTableName + " b on (b.SupplierId = a.CompanyCode AND b.CertSubStatus = '2')"
+	sql += ` where ` + where
+	sql += ` GROUP BY a.Id `
+	if asc {
+		sql += ` order by ` + orderby + ` ASC `
+	} else {
+		sql += ` order by ` + orderby + ` DESC `
+	}
+	if (pageIndex != 0 && itemsPerPage !=0) {
+		sql += ` limit ` + utils.ToStr((pageIndex-1)*itemsPerPage) + "," + utils.ToStr(itemsPerPage)
+	}
+	s.DBE.SQL(sql).Find(entitiesPtr)
+
+	resultsSlice, _ = s.DBE.Query(sqlCount)
+
+	if len(resultsSlice) > 0 {
+		results := resultsSlice[0]
+		for _, value := range results {
+			total, _ = strconv.ParseInt(string(value), 10, 64)
+			break
+		}
+	}
+
+	return total
+}
+
 func (s *BadRecordService) GetName(tableName string, where ...string) (total int64) {
 	var err error
 	var resultsSlice []map[string][]byte

+ 1 - 1
src/dashoo.cn/backend/api/controllers/oilsupplier/badrecord.go

@@ -58,7 +58,7 @@ func (this *BadRecordController) GetTList() {
 
 	svc := BadRecord.GetBadRecordService(utils.DBE) //获得数据库引擎
 	var list []BadRecord.BadRecord
-	total := svc.GetMyPagingEntitiesWithOrderBytbl(BaseBadRecord, page.CurrentPage, page.Size, orderby, asc, &list, where)
+	total := svc.GetMyPagingEntitiesWithOrderBytbl1(BaseBadRecord, OilSupplierCertSubName, page.CurrentPage, page.Size, orderby, asc, &list, where)
 
 	var datainfo DataInfo
 	datainfo.Items = list

+ 79 - 41
src/dashoo.cn/frontend_web/src/pages/oilsupplier/badrecord/index.vue

@@ -123,10 +123,19 @@
                          prop="Jfrecord"
                          :show-overflow-tooltip="true">
         </el-table-column>
-         <el-table-column label="准入范围不良行为"
+         <!--<el-table-column label="准入范围不良行为"-->
+                         <!--align="center"-->
+                         <!--prop="Certrecord"-->
+                         <!--:show-overflow-tooltip="true">-->
+        <!--</el-table-column>-->
+        <el-table-column label="准入范围不良状态"
                          align="center"
-                         prop="Certrecord"
+                         prop="Bak1"
                          :show-overflow-tooltip="true">
+          <template slot-scope="scope">
+            <span style="color: #F56C6C" v-if="scope.row.Bak1 != '0'">暂停{{scope.row.Bak1}}条</span>
+            <span v-else></span>
+          </template>
         </el-table-column>
         <!-- <el-table-column label="类别名称" prop="Categoryname" align="center" width="100px"></el-table-column> -->
 
@@ -432,16 +441,16 @@
           </div>
         </el-tab-pane>
         <el-tab-pane label="准入范围">
-          <el-form label-width="80px"
-                   label-position="top"
-                   class="certForm">
-            <el-form-item label="请先填写,不良记录原因">
-              <el-input type="textarea" :rows="4"
-                        v-model="entityForm.CertRecord"></el-input>
-            </el-form-item>
-          </el-form>
+          <!--<el-form label-width="80px"-->
+                   <!--label-position="top"-->
+                   <!--class="certForm">-->
+            <!--<el-form-item label="请先填写,不良记录原因">-->
+              <!--<el-input type="textarea" :rows="4"-->
+                        <!--v-model="entityForm.CertRecord"></el-input>-->
+            <!--</el-form-item>-->
+          <!--</el-form>-->
 
-          <el-divider></el-divider>
+          <!--<el-divider></el-divider>-->
 
           <div style="width:100%;height:50px;margin-top:-15px">
             <el-button type="plain"
@@ -630,6 +639,23 @@
           </div>
         </el-tab-pane>
       </el-tabs>
+      <el-dialog
+        width="30%"
+        :visible.sync="innerVisible"
+        :close-on-click-modal="false"
+        append-to-body>
+        <el-form ref="entityFormCert" :model="entityForm" label-position="top">
+          <el-form-item label="请填写变更原因" prop="CertRecord"
+                        :rules="[{ required: true, message: '请输入变更原因', trigger: 'blur' }]">
+            <el-input type="textarea" :rows="4"
+                      v-model="entityForm.CertRecord"></el-input>
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="innerVisible = false">取 消</el-button>
+          <el-button type="primary" @click="confirmCertSubStatus()">确定</el-button>
+        </div>
+      </el-dialog>
     </el-dialog>
 
     <el-dialog title="准入变化历史"
@@ -729,6 +755,7 @@ export default {
   },
   data () {
     return {
+      innerVisible: false,
       showBackReason: false,
       backReasonList: [],
       isChooseDisable: false,
@@ -846,6 +873,12 @@ export default {
         //     trigger: 'change'
         //   }
         // ]
+      },
+      CertSub: {
+        Id: '',
+        SupplierCertId: '',
+        SupplierId: '',
+        CertSubStatus: ''
       }
     }
   },
@@ -887,38 +920,43 @@ export default {
 
       return temp
     },
-    changeCertSubStatus (row) {
-      this.$confirm('确定更改此准入范围状态吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then((res) => {
-        let certSubStatus = row.CertSubStatus
-        if (!row.CertSubStatus) {
-          certSubStatus = 0
-        }
-        let params = {
-          Id: 0,
-          SupplierId: parseInt(row.SupplierId),
-          SupplierCertId: parseInt(row.SupplierCertId),
-          certSubId: parseInt(row.Id),
-          certSubStatus: certSubStatus,
-          backReason: this.entityForm.CertRecord
-        }
-        this.$axios.post('/suppliercertsub/updatestatuswithlog/' + row.Id, params).then(res => {
-          if (res.data.code === 0) {
-            this.$message({
-              type: 'success',
-              message: '更改成功'
-            })
-            this.initCert()
+    confirmCertSubStatus () {
+      this.$refs['entityFormCert'].validate((valid) => {
+        if (valid) {
+          let certSubStatus = this.CertSub.CertSubStatus
+          if (!this.CertSub.CertSubStatus) {
+            certSubStatus = 0
           }
-        }).catch(err => {
-          console.error(err)
-        })
-      }).catch(() => {
+          let params = {
+            Id: 0,
+            SupplierId: parseInt(this.CertSub.SupplierId),
+            SupplierCertId: parseInt(this.CertSub.SupplierCertId),
+            certSubId: parseInt(this.CertSub.Id),
+            certSubStatus: certSubStatus,
+            backReason: this.entityForm.CertRecord
+          }
+          this.$axios.post('/suppliercertsub/updatestatuswithlog/' + this.CertSub.Id, params).then(res => {
+            if (res.data.code === 0) {
+              this.$message({
+                type: 'success',
+                message: '更改成功'
+              })
+              this.innerVisible = false
+              this.initCert()
+            }
+          }).catch(err => {
+            console.error(err)
+          })
+        }
       })
-
+    },
+    changeCertSubStatus (row) {
+      this.innerVisible = true
+      this.entityForm.CertRecord = ''
+      this.CertSub.CertSub = row.CertSub
+      this.CertSub.Id = row.Id
+      this.CertSub.SupplierId = row.SupplierId
+      this.CertSub.CertSubStatus = row.CertSubStatus
     },
 
     savedata () {

+ 23 - 3
src/dashoo.cn/frontend_web/src/pages/select/badrecordselect/index.vue

@@ -132,10 +132,14 @@
                          prop="Jfrecord"
                          :show-overflow-tooltip="true">
         </el-table-column>
-         <el-table-column label="准入范围不良行为"
+        <el-table-column label="准入范围不良状态"
                          align="center"
-                         prop="Certrecord"
+                         prop="Bak1"
                          :show-overflow-tooltip="true">
+          <template slot-scope="scope">
+            <span style="color: #F56C6C" v-if="scope.row.Bak1 != '0'">暂停{{scope.row.Bak1}}条</span>
+            <span v-else></span>
+          </template>
         </el-table-column>
         <!-- <el-table-column label="类别名称" prop="Categoryname" align="center" width="100px"></el-table-column> -->
 
@@ -253,6 +257,7 @@
                   <el-select v-model="entityForm.WZStatus"
                              placeholder="请选择"
                              style="width:20%"
+                             disabled
                              size="mini">
                     <el-option v-for="item in options"
                                :key="item.value"
@@ -266,6 +271,7 @@
                   <el-input type="textarea"
                             size="mini"
                             style="width:100%"
+                            readonly
                             v-model="entityForm.WZRecord"></el-input>
                 </el-form-item>
               </div>
@@ -282,6 +288,7 @@
                   <el-select v-model="entityForm.JJStatus"
                              placeholder="请选择"
                              style="width:20%"
+                             disabled
                              size="mini">
                     <el-option v-for="item in options"
                                :key="item.value"
@@ -295,6 +302,7 @@
                   <el-input type="textarea"
                             size="mini"
                             style="width:100%"
+                            readonly
                             v-model="entityForm.JJRecord"></el-input>
                 </el-form-item>
 
@@ -312,6 +320,7 @@
                   <el-select v-model="entityForm.JFStatus"
                              placeholder="请选择"
                              style="width:20%"
+                             disabled
                              size="mini">
                     <el-option v-for="item in options"
                                :key="item.value"
@@ -325,6 +334,7 @@
                   <el-input type="textarea"
                             size="mini"
                             style="width:100%"
+                            readonly
                             v-model="entityForm.JFRecord"></el-input>
                 </el-form-item>
 
@@ -354,6 +364,14 @@
                           clearable
                           placeholder="请输入准入范围名称"></el-input>
               </el-form-item>
+              <el-form-item label="状态">
+                <el-select size="mini" style="width:100px"
+                           v-model="CertSubStatus"
+                           placeholder="请选择" clearable >
+                  <el-option label="准入" value="1"></el-option>
+                  <el-option label="暂停" value="2"></el-option>
+                </el-select>
+              </el-form-item>
             </el-form>
           </div>
           <el-tabs type="border-card"
@@ -874,6 +892,7 @@ export default {
       }],
       companyChooseName: '',
       certChooseName: '',
+      CertSubStatus: '',
       companyDialog: false,
       certDialog: false,
       dataList: [],
@@ -1156,7 +1175,8 @@ export default {
         _size: this.goodsSize,
         _currentPage: this.currentGoodsPage,
         _companyId: this.companyId,
-        _certName: this.certChooseName
+        _certName: this.certChooseName,
+        _certSubStatus: this.CertSubStatus
       }
       setapi
         .serachGoodsCertByCompany(params, this.$axios)